Flow Action - MRV split into RITMs

scwillson
Mega Guru

TLDR -- Custom Flow Action works 100% as expected when using the "Test" button; inputs: RITM (glide record) and MRV name (string). However, when I put it into action on an item's Flow, it completely drops the ball and I can't figure out why.

We do not use the Cart or two step checkout for our Service Catalog. We've had an increasing number of customers who like to request MRVs that end up essentially splitting each MRV row into it's own workflow. The problem is these require way too much hard coding in my opinion, but this type of build request is picking up in frequency. So I decided to build a custom action that would relay the MRV lines to respective RITMs and link to the original REQ.

 

I am very novice when it comes to digging deep into error logs, and can't figure out the source of my problem; also very confused with when running a real test, it fails, but running "Test" in Flow Designer, it works (on the very same RITM that failed). The script action utilizes sn_sc.CartJS(), and I've noticed that there are 2 error logs per item added to the Cart with the CART.addToCart(ITEM) script.

ERROR: 

JavaScript evaluation error on:
startFlowDesignerFlow(current);

function startFlowDesignerFlow(current) {
	var flow = current.cat_item.flow_designer_flow;
	var flowName = flow.sys_scope.scope + "." + flow.internal_name;

	sn_flow_trigger.FlowTriggerAPI.fireCatalogTrigger(flowName, current); 
}
Root cause of JavaScriptException: com.snc.process_flow.exception.PlanRecursionException 
: com.snc.process_flow.exception.PlanRecursionException: Plan recursion has been encountered: 	com.snc.process_flow.engine.GlideProcessAutomation.checkRecursion(GlideProcessAutomation.java:1136)
	com.snc.process_flow.engine.GlideProcessAutomation._start(GlideProcessAutomation.java:580)
	com.snc.process_flow.engine.GlideProcessAutomation$StartBuilder.start(GlideProcessAutomation.java:1532)
	com.glide.flow_trigger.engine.ServiceCatalogTriggerRunner.run(ServiceCatalogTriggerRunner.java:92)
	com.glide.flow_trigger.trigger.ScopedTriggerAPI.jsStaticFunction_fireCatalogTrigger(ScopedTriggerAPI.java:61)
	java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:566)
	org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
	org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:677)
	org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2649)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160)
	com.glide.caller.gen.sys_script_837a49f63ba013008ed00d8044efc4e5_script.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
	org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2734)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2657)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$exec$1(InterpretedFunction.java:176)
	com.glide.caller.gen.sys_script_837a49f63ba013008ed00d8044efc4e5_script.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:408)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:218)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:137)
	com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:363)
	com.glide.script.BusinessRule.runScript(BusinessRule.java:468)
	com.glide.script.BusinessRule.runSyncBusinessRule(BusinessRule.java:344)
	com.glide.script.BusinessRule.runBusinessRule(BusinessRule.java:227)
	com.glide.script.BusinessRule.run(BusinessRule.java:196)
	com.glide.script.GlideRecordBusinessRules.run(GlideRecordBusinessRules.java:264)
	com.glide.script.GlideRecord.runScripts(GlideRecord.java:1450)
	com.glide.script.GlideRecord.runScriptsAndEngines(GlideRecord.java:1388)
	com.glide.script.GlideRecord.postChange(GlideRecord.java:5373)
	com.glide.script.GlideRecord.postUpdate(GlideRecord.java:5341)
	com.glide.script.GlideRecord.updateWithoutResettingOperation(GlideRecord.java:4869)
	com.glide.script.GlideRecord.update(GlideRecord.java:4736)
	com.glide.script.GlideRecord.jsFunction_update(GlideRecord.java:4524)
	jdk.internal.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:566)
	org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
	org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:677)
	org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2649)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160)
	com.glide.caller.gen.sys_script_include_a521c8d573123010ae42d31ee2f6a7a4_script.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
	org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2734)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2657)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160)
	com.glide.caller.gen.sys_script_include_a521c8d573123010ae42d31ee2f6a7a4_script.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
	org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2734)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2657)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$exec$1(InterpretedFunction.java:176)
	com.glide.caller.gen.sys_script_2d0885b4c61122840070856bf5994bca_script.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:408)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:218)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:137)
	com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:363)
	com.glide.script.BusinessRule.runScript(BusinessRule.java:468)
	com.glide.script.BusinessRule.runSyncBusinessRule(BusinessRule.java:344)
	com.glide.script.BusinessRule.runBusinessRule(BusinessRule.java:227)
	com.glide.script.BusinessRule.run(BusinessRule.java:196)
	com.glide.script.GlideRecordBusinessRules.run(GlideRecordBusinessRules.java:264)
	com.glide.script.GlideRecord.runScripts(GlideRecord.java:1450)
	com.glide.script.GlideRecord.runScriptsAndEngines(GlideRecord.java:1393)
	com.glide.script.GlideRecord.postChange(GlideRecord.java:5373)
	com.glide.script.GlideRecord.postInsert(GlideRecord.java:5337)
	com.glide.script.GlideRecord.insert(GlideRecord.java:5260)
	com.glide.script.GlideRecord.insert(GlideRecord.java:5152)
	com.glideapp.servicecatalog.RequestNew.copyCartForRequest(RequestNew.java:361)
	com.glideapp.servicecatalog.RequestNew.copyCart(RequestNew.java:289)
	com.glideapp.servicecatalog.RequestNew.copyCart(RequestNew.java:280)
	com.glideapp.servicecatalog.CartRecord.checkout(CartRecord.java:1542)
	com.glideapp.servicecatalog.CartRecord.checkoutCart(CartRecord.java:1525)
	com.glideapp.servicecatalog.scoped.api.CartJS.jsFunction_checkoutCart(CartJS.java:603)
	java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:566)
	org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
	org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:677)
	org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2649)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160)
	com.glide.caller.gen.Process_Automation_b761c33b1bb64a50a9caed34b24bcbbf.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
	org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2734)
	org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2657)
	org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518)
	org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830)
	org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160)
	com.glide.caller.gen.Process_Automation_b761c33b1bb64a50a9caed34b24bcbbf.call(Unknown Source)
	com.glide.script.ScriptCaller.call(ScriptCaller.java:22)
	org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
	org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:597)
	org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3573)
	org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:172)
	com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:408)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:218)
	com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:137)
	com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:363)
	com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:250)
	com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:229)
	com.snc.process_flow.operation.GlidePFScriptEvaluator.runScript(GlidePFScriptEvaluator.java:49)
	com.snc.process_flow.operation.script.ScriptOperationBase.runScript(ScriptOperationBase.java:50)
	com.snc.process_flow.operation.script.ScriptOperation.run(ScriptOperation.java:75)
	com.snc.process_flow.engine.Operation.execute(Operation.java:207)
	com.snc.process_flow.engine.restricted_caller_access.ExecuteWithCallerAccessTracking.executeWithMetaStack(ExecuteWithCallerAccessTracking.java:21)
	com.snc.process_flow.engine.ProcessEngine.executeOps(ProcessEngine.java:618)
	com.snc.process_flow.engine.ProcessEngine.runInternal(ProcessEngine.java:515)
	com.snc.process_flow.engine.ProcessEngine.run(ProcessEngine.java:502)
	com.snc.process_flow.engine.ProcessAutomation.run(ProcessAutomation.java:101)
	com.snc.process_flow.engine.GlideProcessAutomation.runSync(GlideProcessAutomation.java:184)
	com.snc.process_flow.engine.GlideProcessAutomation.runWithDomain(GlideProcessAutomation.java:343)
	com.snc.process_flow.engine.GlideProcessAutomation.lambda$runAsUserSync$1(GlideProcessAutomation.java:310)
	com.snc.process_flow.engine.PFSessionClone.run(PFSessionClone.java:71)
	com.snc.process_flow.engine.GlidePFSession.runPlanAsUserSession(GlidePFSession.java:42)
	com.snc.process_flow.engine.GlideProcessAutomation.runAsUserSync(GlideProcessAutomation.java:308)
	com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:394)
	com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:373)
	com.snc.process_flow.engine.ProcessHubEventHandler.doSendMessage(ProcessHubEventHandler.java:479)
	com.snc.process_flow.engine.ProcessHubEventHandler.process(ProcessHubEventHandler.java:129)
	com.snc.process_flow.engine.ProcessHubEventHandler.process(ProcessHubEventHandler.java:97)
	com.snc.process_flow.engine.FlowEventManager.processEvents(FlowEventManager.java:168)
	com.glide.job.EventHandlerJob.execute(EventHandlerJob.java:50)
	com.glide.schedule.JobExecutor.lambda$executeJob$0(JobExecutor.java:169)
	com.glide.schedule.JobExecutor.executeJob(JobExecutor.java:172)
	com.glide.schedule.JobExecutor.execute(JobExecutor.java:155)
	com.glide.schedule.JobExecutor.execute(JobExecutor.java:149)
	com.glide.schedule_v2.SchedulerWorkerThread.executeJob(SchedulerWorkerThread.java:449)
	com.glide.schedule_v2.SchedulerWorkerThread.lambda$process$1(SchedulerWorkerThread.java:318)
	com.glide.worker.TransactionalWorkerThread.executeInTransaction(TransactionalWorkerThread.java:35)
	com.glide.schedule_v2.SchedulerWorkerThread.process(SchedulerWorkerThread.java:318)
	com.glide.schedule_v2.SchedulerWorkerThread.run(SchedulerWorkerThread.java:118)
1 REPLY 1

Kalyani35
Tera Guru

hi @scwillson 

we are facing same issue, is there any resolution for this?