Wednesday 4 April 2018

One bad orchestration can ruin the entire testing platform

This problem took too long to solve, but let me tell you about it – as it might save you some time.  I’ve been creating orchestrations of various complexity and am enjoying the tasks.  There are a number of things that I’d like to see improved -

  • math_numeric handling of return values-  not everything is a string.  There needs to be some native casting capabilities.  This occurs when you create a new AN8 (for example) and then want to pass that into the P0092 form as the users AN8.  It’s passed back as a string and the orchestration does not work.  You also cannot change this.  Frustrating to need to use data service to get a number back.

image

  • You do not see return values until you save or change something in the orchestration studio

image

  • Complex logic is not going to happen in the standard development environment, you will need to write some java

image

That’s just my list at the moment, let’s settle back for the current problem though.

I just created a new custom orchestration which added a work order, nice – I’ve done this a number of times before.  Very simple form request and then an orchestration over the top.  But, something went wrong.

When I went to test it (or ANY orchestration, I did not get any parameters in the list).

It looked like the following

<Orchestration>
   <shortDesc>Add a WO for a thing that you get out of the cross reference</shortDesc>
   <inputFormat>JDE Standard</inputFormat>
   <version>v2</version>
   <inputTypes>
     <inputTypes type="String" required="false">
       <name>orch_inputszUnitNumber</name>
       <defaultValue>FR007</defaultValue>
     </inputTypes>
     <inputTypes type="String" required="false">
       <name>orch_inputszFailureDescription</name>
     </inputTypes>
   </inputTypes>
   <productCode>55</productCode>
   <orchestrationSteps>
     <orchestrationSteps type="ServiceRequest" omwObjectName="SRE_1804030006CUST">
       <name>20180403_AddWO</name>
       <outputMappings><formOutputMappings>
           <formOutputMappings>
             <formIndex>4</formIndex>
             <outputMappings>
               <outputMappings>
                 <name>235</name>
                 <id>235</id>
               </outputMappings>
             </outputMappings>
           </formOutputMappings>
         </formOutputMappings>
       </outputMappings>
       <transformations>
         <transformations input="orch_inputszUnitNumber" output="inStringUnitNumber"/>
         <transformations input="orch_inputszFailureDescription" output="szFailureDescription"/>
       </transformations>
     </orchestrationSteps>
   </orchestrationSteps>
</Orchestration>

If you were to try and import this into your orchestration studio, you might find the same problem:

image

See that all of my parameters are missing!

But, if I delete the orchestration (now that I know the one).

using P98220U

image

Yes!

It immediately starts working again

image

Very strange.

to solve this I did spend hours debugging logs, installing new tools releases, restarting everything…  deleting UDO’s and more.

If you do not see parameters in the orchestration client, take a look at the last orchestration that you created!

No comments: