Switch  in bpm

I have a bpm process with a few switches in it ( 4) and one switch has three branches and 3 of them only 2. The problem that i currently have is that almost random the conditions for the switches are used incorrectly.
If a activate again then suddenly another swithc is working incorrect. i checked my cacha and that is up to date and my conditions are simple xpath statements on a string field and checking if it contains PASS. I found one other person with this problem,  Problem with Switch Step in BPM from Yaseen

Hi Frank,
Are you checking for the same field with the same condition in more than one branch by any chance, or is the result of any one check affecting the result of another check in any way. Basically, just check if the switch statements are getting "confused":)
Regards,
Sushumna
P.S. Generally, there is a problem with the return code when a switch statement is used and this generally gets resolved by refreshing the cache.

Similar Messages

  • How to do comparison on fields in Switch in bpm?

    Hi,
    I have a switch step in bpm to check the condition if the Qunatity for each line items of PO from the OrderResponse xml match with the quantity for each line ltems of PO in OrderCreate xml, I checked the MultLine checkbox for the field Quantity in Xpath in expression editor, so the switch can handle comparsions for multiline items line by line, which is fine, but it only seems to do the comparsion based on the sequence of the line item, if I have LineItem 10, quantity 20 in the first row and LineItem 20, Quantity 30 in the second row from OrderCreate message , and LineItem 20, Quantity 30 in the first row and LineItem10, quantity 20 in the second row from the OrderResponse message, logically they are same, just in different format, however, switch in bpm compares line by line in the order, anybody have any suggestions on how to do the comparison based on LineItem number? Or have similar examples?
    Thanks,
    Hy

    Hi,
    you can compare both much easier in a mapping
    (either in a java mapping - this way you'll be able to handle
    all lines as you wish) or you can try to compare them with message mapping
    and then just post the result to a target message and use the result from
    the target message in your switch step
    Regards,
    michal

  • Multiple records using switch in BPM

    Hi,
    Below is the input file i am having.
    <?xml version="1.0" encoding="utf-8" ?>
    -<ns2:MT_Receiver xmlns:ns2="File2RFC">
    <Details>
    <Availability>5000.000</Availability>
    <Message />
    </Details>
    <Details>
    <Availability>1000.000</Availability>
    <Message />
    </Details>
    <Details>
    <Availability>0</Availability>
    <Message>Material Test not maintained in plant 1100</Message>
    </Details>
    </ns2:MT_Receiver>
    I want to divide this input file into two parts based on one condition. If the Availability!=0, then it should display the available quantity. or else, it should get suppliers from the webservice.
    For this reqiurement, i have used the switch case. but it is not working. It is considering only the last record, For eg, in this input file the last record is having Availabilty=0. So it should go to webservice and display the suppliers. But all the 3 records are going to the else branch and giving the supplier details.
    Could you please tell how to resolve the issue.the Availability which is present should go to one branch and the remaining records should go to the else branch. Please help me in this regard.

    Hi, Leelaratnam:
    What Anand mentioned is to split the message based on your node of "Details":
    Each "Details" node will generate new message which only have one <Availability> elements (u will need another message type)
    Then you can pass to your webservice, avoid your problem that only last <Availability> passed to webserivce.
    You will have a multi-mapping (1:n)
    in you BPM, you will have transformation step, then a block (ForEach) to process your splitted message one by one.
    Yes, this is one solution.
    Check my previous response, you will just need one mapping program, one transformation step, you can also achieve your purpose. However, in your mapping program, you need to code a UDF to do a lookup.
    Regards.
    Liang

  • BPM and Multimapping

    Hi All,
    I have a scenario FILE-XI-SAP.I am using file adapter and RFC adapter.I have to do GL and AR posting in sap thru one BAPI.I am getting one data file.Depending on data in one of the field I have to do the posting either GL or AR.
    I dont want to do very complex mapping by putting IF else condition since I will be getting this type of posting from 15-20 systems.
    Can I do it thru BPM?
    I will maintain differnt mappings.
    How will I incorporate these mapping in BPM?Is it
    done thru multi mapping.If yes how?
    Any help appericiated.
    Rekha

    Hi Rekha,
    You can use switch in BPM where check the condtion for GL or AR . If value is AR, process in one branch otherwise if its GL it will be processed in else branch. You can have your mapping accordingly in the respective branch.
    Hope you are not going for synchronous scenario. Otherwise Async/sync bridge is required.
    Hope it helps.
    cheers
    Satish

  • Receiver Determination in BPM, SP16

    hi,
    I was able to configure multiple receivers succesfully with all your help. Thanks.
    Now i have to switch this to BPM beacuse i need to add some error handling logic, so i have to switch to BPM.
    In this process will i be able to use my old configuration(cofiguring multiple receivers without BPM)?
    If so how? If not should i have to redo this completely using BPM. There are 13 Suppliers now. So will there be that many receiver determinants in BPM?
    Any tips would greatly help.
    Thanks,
    Tirumal

    Udo and Vijaya -
    In the receiver determination in Integration builder:configuration earlier i used to have IDOC to XML.
    So the Receiver Determination for different receivers was configured based on the conditions.
    Now i have created a BS where in i convert the IDOC -> Abstract IDOC, Abstract IDOC -> Abstract XML.
    In the Integration Process i have the Start, Receive (Abs IDOC), Transform(Abs IDOC to Abs XML), Send(Abs XML), Stop.
    The first receiver determinant, i have IDOC to abstract(BPM) configured correctly.
    But while i select the BPM as the sender, i should be able to select the Abs IDOC but i can select the Abs XML here.
    Any clue why i am not seeing abstract.
    Thanks,
    Tirumal

  • Help in BPM: Routing data to mutiple receivers based on field content

    Hi All
    I have a scenario where my source data is from a file. Typically this file is from a DMS application and based on the contents in this file i need to send the data to 2 receivers which might be R/3 and DB or file. Though BPM may not be of use for this scenariuo i want to make use of BPM:
    Q: My file content looks like:
    1200,fombell,12,1200.50,ea,tetra
    1900,fombell wdc,2,200,ea,magneta
    2020,morris,1,12.50,Pc,frp_films
    2020,morris,10,1200,Pc,xr_tutos
    field separator is  ,
    primarily my first field is a plant and based on the plant i need to send the data to R3 and File or DB. If i make use of switch in BPM i'm not able to read the entire list of the message. it checks only for the last record. how to goahead with this and kidnly let me know in details the steps involved.
    Thks
    Prabhu

    Hi Prabhu,
    Just to suggest i guess its always better to avoid BPMs to improve your performance...
    Your requirement can be easily met using the Extended Reciever determination that we have...
    Here actually based on condition from the message in the payload u can assign your receivers..
    Below is the steps to do the same...
    Under Receiver Determination --> Configured Receivers --> Specify the 2 receivers and beside the same you have an option called condition, there you specify the condition on which it has to go to the first system and then the condition on which it has to go to the second system.
    When you click on the codition it will open another window (Condition Editor window) under which you have a Left Operand which when you click will open up another window(Expression Editor window), there for your need you check on the XPath radio button and then click on the field whose value you wanna check from the structure that it displays, when you click on the field it fills in the XPath Expression, then click ok.
    After that it takes you back to the previous window(Condition Editor window) with the Left Operand having the XPath Expression, so all you will have to do is to fill the Right Operand which is nothing but the value you want that field to contain.(For Example if a field "A" that you have selected which comes in the XPath Expression in ur Left Operand,has a value "1" in your Right Operand)
    There you also have an option to put in an "and" or an "or" condition if required(For Example if you wanna check if "A" and "B" is satisfied or it you wanna check if "A" or "B" is satisfied, this can also be done)
    I also suggest u to go through these blogs..
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    If you have any doubts or clarifications on the same, please do ask and i will tell you how to proceed.
    Regards,
    Abhy

  • Error in Condition Editor

    Hi,
      Does anyone know a weblog which describes the steps for defining step type switch in BPM.
    I have defined a condition in the condition editor. It gets saved and activated. But when I check in the SXI_CACHE transaction it shows the following error Left Operand not a component of data object 'PAYLOAD'.
    rgds

    Hi Prashant,
    Not sure if these links will provide the solution, These describe the process:
    Switch:
    http://help.sap.com/saphelp_nw04/helpdata/en/6a/db283fd0ca8443e10000000a114084/content.htm
    Condition Editor:
    http://help.sap.com/saphelp_nw04/helpdata/en/67/49767669963545a071a190b77a9a23/content.htm
    Examples using switch:
    http://help.sap.com/saphelp_nw04/helpdata/en/03/82d93fe80fed06e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/d1/c8de3fc6c6ec06e10000000a1550b0/content.htm
    Cheers,
    Chandra

  • BPM switch gives error.

    Hello everyone.
    I have a BPM scenario where I use a switch. Based on content in the received message I would like to either perform a transformation or cancel the process.
    But whenever I activate my scenario and look in SXI_CACHE, the BPM scenario shows error 99. Looking further into the error, it displays this message: 'VALIDFORARCHVING' is not a component of data object 'PAYLOAD'
    Currently I'm checking the value through a context object, but I've also tried checking it with XPATH and through a BPM variable. Still I've got the same problem.
    What am I missing in my setup?
    Best regards,
    Jacob

    This is a KNown issue with SP14...
    Are you on SP14.. ?
    Pls apply this OSS note..
    Thnaks,
    Renjith
    sorry here is the note number...890760
    Message was edited by: Renjith Andrews

  • BPM process switch/fork is not processing!!

    Hi Guys,
    I have scenario for 1:n multi mapping using BPM. In my BPM just I have got 5 steps, the first one is receiver,  next step is transformation (workinig fine), switch with 2 branches, on branch one Sender 1 to SNC (Prod Active Notific) and on second branch has got Sender 2 for (ProductDemandInfluencingEventNotification) to SNC. The process is coming upto Switch, the process is not coming into Swithch step to send these messages to sender? what is the condition for Switch step? I put it like (1=1), message is not processing completely.
    Any valuable inputs for this please?
    Many Thank in advance
    San

    Hi biplab das ,
    Many thanks for very quick reply. I have tried both. Let me explain you my scenario, please give me your inputs on that!!
    Sender side xml messages comes with couple of messages. What I need this xml has to split into two message types "Product Activity Data" and "Product Influence Demand", each message goes with multiple messages, as follows:
    <Root>
       <output>
       <output>
       <output>
       <output>
       <output>
    </Root>
    Each output message got multiple submessags. Couple of submessages has go under "Product Activity Data" and Couple of other messages has go under "Product Influence Deman"
    Mapping is working fine. Messages are splitting.  I have configure BPM as follows:
    Setp 1---- Receiver --- > Receive the message
    Setp 2 -
    Mapping -
    > Messages are splitting
    Step 3 -
    Fork Step ---> with 3 Branches , Branch 1 for, 1 Receiver Determination and 1 Sender --> Product Acitivity Data
                                                                           Branch 2 for , 2nd Receiver Determination and 2nd Sender --> Product Influence D
                                                                           Branch 3 for throw Alert
    I can this message is failing on Moni, I opened PE, the graphical represenation shows error on Sender1 and Sender2.
    Please can you advice me in this.
    Many Thanks
    Regards
    San

  • Prblem with Switch step in BPM

    Hi all,
    I have a problem with a switch step in my BPM. The condition on my BPM is that I have an xpath and that should have a particular constant value. If true, then proceed or else passs through the otherwise branch. The success branch has a transformation and a send step. The otherwise has a control step with an Alert category defined.
    So the BPM is like
    Receive message --> Switch (XPath condition a particular node must have a value not equal to zero.) --> if tru then transformation and send step otherwise control step.
    This all works fine as expected when I pass in the correct message format. The problem is, if I send in a message of a completely different structure, it is still going through the otherwise step of the switch case and not erroring out. The BPM is not erroring out no matter what message I pass in.
    Ideally I am expecting it to error out and send an alert message according to the category.
    could somebody please help me on this?
    Thanks
    Karthik

    Thanks for your reply. I already did go through that thread. The switch case works fine for correct conditions and wrong conditions. The problem is, there is no error being generated when the input message is not in a recognizable structure. Switch goes on to otherwise path is I just pass in some random file.
    My question is, why dint the BPM error out when the XPath itself failed..meaning the structure itself is wrong?
    Please reply.
    Thanks
    Karthik

  • How to check condtions for multilines in switch step in bpm?

    Hello,
    I am implementing a scenario that send PO create Idoc(orders.orders05) to bpm and bpm receives an OrderResponse from File adapter, I have a switch to check the condition if the Qunatity for each line items from the OrderResponse xml matche with the quantity for each line ltems in OrderCreate, but I don't know how to specify mulitline containers in conditon editor, currently the system only takes the quantity from the first line item.  Any suggestions or other recommendations?  BTW, here is the blog talks about modeling multi rows for incoming message, didn't totally get it...
    Using BPM (Blocks) when Incoming message has multilple rows
    Thanks,
    Hy

    Hi,
    go to Condition Editor-->After selecting your message in the LeftOperand -->then it will lead into Expression Editor there you can see a check box stating "Multiline".
    This will be enabled , if you choose option of XPATH in this Expression Editor.
    Hope this helps,
    Regards,
    Moorthy

  • BPM: XPath-Condition in Switch Step

    Hello,
    I have the following requirement in BPM.
    There is a switch step with five branches, and I have the following document structure:
    <Root>
    <Segment>
       <Docnum> 12345 </Docnum>
    </Segment>
    <Segment>
       <Docnum> 12346 </Docnum>
    </Segment>
    </Root>
    The switch condition is done based on the last digit of the first Docnum element. So in this case the value would be 5.
    I tried to work with a substring as the total number of digits of docnum is always 5.
    How would an XPath expression look like to retrieve the substring from the first <Segment> element? I tried different combinations but none of them really worked.
    Example what I tried: p1:/root/Segment[1]/substring(docnum, 4,1)
    Any advise on this?
    Thank you very much

    Try this...
    substring(/p1:/root/Segment[1]/docnum,4,1)
    for more info see
    http://www.w3.org/TR/xpath
    Message was edited by:
            Alex

  • Switch step is not processsing 2nd Branch in BPM !!

    Hi Guys,
    One BPM question please. I have got one BPM scenario as follows.
    One XML is splitting into 2 messages. First Target message has got 'n' number of messages and 2nd Target messages has got 'n' number as well. I need to process these two target split messages into ERP ABAP proxy.
    I have put
    1st step :receive step,
    2nd step: transformation step to split,
    3rd step :  switch with 3 branches
    4th step: first branch for Target1 split - on this branch I did put ForEach block in the block Sender (Async)
    5th step : 2nd branch for Target2 split - on this branch I did put another ForEach block, in the block Sender (Asyn)
    6th Step: Exception branch for alert.
    receive step is ok, transformation step also ok, First split goes into branch one, triggering messages to ERP. But 2nd branch is not executing at all.
    Please guys can any one solve this issue? Why the second branch is not executing at all, process is completing with out processing 2nd branch?
    Regards
    San

    I resolved myself.
    Thanks
    San

  • SWITCH step in BPM

    Hi,
    I am designing one BPM.
    In my incoming payload there is one field,on the basis of this field I have to decide receiver in runtime.
    Please guide me to disgn this BPM.
    I have put switch step ,but I am getting error in BPM.
    Waiting for reply.

    Hi,
    Check this links
    /people/daniel.graversen/blog/2006/09/07/using-a-bpm-to-collect-messages-for-a-set-interval-of-time
    This is really a good document about BPM
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c071d7bb-0601-0010-d6b8-f4e4dc7f1e20
    Thanks,
    Prakash

  • Problem with Switch Step in BPM

    Hi,
    I am using Switch Step in BPM, to check a condition. I created following condition (App_Resp./p1:App_Resp_MT/Response = true). The mentioned is correct and it should succeed but it is failing. Its going thru OTHERWISE branch. Can anybody help me to solve this out?
    Thanks,
    Yaseen.

    HI,
    I checked in the workflow the xml file generated contains value 'true'.
    Its not multiline and looks xpath reflects for the changes made.
    I think it may be problem that needs to deploy any OSS notes.
    Please throw some idea.
    Thanks,
    Yaseen.

Maybe you are looking for

  • Schedule lines and complete delivery indicator

    Hello, If complete delivery indicator is set at header level of the sale order, the system confirms all the line items with the latest delivery date among the items, even though a few items may be available for delivery earlier. Subsequently VBEP tab

  • Error in source system in BI 7.0...

    Hi,      When creating a source system in Bi 7.0, when i am going to t code- rsa1- client-right click and then check,it's giving an error like: EDI-  partner profile not available and then detail for this error is-- a partner profile cannot be found

  • I can not download multiple things from a website all at once it gives javascript error

    i have been trying for awhile at this website to download multiple things at once and i keep getting a javascript:void 0 error..it did not happen until i upgraded firefox here recently..i would love for this to be fixed as i do use this site alot

  • Need to access a parameter in a super class method

    Hi, I have the following setup: class A{     exceptionHandler(Throwable ex, int iNeedThis); class B extends A{     execute();     func1{}; }When execute() fails, the ecexptionHandler method is automatically called. In func1() of class B I need to acc

  • Como cambiar el servidor de SQL en versión 8.8 SP00 PL07

    Estimados: Alguien me puede decir como cambiar de servidor de SQL en versión 8.8 SP00 PL07 En la versión 2007A, en la pantalla para seleccionar sociedad estaba el botón para cambiar sociedad, pero en esta no aparece. Atento a comentarios, saluda. Man