TAG17=TAG37 on a FULL FILL (39=2)

I recently saw a full fill message in which tag17=tag37 on a 39=2 message. Is this compliant?

9 BodyLength 331
35 MsgType 8
49 SenderCompID
56 TargetCompID <Target Compid
34 MsgSeqNum 616
52 SendingTime 20231206-00:56:40.126
37 OrderID 3J2-U6GAD
11 ClOrdID 11
17 ExecID 3J2-U6GAD
20 0
150 ExecType 2
39 OrdStatus 2
1 Account ACCIOUNT
64 SettlDate 20240108
55 Symbol USD/KRW
107 SecurityDesc OUTRIGHT
54 Side 1
38 OrderQty 610946
40 OrdType F
44 Price 1309.41
15 Currency USD
59 TimeInForce 4
32 LastQty 610946
31 LastPx 1309.41
194 LastSpotRate 1311.57
195 LastForwardPoints -216
151 LeavesQty 0
14 CumQty 610946
6 AvgPx 1309.41
110 MinQty 610946
6203 1/4/2024
9251 Y
10 CheckSum 113

If it is a single fill to get to the full fill it is still compliant. If you have two partials for the same OrderID then ExecID for the two partial fills should be different.

Tag 17 is unique for each Execution Report Message.
In normal scenario, where multiple Execution report messages sent for different ExecutionType(Tag 39) may be 39=A,39=0,39=2. so through out the trade OrderId(37) should be the same and ExecID(17) will be different.
In your case if there is only one ExecutionReport message exchanged, so Tag37=Tag17 is compliant(if this is agreed between two communicating parties in Rules Of Engagement).