Using MODIFY_TASK to remove manual breakpoint does not work but returns code 0

book

Article ID: 205797

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic Workload Automation - Automation Engine

Issue/Introduction

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.

Cause

Improper handling of status internally.

Environment

Release : 12.3

Component : AUTOMATION ENGINE

Resolution

This has been identified as behavior not as designed and will be resolved in a future release.


Additional Information

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.