Flow Action - MRV split into RITMs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-25-2024 05:39 PM
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)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-11-2024 08:46 AM
hi @scwillson
we are facing same issue, is there any resolution for this?