Correlation - Expiration of Receiving Step

Dear all,
In our scenario, the ccBPM integration process needs to send an asynchronous messge to an external service provider and wait for some time to get the response. If e.g. 2 days passed without response received, the integration process has to report an error.
How can I specify the expiration time for the correlation message receiving?
Thanks, Jerome

Hi Jerome,
Just want to add one more thing..
Dont forget to do run transaction code <b>SWF_XI_CUSTOMIZING</b>.ie Automatic BPE Customizing.
<i>Click on Maintain Runtime Environment .
Schedule background job for deadline monitoring.</i>
There are back ground jobs which runs and checks if any process has passed deadline. So over there you can set the time in which the back ground job should run. i.e if you want the process to wait for a minute and then throw an alert/error then you should make sure that the back ground job is scheduled in a timeframe of 1 minute.
Regards,
Sumit

Similar Messages

  • Problem when defining correlation with subsequent Async Receive Step.

    Hi, all:
    We have defined a BMP process, like below:
    Receive (Start Process) --> Sync Send --> Sync Send --- Async Send
    Now we need to have additional steps added into the process: Async Receive.
    Now we have problem defining the correlation:
       Since this Async step is not the start of the process, we have to use correlation, if we leave it blank, a red question mark stays, and we can not active BPM.
       When we define the correlation, we just expect one message type to be received from a Async system.
       In the correlation condition editor window, we would like to choose "Interface Variable" and assign value to the container element that reference the asbtract interface.
       however, when we selection optiontb "Interface Variable", there is value "interface" already fill up, we can not select container element from the elements list.
    Any one has such experience ?
    Thanks in advance !
    John

    Hi
    I think you are facing problem with corrrelation. Follow this procedure to define correlation : -
    1. Switch from Container window to Correlation List, here define a correlation variable.
    2. Now switch from Graphical Editor to Correlation Editor.
    3. There in Correlation Name choose your Correlation variable.
    4. In the Correlation Container define a variable.
    5. In Involved Message window choose your message interfaces that are used to correlate. Here you should have message interface of your second receive step with another message interface.
    6. Now in correlation editor's Properties window assign field of your involved message interface to the variable that you have defined in 4th step.
    7. Now switch to Graphical Editor of you BPM. And Activate your correlation in First receive step and Use Correlation it in subsequent receive step.
    This is the whole procedure to define a correlation and use it.
    If you need further clarification plz revert.
    Regards,
    Sami.
    Reward pointa if helpful.

  • Correlation used with synchronous steps in BPM

    Hello,
    we have a problem with a correlation.
    A receiver step synchronous activates a correlation.
    The step is completed by receiving a response.
    The receiver step connects via sRFC to an R/3 system to trigger there an IDOC.
    Next step of the BPM is to receive the IDOC from the R/3 system (async).
    This system uses the correlation (time stamp field from RFC).
    But: This doesn not work.
    We only had success when using an asynchronous RFC.
    Does anybody have experience with such issues?
    What is possibly wrong with our correlation ?
    (Corr. is local within a block where both steps are included, RFC and IDOC step)
    regards
    Dirk

    Here is a little twist to the correlation issue...
    I had the following problem. I have a very simple Sync/Async bridge, including a sync. reveiver (sr) at the beginning, as closing S/A bridge sender (ss) at the end, and a async. sender (as) and an async. receiver (ar) in the middle. My messages have an orderId that I use for my correlation.
    The first receiver (sr) activates the correclation (using the orderId in the request message).
    I then attempted to "use correlation" in my async. receiver (ar) step. The correlation shows up in the drop down options in the properties window of the step, but my selection would not "stick" (it would show it and revert to the red question mark).
    After checking my correlation and unsuccessfully trying a few permutations of where to "activate" the correlation, I tried this:
    I temporarily turned my synchronous steps into asynchronous steps (sr and ss). Then I selected my correlation in the async. receive step and it "stuck". After my selection was accepted in the "use correlation" property of the async. receiver step, I turned my first and last step (sr and ss) back in to synchronous steps and had the desired result.
    ... and it worked! I guess it is just a little bug in the tool (which may not be an issue in later releases?!)
    Marc
    (FYI, I am using XI 3.0 SP 16)

  • 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.

  • Collect BPM - Start process and correlation in one Receiver

    I'm using collect pattern based on timeout. Somehow in my infinite loop, in the receive step, I cannot combine "start process" with creating correlation and using it. All in the same receiver. When I try to activate my BPM, in the processing log I get, "start process" trigger removed.
    Can someone throw any light on this....I've being trying this for over few hours now. I cannot get start process and correlation in one receiver. I must be doing something wrong.
    Even the copied BPMCollectPattern removes the start process from the receiver.
    thank you,
    Pam
    Additional info:
    The first message received starts the process within an infinite loop and activates the correlation "Correlation" by using IDoc message tyoe. Each subsequent message uses this correlation. The messages are received in the container element CollectMessage.In the loop the received messages are attached to the multiline container element CollectMessageList.

    Hi,
    We are also in SP12. So start process is not a problem, because you are getting an Information saying that "start trigger removed" right? It is not an error.
    Are you getting this eror "expression must not return multiline value" after your complete Integration Process desgin ? If So...
    I think you are getting this error in Transformation Step where you are doing N:1 mapping. In this step you are mentioning Interface mapping right? Once you mention Interface Mapping in Transformation step you need to give Source Message Structure as well as Target Message Structure. According to my understanding you are getting error here. You can check these errors, while design time itself. If your entries are showing with Red Border then it is understood that there is an error.
    So if error is here then I think you need to check your N:1 Mapping. In this mapping your Source side Messages should be 0...unbounded. Similarly in Interface Mapping also. Just check for Source Message Occurences...
    I think it will solve your problem.
    Thanks,
    Moorthy

  • 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

  • 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.

  • Is it possible to make a receiver step return immediately?

    Hi everyone,
    I am implementing a model with a loop to handle multiple messages. if there is a message meets requirement, the loop exits. but there MIGHT be other messages parked and I need to notify the sender of the message not being processed.
    so i am thinking to add another loop to receive parked/unprocessed messages. but it's possible that there is NO parked message at all. so the receiver in the last loop should be able to return immediately regardless there is parked message or not. in window programming, there is an API to receive message from system message queue without waiting. so my question is: is it possible to have a receiver without waiting?
    besides the no waiting receiver, i am open to any other suggestion that can solve my problem.

    Thanks Shankar,
    Very helpful explanation for me to understand BPM from OO way.
    Based on my understanding, I have a slight different opinion regarding the instance creation of the BPM. Whether another instance gets created depends on how correlation is defined. If correlation is on PO number and the second change request has the same PO number as the first one, then no "another" instance gets created when the first instance is still running. If the second change request is NOT "correlated" with the first one, then another instance gets created.
    If my understanding is correct, then how can we handle the following case:
    1. the receiver step starts correlation on PO number
    2. the first change reqeust and the second change request have the same PO number. the second change request is sent right after the first change request.
    3. the first change request gets confirmed and the instance stops. But there is one parked message.
    Will the parked message starts a new instance? or it just gets ignored. I prefer to have a single instance and notify the sender of the parked message that it won't be processed. If the sender wants it to be processed, it knows it should send a new message to start a new instance.
    Thanks!

  • 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.

  • Correlation without correlation initiate in receive

    Hello all,
    I am writing a process which is waiting for at a receive activity. The problem is that the I need to correlate the input message with the current executing process.
    1. Say there is a process which has a receive activity which initiates the process
    2. Then it waits at receive activity. The receive activity will contain an ID used for correlation probably the instance id of the process.
    3. reply.
    The correlation has to be initiated before step 2. But the instance id is not the part of the input, where can I initiate the correlation.
    The correlation is usually correlated in the receive activity or the invoke where the variable is available. Please suggest how can this be achieved.
    Regards,

    HI
    Yes u r right sashwat, u must initiate the correlation before the receive activity and in recevice use the correlation initiate as false.
    you can use any field element of your payload to initiate the corelation and u must check this value should not be change and unique also.
    bye bye

  • 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

  • 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

  • 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

Maybe you are looking for