When attempting to use MODIFY_TASK to remove a manual breakpoint, it is unsuccessful.
To reproduce
1.) Create a JOBP
2.) Add two tasks - one that does a sleep 60 (lnr 2), and a script (lnr3) (this is what we will breakpoint)
3.) Execute the workflow
4.) Open the workflow monitor, set a breakpoint on the script
5.) Execute a separate script modifying the workflow (example will be attached as well):
:set &run# = 1271083 :set &lnr# = 3 :SET &RET# = MODIFY_TASK( &run#, STOP_MODIFY) : pSET &RET# = MODIFY_TASK( &run#, , &lnr#, BREAKPOINT, "NO") : if &ret# > 0 : pset &ins# = SYS_LAST_ERR_INS() : pset &msg# = GET_MSG_TXT( &ret#, &ins#) : p &msg# : endif : SET &RET# = MODIFY_TASK( &run#, COMMIT) : SET &RET# = MODIFY_TASK( &run#, GO)
Seen:
Breakpoint stays.
Expected:
Breakpoint is released.
Note: If the breakpoint is set via the workflow set breakpoint checkbox OR via scripting it is successful.
Release : 12.3
Component : AUTOMATION ENGINE
Improper handling of status internally.
This has been identified as behavior not as designed and will be resolved in a future release.
Be aware that any inconsistency in the LNR Tree of a Workflow, introduced manually on in another way, can cause the workflow to behave in a unpredictable way. For example, all internal Tasks have ended, but the end step remains in status 'Waiting for predecessor' and the Workflow indefinitely in status 'Active'. Only way to stop it will be to manually cancel it.