iiInstanceNr | input | integer | Instance number |
icPriority | input | character | Priority to set : 'FIRST' = commit before all other business instances 'LAST' = commit after all other business instances '+<ID>' = commit after instance with this ID '-<ID>' = commit before instance with this ID |
oiReturnStatus | output | integer | Return status of the method. |
assign oiReturnStatus = -98. find first tInstances where tInstances.tiInstanceNr = iiInstanceNr no-error. if not available tInstances then return. if icPriority = "FIRST":U then do: assign tInstances.tiPriority = -9999 oiReturnStatus = 0. return. end. if icPriority = "LAST":U then do: assign tInstances.tiPriority = +9999 oiReturnStatus = 0. return. end. if icPriority begins "+":U then do: find first bInstances where bInstances.tiInstanceNr = integer(substring(icPriority,2,-1,"CHARACTER":U)) no-error. if not available bInstances then return. assign tInstances.tiPriority = bInstances.tiPriority. if bInstances.tiPriority = +9999 then assign bInstances.tiPriority = +9900. for each bInstances: if bInstances.tiPriority > tInstances.tiPriority and bInstances.tiPriority < +9999 then assign bInstances.tiPriority = bInstances.tiPriority + 1. end. assign tInstances.tiPriority = tInstances.tiPriority + 1 oiReturnStatus = 0. end. if icPriority begins "-":U then do: find first bInstances where bInstances.tiInstanceNr = integer(substring(icPriority,2,-1,"CHARACTER":U)) no-error. if not available bInstances then return. assign tInstances.tiPriority = bInstances.tiPriority. if bInstances.tiPriority = -9999 then assign bInstances.tiPriority = -9900. for each bInstances: if bInstances.tiPriority < tInstances.tiPriority and bInstances.tiPriority > -9999 then assign bInstances.tiPriority = bInstances.tiPriority - 1. end. assign tInstances.tiPriority = tInstances.tiPriority - 1 oiReturnStatus = 0. end.