Error Messages in the Flow Designer

KK2
Tera Contributor

The following error message is output when executing an action that requires approval for a form in the Flow Designer.
How to deal with it?

 

Operation:Create Approvals

Level:Error

 

Error running script engine: com.snc.process_flow.exception.PlanRecursionException: Plan recursion has been encountered:     com.snc.process_flow.engine.GlideProcessAutomation.checkRecursion(GlideProcessAutomation.java:811)
    com.snc.process_flow.engine.GlideProcessAutomation._start(GlideProcessAutomation.java:465)
    com.snc.process_flow.engine.GlideProcessAutomation.access$200(GlideProcessAutomation.java:77)
    com.snc.process_flow.engine.GlideProcessAutomation$StartBuilder.start(GlideProcessAutomation.java:1094)
    com.glide.flow_trigger.engine.TriggerRunner.startFlow(TriggerRunner.java:117)
    com.glide.flow_trigger.engine.RecordTriggerRunner.run(RecordTriggerRunner.java:99)
    com.glide.flow_trigger.engine.TriggerEngine.runEngine(TriggerEngine.java:98)
    com.glide.policy.AScriptEngine.process(AScriptEngine.java:34)
    com.glide.script.ScriptEngines.run(ScriptEngines.java:102)
    com.glide.script.GlideRecord.runScriptsAndEngines(GlideRecord.java:1358)
    com.glide.script.GlideRecord.postChange(GlideRecord.java:5147)
    com.glide.script.GlideRecord.postUpdate(GlideRecord.java:5115)
    com.glide.script.GlideRecord.updateWithoutResettingOperation(GlideRecord.java:4672)
    com.glide.script.GlideRecord.update(GlideRecord.java:4572)
    com.glide.script.GlideRecord.update(GlideRecord.java:4491)
    com.snc.process_flow.approvals.ApprovalHelper.addApprovalHistory(ApprovalHelper.java:194)
    com.snc.process_flow.approvals.ApprovalHelper.setGroupApprovalComment(ApprovalHelper.java:183)
    com.snc.process_flow.operation.CreateApprovalOperation.createGroupApproval(CreateApprovalOperation.java:581)
    com.snc.process_flow.operation.CreateApprovalOperation.createApprovals(CreateApprovalOperation.java:188)
    com.snc.process_flow.operation.CreateApprovalOperation.run(CreateApprovalOperation.java:120)
    com.snc.process_flow.engine.Operation.execute(Operation.java:202)
    com.snc.process_flow.engine.ProcessEngine.executeOps(ProcessEngine.java:536)
    com.snc.process_flow.engine.ProcessEngine.run(ProcessEngine.java:445)
    com.snc.process_flow.engine.ProcessAutomation.run(ProcessAutomation.java:66)
    com.snc.process_flow.engine.GlideProcessAutomation.runSync(GlideProcessAutomation.java:125)
    com.snc.process_flow.engine.GlideProcessAutomation.runWithDomain(GlideProcessAutomation.java:235)
    com.snc.process_flow.engine.GlideProcessAutomation.lambda$runAsUserSync$1(GlideProcessAutomation.java:204)
    com.snc.process_flow.engine.PFSessionClone.run(PFSessionClone.java:68)
    com.snc.process_flow.engine.GlidePFSession.runPlanAsUserSession(GlidePFSession.java:42)
    com.snc.process_flow.engine.GlideProcessAutomation.runAsUserSync(GlideProcessAutomation.java:202)
    com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:286)
    com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:270)
    com.snc.process_flow.engine.ProcessHubEventHandler.doSendMessage(ProcessHubEventHandler.java:453)
    com.snc.process_flow.engine.ProcessHubEventHandler.process(ProcessHubEventHandler.java:111)
    com.snc.process_flow.engine.ProcessHubEventHandler.process(ProcessHubEventHandler.java:83)
    com.snc.process_flow.engine.FlowEventManager.processEvents(FlowEventManager.java:118)
    com.glide.job.EventHandlerJob.execute(EventHandlerJob.java:37)
    com.glide.schedule.JobExecutor.lambda$executeJob$0(JobExecutor.java:129)
    com.glide.schedule.JobExecutor.executeJob(JobExecutor.java:132)
    com.glide.schedule.JobExecutor.execute(JobExecutor.java:116)
    com.glide.schedule_v2.SchedulerWorkerThread.executeJob(SchedulerWorkerThread.java:328)
    com.glide.schedule_v2.SchedulerWorkerThread.lambda$process$0(SchedulerWorkerThread.java:210)
    com.glide.worker.TransactionalWorkerThread.executeInTransaction(TransactionalWorkerThread.java:35)
    com.glide.schedule_v2.SchedulerWorkerThread.process(SchedulerWorkerThread.java:210)
    com.glide.schedule_v2.SchedulerWorkerThread.run(SchedulerWorkerThread.java:101)

1 ACCEPTED SOLUTION

Maik Skoddow
Tera Patron
Tera Patron

Hi

The PlanRecursionException is thrown when there is a recursive call to the flow itself from within the flow.

The recursion might be in any of the steps, including custom scripts or even in the Trigger's "Run Trigger" which might be set to 'For each unique change' (and there is an update to the trigger record in any of the flow steps).

Make sure that there are no recursions in the flow.

Maik

View solution in original post

2 REPLIES 2

Maik Skoddow
Tera Patron
Tera Patron

Hi

The PlanRecursionException is thrown when there is a recursive call to the flow itself from within the flow.

The recursion might be in any of the steps, including custom scripts or even in the Trigger's "Run Trigger" which might be set to 'For each unique change' (and there is an update to the trigger record in any of the flow steps).

Make sure that there are no recursions in the flow.

Maik

maniGan
Tera Contributor

I am getting same error for OOB flow, can you let me know what fixes you have applied. 

 

Thanks,

Mani