[BPM] Multiple receiving steps

Hey,
found this demo for multiple receive steps.
http://help.sap.com/saphelp_nw04s/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
I tried to create a BPM with multiple receive steps, where one step could start
the process. The example needs to receive ALL steps before it starts.
How to define a BPM where ANY receive step can start the BPM?
Would like to receive different Message-Types and transform them to
a generic structure.
thanks
chris

Hi,
Use standard pattern multiple Trigger which you can find under BASIS software component under patterns namespace.
Let me brief.
First step would be fork with necessary branches(depends on how many systems are participating in requirement). Under each branch insert receive step and for each receive step you it as a start process if required.
thanks
Gujjeti

Similar Messages

  • Problem with BPM: no receive step found for message ....

    Hello,
    I have the follwing problem with a BPM ina PI 7.3 system.
    I created a BPM for the following 'process':
    We will receive an IDOC from SAP ECC, then call a synchronous webservice and finally send the result back to ECC.
    I created my BPM.
    Now when I send the IDOC, the interface is triggered but it gets stuck in the queue with message 'No receive step found for message ...'. I get this message when I go to Tx SMQ2 and try to simulate the message
    I have already refreshed the CPA cache without result however.
    in SXI_CACHE I can find my IP* and the status = '0' ( So i guess this is OK )
    I do not use correlations in my BPM.
    In my configuration I can find my sender agreement and interface determination towards the service (abstract) which is defined in the receive step of the BPM.
    Does anybody have any ideas what can be wrong ?
    Thanks,
    Erwin
    Edited by: Erwin Van Lysebetten on Oct 27, 2011 10:37 AM

    Hi Erwin, delete Integration Process  in the Directory Integration and import it again.

  • How to put another Receive step in middle of BPM

    Hi Experts,
    i built a BPM in PI 7.0, in this i used a Receive step to start the BPM. in the subsequent steps this message has sent to the extrnal business sytem through the Send step. there it processes. then after some time this business system will send another message to the PI ( same BPM). so that i put a Receive step after the Send step and followed by remaining BPM steps for further processing.(My intention is this Receive step should receive the responce messageg from the same Business system). i did all the configuration steps.
    but while execution the following error occured.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Receiver Identification
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    though i configured the proper recever detrmination.
    can anybody tell me, how to resolve this?
    Thanks in advance.
    Kumar

    hi Udo,
    i am explaining about message flow:
    first the message comes from the http client to PI,then go to BPM as Receive step, then a Trasfermation step. then a Send step to send this message to the SAP R/3 ECC 6.0 (Async Receiver proxy). there this message will be processed (say some Application). after some time this Application sends a processed message back to the PI (BPM) as sender proxy message (Async). To receive this message i used a Receive step after the Send step. and also the remaining BPM steps are continued....
    here the problem is, a Business system BS_HE6 is defined in the SLD to the corresponding ECC 6.0.
    but while execution, (SXMB_MONI)
    message from http client to the PI (BPM) is success full.
    message send to the ECC 6.0 is successful, (receiver proxy)
    message from the ECC 6.0 to PI (BPM) (Sender proxy) is showing error as follows.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Receiver Identification
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
      <SAP:MessageId>88B06F57-9673-DB45-9B71-BE954EC23A3A</SAP:MessageId>
      <SAP:TimeSent>2009-01-21T12:27:17Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Service>BSHE6_LS</SAP:Service>
      <SAP:Interface namespace="urn://LPOC">wf_resp_mi</SAP:Interface>
      </SAP:Sender>
      <SAP:Interface namespace="urn://LPOC">wf_resp_mi</SAP:Interface>
      </SAP:Main>
    - <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Receiver Identification
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    if you observe above, you can find "<SAP:Sender>
      <SAP:Service>BSHE6_LS</SAP:Service> ", but the actual business system is BS_HE6.
    i cant configure receiver determination with BSHE6_LS, because there is no Business Sytem configured as such in SLD.
    my question is , can we change the Business service name in the ECC 6.0 sytem from BSHE6_LS to BS_HE6? (because this message is comming from the ECC 6.0 as Proxy message)
    Thanks,
    kumar

  • In BPM sync/async Step , can you have different message schema?

    Scenario:
    File to XI to BPM to SOAP to RFC
    In order to trigger the  webservice , I use  a dummy file which will be polled at a certain frequency- once in 30 minutes in Test mode - this will call the Webservice. The answer of webservice is sent to RFC Async.
    so these  are the Repository objects I created :
    1. File  Outbound Async Message Interface- Output Message (File_Request_MT)
    2.File Abstract Message Interface-Output Message (File_Request_MT)
    3.Async/ sync bridge Abstract interface to call the Webservice
    4 Webservice Inbound Sync Message interface-  with both input and output message
    5.RFC Inbound Async message interface- input message (RFC_Request)
    6 RFC Abstract Async Message interface-input message (RFC_Request)
    BPM
    a) Receive step  which uses the  the object 2.
    b) Sync send which uses object 3
    c) Send  step which uses Object 5
    I am using a BPM to Receive the file data/ "request " by using the File abstract message interface
    Then use the  the object  3 to call the webservice in BPM .
    My question is on this step
    Can I have for  the abstract Interface(Object 3) the Request message  as  File_Request_MT and
    response message as (RFC_Request) ?
    I  use a message mapping  to map Input and Ouput message of Object 3 with Object 4.
    Thanks for  your insight

    Raj,
    Thanks for the feedback , but I have  a question regarding your reply
    Interface Objects
    Object 1: File_Request_Abs
    Object 2: Soap_Response_Abs
    Object 3:Soap_Abs_Synch
    Output Message:File_Request_Abs
    Input Message:Soap_Response_Abs
    Object 4:Rfc_Request_Abs
    The question is  about
    a)SOAP_RESPONSE_ABS : could you please tell me why  do we need an abstract interface -SOAP_RESPONSE_ABS?
    I created a message type MT_SOAP_RESPONSE and used that in the BPM sync Send step as the Input message.
    b)Soap_Abs_Synch- I am using message types
    MT_File_request and MT_SOAP_Response From your reponse, it looks like you are suggesting to use
    Abstract Interfaces as Output message and Input Message, am I correct? Could you please tell me whether this has advantages over using message types MT_file_request and MT_soap_reponse? I haven't used Abstract interfaces  before as Input message and output message; infact, I wasn't even aware that it can be. Please confirm that it is possible. Thank you for increasing my knowledge !!!
    These are the Objects I created
    Message Type :
    a) MT_Filerequest
    b) MT_SOAPresponse
    Message Interface
    a)MI_Filerequest_out_async -
    Output message
    Mess. type MT_filerequst
    b)MI_filerequest_async_abs-
    Mess. type MT_filerequst 
    Used
    i) used for BPM receiver step- container definition
    ii) receiver determination
    c)MI_webservice_sync_in - This is created from External definition
    d)MI_webservice_sync_abs- 
    Input message  - MT_soapresponse
    Output message- MT_fierequest
    Used:
    i) used for BPM sync send step ,
    ii)Interface mapping between  MI_Webservice_sync_in and MI_webservice_sync_abs
    iii)Container element-SOAP_response
    e) MI_RFC_async_out
    Input message
    RFC_Request(This is imported from RFC definition)
    g) MI_RFC_async_abs
    Input message
    RFC_Request(This is imported from RFC definition)
    Mapping
    Message mapping
    i)Filerequest_TO_SOAPrequest
    Source: MT_Filerequest
    Target: SOAPrequest(Got from External definition)
    ii)SOAPresponse_TO_BPM_response
      Source : SOAPresponse(got from External definition)
    Target :   MT_SOAPresponse
    Interface Mapping
    i)IM_BPM_TO_SOAP
    Source Interface : MI_webservice_sync_abs
    Target :MI_webservice_sync_in
    uses following message mapping
    Request : filerequest_TO_SOAPrequest
    Response:SOAPresponse_TO_BPM_response
    BPM container element
    i)Receiver_container  TYPE MI_Filerequest_out_async
    ii)SOAP Responsecontainer TYPE MI_webservice_sync_abs
    iii)RFC_Request_container TYPE MI_RFC_async_abs
    BPM  flow
    Receive---->Send Synch-->Transformation----->Send Asynch
    Receive -
    > receiver_container
    Send Synch -
    > receiver_container(Request Message), Soap_response_container(Response Message)
    Transformation -
    > Source(Soap_response_container), Target(RFC_request_container)
    Send Asynch -
    > RFC_request_container
    Thanks for your help!!!

  • Multiple recive step.

    Is it possible to have multiple recive step in a <b>switch,block,loop</b> with all starting the process,??
    I know its possible for a fork.since in a fork all the brances are independent of each other and..if there are 3 recieve steps for eg...in 3 brances. we cant say..which will first receive a message.So all the 3 receive step can start the process.
    But i am not clear in case of SWITCH, BLOCK and LOOP.
    Can anyone explain me please.

    Sam,
    In a block/loop u can have the multiple receive steps arranged one after other.
    The first message that arrives is assigned to the first receive step, the second message is assigned to the second receive step, and so on. Therefore, the first message is not assigned to all receive steps that are waiting for a message from the message interface.
    Also have a look at the help document.
    http://help.sap.com/saphelp_srm40/helpdata/fr/75/cc283f2bbad036e10000000a114084/content.htm
    Regards
    San

  • Problem with BPM Receive step

    Hy all,
    I have a strage Problem with a BPM Definition into a receive step. I receive from SAP System IDoc and (per dynamic receive determination) I receive it into BPM.
    But the Block that contains the receive Step can't be executed. I get following error message from XI :
    Error when executing work item '000000177354'
    Error when starting work item 000000177354
    Work item 000000177345: Object FLOWITEM method EXECUTE cannot be executed
    Error when executing work item '000000177354'
    Runtime handle of object type  could not be created
    Exception 'ex_EDIFactOrder_received' caught and transferred to the exception handler
    Error when executing work item '000000177354'
    Could anyone help me please.
    Thank's a lot.
    Mat

    I have following scenario :
    Block 1
    1) Infinite Loop with receive step
    2) exception creation (2 minutes) (parallel to 1))
    3) exception  handler (parallel to 1))
    Block 2
    1) Mapping steps + send Steps + container Operation steps (set of flag)
    2) Exception handler (paralle to 1))
    Block 3
    1) receive steps (where I get the error message)
    I hope it's OK
    Cheers
    Mat

  • Unable to see correlation in receiver step of BPM.

    Hi,
    I am designing a BPM in XI. In a receiver step I need a correlation. I am able to select a correlation from the drop down of the field "Activate Correlations" but when it is activated, the correlation is not displayed.
    I am using SAP XI 7.4 and Service Pack 9.
    I need your help. Please reply.
    Regards,
    Ashish

    Hi Ashish,
    ... seems to be an error of the GUI.
    Delete your step & correlation. Design correlation. Save & activate. Than use your correlation. Save & activate.
    Regards Mario
    Edited by: Mario Müller on Dec 28, 2007 5:10 AM

  • BPM  debugging correlation in receive steps

    HI Friends,
    In my collect messages BPM scenario pattern, correlation is not working, its appending the all the messages inspite of correlation field.
    I want to debug the correlation in receive steps or any trace file if generated after processing that gives the full flow that will be great...
    Regards
    Venkatesh

    Hi Venkatesh,
    just check your correlation condition again.....BPM will be collecting all those messages satisfying your correlation condition......
    may be you have to modify your correlation condition to get your desired output...............................
    if your correlation condition is correct and BPM is collecting those msgs which are not satisfying this correlation condition, then just edit your BPM description, save it and again activate it..............run SXI_CACHE to do a complete cache refresh........
    re-run your scenario.........then i think your this correlation error should be resolved.
    Regards,
    Rajeev Gupta

  • Issue with Receive step of BPM

    Hi all,
    I have an BPM scenario in which I send a file to the target system and then receive an acknowledgement from the system. I have used correlation in the BPM for the send and the next receive step .
    When a wrong acknowledgement is placed , the message goes to the queue with the error message "Active correlation Not Found".
    But when an right acknowledgement is placed then also the message goes to the queue with the message "Error in delivery of message to receive step of BPM ".
    The acknowledgement is received and then interface mapping is used which sends the Filename to the Integration Process which is used for the correlation.
    Please give your suggestions .
    Regards,
    Srivatsan M

    When a wrong acknowledgement is placed , the message goes to the queue with the error
    message "Active correlation Not Found".
    when there is wrong ack then there seems to be no value coming in the field which you have used for correlation....or it seems that the field itself is not coming in the wrong ack message
    But when an right acknowledgement is placed then also the message goes to the queue with the
    message "Error in delivery of message to receive step of BPM ".
    Now in right correlation the value that is coming in the correlation field is not  matching with the field for correlation of the send step...
    So the reason for both the errors is wrong correlation configuration.

  • BPM with 2 receive steps

    Hi folks,
    I want to create a BPM which can be used for 2 different IDOCS - they are both being mapped towards the same XML flavour and then send out ...
    I created a "ForEach" step with 2 branches , put necessary branches to "1" and defined a receive step in each branch representing the receival of a particular IDOC.
    This all works but for some reason the receive steps demands me to "Use a correlation" and to "Activate a correlation" ... Both options have a red question mark and there is no way I can get ridd of those question marks ...
    I am not interested at all in correlation ... I just want to kick off the bpm for any of the 2 idocs and map them accordingly ...
    I was thinking about creating a correlation on SAP IDOC number just to have it its way but I am not sure whether it is intended like this ...
    Regards,
    Steven
    Message was edited by: Steven De Saeger

    a correlation is required. try to give the correlation based on a unique field in the IDoc.
    Ref checklist - http://help.sap.com/saphelp_nw04/helpdata/en/6d/94364296f1b26be10000000a155106/content.htm
    More on correlation - /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi

  • BPM with multiple Receives

    I have an input from a File1 and this will be received in the BPM and then the input will be sent Synchronously to get a Response Back. Only after I receive the First HTTP response, I need to Receive another File say File2 in BPM.
    How to achieve the above scenario

    Hi,
    Basically add a second Receive step to the BPM after the synchronous send step. However, you must create a correlation so the engine knows exactly which File2 is to be routed to a particular process instance. You activate the correlation in the first Receive step (for File1) and use the correlation in the second Receive step.
    Regards,
    Thorsten

  • Integrtion Scenario using BPM with two sender and multiple receiver

    integrtion Scenario using BPM with two sender and multiple receiver
    How many Application Components are required?

    Hi Vinod,
    1) In integration repository you can have one or many software components it depends on your landscape orchestration
    2) In integration direcory you need at least one service for bpm and one or many for each system in your bpm
    also each connection between systems and bpm must have receiver determination and so on.
    Advice: Please treat BPM as a separate system.
    best,
    Wojciech

  • BPM: 2 synchronou receive step

    Hi everyone,
    Hi have to design a BPM which has 2 synchonous receive steps. The first I open a asynch/synch bridge. In the second one I use correlation but the receive says asynchronous receive step. This has to be synchronous. I have to sent back a message to the request.
    How can I achieve this?
    Thanks.

    Hi have to design a BPM which has 2 synchonous receive steps. The first I open a asynch/synch bridge. In the second one
    I use correlation but the receive says asynchronous receive step. This has to be synchronous.
    The Sync-Async communication means that there is a source system which operates in SYNC mode and there is one target system which cannot operate in SYNC mode....now in your scenario I cannot find a System which works in Async mode....all your communication is SYNC....so the SYNC-Async bridge concept does not apply here.
    We cannot change the process.
    Bad.....one workaround would be change the mode of first Receive step to Async....i.e. receive only the request from the sender....then in the last Send step (where you now intend to close the bridge) send the response asynchronously.
    Keep updated if the S/A bridge works without Async communication.
    Regards,
    Abhishek.

  • Mapping in BPM: how to merge results of receive steps into send steps

    Hello,
    we need the following BP:
    1. async. Receive Step: receive an IDoc
    2. sync. Send Step: WebService request using the content of an IDoc field.
    The WebService returns some data we need for the destination structure.
    3. Transformation???
    4. async. Send Step: we have to <b>merge</b> and map the Idoc fields and the
    resulting fields of the WebService into the destination structure.
    What are the basic steps and objects therefore?
    IDoc-message            X  --> |
    WebService-message Y  --> |   -->  Z dest-message
    Out problem is, how an where to get access to both Source Messages to merge them for the destiniation message?
    Regards
    Gunnar

    <i>1. async. Receive Step: receive an IDoc
    2. sync. Send Step: WebService request using the content of an IDoc field.
    The WebService returns some data we need for the destination structure.
    3. Transformation???
    4. async. Send Step: we have to merge and map the Idoc fields and the
    resulting fields of the WebService into the destination structure.</i>
    >>>>
    1. async. Receive Step: receive an IDoc - OK
    2. sync. Send Step: WebService request using the content of an IDoc field.
    The WebService returns some data we need for the destination structure. - OK
    3. Transformation - this transformation step will have 2:1 mapping. source would be IDOC and response of WS mapped to result.
    4. async. Send Step: Send the result

  • BPM - Receive Step

    Hi,
       I came across this question in one of the site. Can you please tell me which option is correct?
       Question: A message can be received by...
                1) Only a receive Step
                2) By receive, fork or loop step.
                3) By receive and block step.
                4) By send, block and fork.
    Regards,
    Vivek LR

    >    I came across this question in one of the site. Can you please tell me which option is correct?
    >
    >    Question: A message can be received by...
    >
    >             1) Only a receive Step
    >             2) By receive, fork or loop step.
    >             3) By receive and block step.
    >             4) By send, block and fork.
    >
    It can be only reciver step to receive the message, message can also be received by fork or loop but receive step inside the fork or loop must be the first step.

Maybe you are looking for