You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SetAbort("Update the Internal Processing Status Code to 'Abort'")
417
+
IsActive{"Is the Batch enabled?"}
418
+
SetCancel("Update the Internal Processing Status Code to 'Cancel'")
419
+
IsRollback{"Is the rollback required?"}
420
+
Rollback("Perform Rollback")
421
+
End("End of the process"):::Main
422
+
end
423
+
424
+
%% Edges
425
+
Start --> CheckMultiple --> IsMultipleInstances
426
+
IsMultipleInstances -- Yes --> SetAbort
427
+
IsMultipleInstances -- No --> IsActive
428
+
IsActive -- No --> SetCancel
429
+
IsActive -- Yes --> IsRollback
430
+
IsRollback -- Yes --> Rollback
431
+
Rollback ----> End
432
+
IsRollback -- No --> End
433
+
434
+
%% Styling
435
+
classDef Main fill:#BBDEFB,stroke:#1976D2,stroke-width:2px
436
+
```
337
437
338
438
1. If there are more running instances for the same Module only the first one is allowed to continue, the other active Instances must be aborted. This means that the current in-progress Module Instance for which the check is done needs to query if it itself is in the earliest (MIN) of the set of active Instances for the Module. If this is true, the Instance can continue. Otherwise it will be flagged to be aborted (Internal Processing Status Code `Abort`).This will trigger an update of the `MODULE_INSTANCE` table to set the Execution Status Code to `Aborted` for the current Instance and avoid executing of the regular Module logic
339
439
@@ -477,4 +577,4 @@ If a rollback impacts a table associated with the source control logging table i
477
577
478
578
```sql
479
579
DELETEFROM SOURCE_CONTROL WHERE MODULE_INSTANCE_ID IN (<Instance array>)
0 commit comments