question about creating Orchestration.

I created an Orchestration by following the SBM 300 training exercise, and got the following error of "BuildWhereClause" step:

Can someone help with the issue? Thank you

  • Verified Answer

    +1  

    Composer is giving you clues with the red underlines. Those are showing the parts that it does not like.

    I believe the path (starting with the "return") should be more like:

    \return\item\extendedData\data[1]\value

    You are missing "item", extendedData should not have square brackets, and "value" should not have square brackets. Instead, the square brackets go on the data element.

    See if that helps.

  • 0 in reply to   

    Thank you Vickie,

    Just like your advice. I added item to the string. like:

    This is deployed without issues. I realized extendeField need be used like: \extendedField[id\dbName="LEAVE_REQUESTS"]\value[1]\...

    What is the different between extendedData\data[1] and extendedField[...]\value[1]

    Thank you

  • 0   in reply to 

    I see a mistake in my original answer too. I said "extendedData" but it should be "extendedField". Sorry for the confusion. It looks like you figured it out. Slight smile

    If you want the short answer, scroll down to the part marked ***.

    For the long answer: Rather than just tell you how this works, let me explain more about how to find the path to use.... All the documentation references below are from the web services documentation. I know you are working with orchestrations. References do display slightly differently in the orchestration editor, and there is some learning curve to understand how the documentation translates to the orchestration screen. Don't let this discourage you. With a little practice you will understand in no time.

    We can see in the above code that you are trying to look at the results which were returned from the "GetItem" web service call. (This is the part written as "GetItem\GetItemResponse\return") In the documentation for GetItem here:

    GetItem - Solutions Business Manager (microfocus.com)

    it tells us that the response will come back as type "TTItemHolder". So, now we need to look at TTItemHolder to understand the rest of the format.  TTItemHolder documentation is here:

    TTItemHolder - Solutions Business Manager (microfocus.com)

    This tells us that the Item information is held in another type called TTItem. 

    Orchestrations reference this using "item", so now we have "GetItem\GetItemResponse\return\item"

    (As you can imagine, TTItem is the most common type used by the SBM web services, so this is a good one to learn more about.)

    Each parameter of the TTItem is explained in the documentation here:  TTItem - Solutions Business Manager (microfocus.com)

    *** In the TTItem documentation, notice that "extendedData" says "Placeholder for future arguments". Basically, this option is not used today but may be used in the future. Instead, you should use "extendedField". This is where all other fields are stored.

    When in the orchestration, when we use extendedField, it gives this popup. Notice the option with the square brackets. (I have never understood why it gives the option without square brackets. It doesn't do anything. I don't know why it's there.)

    Every item can had 1 or more fields in the extendedField section, so you need to use the square brackets to specify the index of which field you want to see. This gives us "GetItem\GetItemResponse\return\item\extendedField[x]\"

    We can see in the documentation that extendedField is type "NameValue". The documentation for this is here: NameValue - Solutions Business Manager (microfocus.com)

    Finally, the field's value is in type FieldValue, which is documented here: FieldValue - Solutions Business Manager (microfocus.com)

    From inside the FieldValue, you can get the display value, or internal value, or UUID value.

  • 0 in reply to   

    Thank you, Vickie for your detailed response.

    I have tested and there is no deploy issue, but I still can't get the correct. The value of the Balance field doesn't change after calling Orchestration. I am going to focus on Orchestration in the future. I have tried Modscript to change the value and I will open a new session to discuss it.

    Thank you for your hard working.