Skip to Content
author's profile photo Former Member
Former Member

Conditional processing based on UDF in payload S

Hi all,

I am trying to add a conditional processing atom in my flow which executes based on the value in a UDF in the msg.

I have 1 path branch and the otherwise branch.

I use follwing xpath syntax:

/*[/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']/BOM/BO/Documents/row/U_docentry_bv='']

My inbound messages stay in processing and don't go further. Neither branch is being executed.

Can anyone help me with this?

Thx,

Joeri

Edited by: Joeri Vlemmings on Dec 13, 2011 4:05 PM

I noticed that when I debug, the xpath statement is being handled correct, and the correct branch is beinig executed.

But when I trigger my flow the normal way (inbound SBO order), the flow holds in processing.

The message looks as follows :

<?xml version="1.0" encoding="utf-8" ?>

- <Msg xmlns="urn:com.sap.b1i.vplatform:entity" MessageId="111213153049599408750A0000CBA820" BeginTimeStamp="20111213153049" recording="false" logmsg="0000" SubMessageId="3" status="success" msglogexcl="false" MessageLog="true">

- <Header>

<msglog step="Default message log" always="false" b1ifactive="true" />

- <Resumption>

<starter ipo="/vP.0010000112.in_BEAE/com.sap.b1i.vplatform.runtime/INB_B1_EVNT_ASYN_EVT/INB_B1_EVNT_ASYN_EVT.ipo/proc" />

<restart id="processing" q="Q.PRC_B1.0010000112" s="S.DBS.ELD.SO2SO" u="111213153049599408750A0000CBA820.3" />

</Resumption>

<ProcStream>S.</ProcStream>

<IPO Id="INB_B1_EVNT_ASYN_EVT" tid="111213133400599408640A0000CB6406" />

<Sender Id="0010000112" ObjId="17" />

<vBIU Id="DBS.ELD.SO2SO" SId="DBS.ELD.Intercompany" filter="" phase="S" />

<Successor Id="" Mode="" />

<Identification Ident="B1 Event" IdPar="n.a." />

<nsList />

</Header>

- <Body>

- <Payload Role="T" Type="B1Event" add="">

- <Event xmlns="" B1EventFilter="false">

- <b1e:b1events xmlns:b1e="urn:com.sap.b1i.sim:b1event">

- <b1e:b1event>

<b1e:eventsource>SBODemoNL</b1e:eventsource>

<b1e:objecttype>17</b1e:objecttype>

<b1e:transactiontype>U</b1e:transactiontype>

<b1e:usercode>Mark Manager</b1e:usercode>

<b1e:userid>manager</b1e:userid>

- <b1e:keys count="1">

- <b1e:key>

<b1e:name>DocEntry</b1e:name>

<b1e:value>247</b1e:value>

</b1e:key>

</b1e:keys>

<b1e:sourcesite>PANDA</b1e:sourcesite>

</b1e:b1event>

</b1e:b1events>

- <b1ie:B1IEvent xmlns:b1ie="urn:com.sap.b1i.sim:b1ievent" SysId="0010000112" SysTypeId="B1.8.8" Task="U" LocalObjectType="17">

- <b1ie:PrimaryKeyList>

<b1ie:PrimaryKey Key="DocEntry" Value="247" />

</b1ie:PrimaryKeyList>

</b1ie:B1IEvent>

</Event>

</Payload>

<Payload Role="S" />

</Body>

</Msg>

As you can see, there is no Payload 'S'.

When I remove the conditional processing from my flow, everything is fine and the scenario gets executed.

Please help... 😊

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Dec 15, 2011 at 09:51 AM

    Hi all,

    I found the solution!

    The problem was not directly in the conditional processing but in the output

    message.

    In atom0, which populates the output xml file, the complete message

    (msg/* with receiver data etc) was not copied.

    I had a look in the example B1PO2B1SO, and saw that there

    was /bva:unbranch/ before the msg to get it copied to the next steps.

    <xsl:variable name="msg" select="/bfa:unbranch/vpf:Msg/vpf:Body/vpf:Payload[./@Role=&apos;S&apos;]"/>
    	

    I added this to my atom0 and it works!

    Grts,

    Joeri

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.