When i am running my refresh identity cube task with process event based on termination date my liver is triggering. But issue is that the same identity received multiple Disable requests. How can i handle this or how can i stop this via changes. Please suggest best way to debug or change in my trigger condition.
Also first time it triggered successfully and disable all the account but after that creating so many request as below in pending
00012472
00012473
00012474
this is my trigger condition
System.out.println(“LCE leaver Trigger Rule Started”);
return isTriggerLeaverRule(context, previousIdentity, newIdentity);
System.out.println(“LCE leaver Trigger Rule Ended”);
Is Leaver triggered multiple times or just disable part of your Leaver workflow process is called multiple times.
Are you using Rule for your Leaver Identity Trigger. If conditions are not handled properly in the Rule being used for identity trigger this can happen for example you may be checking if today’s date is termination date and this may be true whenever identity refresh runs throughout the day. You have to make sure you handle it by checking for another attribute like LeaverLaunched that you would set as soon as your Leaver workflow is started.
Though you have mentioned you are using isTriggerLeaverRule its not clear what’s happening within this rule/method.
Helo Aman. Since only the Disable part repeats, I would first check whether requests 00012472, 00012473, and 00012474 came from separate Leaver workflow launches or one execution. Task Results, WorkflowCase XML, or logs should help narrow this down.
Looking at your rule, the status condition compares old and new values, but the Selector checks only newIdentity. If the identity continues to match, it can trigger again. For an attribute-based selector, try:
If the condition is date-based, this comparison may not help, since the termination date itself does not change. Instead, consider a persisted leaverLaunched flag, checked before any branch returns true and set when the workflow starts, before disabling accounts. I would also review the Custom Rule conditions and confirm whether the assignmentStatus null checks are intentional. Finally, test a second identity refresh to confirm no additional disable request is generated.
would you please kindly confirm that solely a single instance of the Leaver workflow is triggered.
I have to admit that I’m not yet sure if you are facing multiple launches of the workflow (which is somehow expected behavior) or multiple executions of a step within a single workflow instance.
IIQ is evaluating trigger rules multiple times and you will be able to observe that behavior by adding some log outputs to your trigger rule.
Also you can find details about that behavior explained here:
As already mentioned you have to find ways to prevent multiple launches of the workflow either by populating some kind of “launch attributes” or checking if a workflow instance was already launched for this occurrence of the Lifecycle Event.
You may also find the following discussion helpful: