2023 Sep 27 9:11 AM
Hi, I am new to SAP ME and I am wondering if there is a way to reference a data collection parameter in a routing script. For example, I have a data collection parameter that results in either a "PASS" or "FAIL". I want to reference this results and say if the result = "FAIL", return to the previous step in the routing to be reworked. Is this possible? I know there are some pre-made scripts available but I was not able to achieve my goal after messing around with them. I keep getting an error saying it is unable to reference the data collection parameter.
2023 Sep 27 9:12 AM
Hello Rachel,
Thank you for visiting SAP Community to get answers to your questions. Since you're asking a question here for the first time, I recommend that you familiarize yourself with https://community.sap.com/resources/questions-and-answers, as it provides tips for preparing questions that draw responses from our members.
Feel free to take our Q&A tutorial at https://developers.sap.com/tutorials/community-qa.html as well, as that will also help you when preparing questions for the community.
Should you wish, you can revise your question by selecting Actions, then Edit.
By adding a picture to your profile you encourage your readers to respond.
Kind regards,
Anne
2023 Sep 27 1:51 PM
Hi Rachel,
The only way to examine a data collection value from within an ME Router Script is via a SQL Query against the PARAMETRIC_MEASURE table in WIP. The documentation for writing query scripts (called formula scripts in the section) is here.
Regards, Steve
2023 Sep 27 6:12 PM
2023 Sep 28 11:11 AM
I have added in the following script:
result=getCustomItemProperty("P110_15996451_1");
if (result="FAIL")
exit(true);
else
exit (false);
where P110_15996451_1 is the parameter from the data collection that I am trying to retrieve. This parameter will always be equal to "PASS" or "FAIL". I have set the "Fail DC" routing to the code above and the "PASS DC" routing with the same code except is says if(result = "PASS")
The code does not give any errors, but when P110_15996451_1 = "FAIL" it still gives me the option of what route I want to take. The same is true when P110_15996451_1 = "PASS". Do you know why it is still giving me a choice when it should be automatically forcing one of these paths?
2023 Sep 28 1:18 PM
Hi Rachel,
First thing to do is to set up ME to debug the scripts (as defined in the link above), and then add print(result); statement following the result=getCustomItemProperty("P110_15996451_1"); assignment, to see what is actually being returned from the function. If you are getting a choice when Completing the SFC, then the router script is failing somewhere. The print() statements in the script can help you identify where the script is failing.
Also, make sure router scripts are enabled in your system; see the note at the end of this section.
Regards, Steve