Collecting messages in XI

Hi,
I would like to send a packet of iDocs from the R/3 to a legacy system using the XI. What should I do in order to perform this ?
Can I see an example somewhere ?
  Thanks, Nir.

Hi Nir,
In Software Component "SAP Basis 640" there is an example to Collect Messages with BPM.
Namespace: http://sap.com/xi/XI/System/Patterns
Integration Process: BPMPatternCollectMessage
Regards,
Robin

Similar Messages

  • BPM collects messages, and should terminate at a given time

    Hi,
    i'm trying to create a scenario where a business process collects messages. At a certain time each day this process must transform this messages into one message and terminate.
    (I used the BpmPatternCollectTime process as a template)
    My problem is:
    how to tell the deadline branch it should rais an exception every day at a given time, lets say 10pm?
    I already tried to configure this branch with "Reference Date/Time=Expression" and set date and time to 2008-10-04 14:30:00. But the process won't stop at this time.
    Any ideas?
    Thanks in advance,
    ms

    Hi,
    I am not sure if you could use this pattern for stopping at a given time?
    Maybe you could configure a report that sends a message every day at the given time to the PI and your process stops with receiving this message.
    Regards
    Patrick

  • BPM collect message

    Hi All,
    I am doing a scenario for collecting messages using BPM, the objective was i need to collect the input messages and to be stored, when the message reaches 10, then it should deliver all these 10 messages to the target.
    for this, i have designed bpm with the
    1. Receiver Step
    2. Container Operation
    3. Transformation and Send.
    but i am getting the following error while activating
    Exptession must not return an multiline value
    Expression must return the interface type MI_OUT_A
    Expression must return the interface type MI_IN_A
    Container element var1 in step Receive1 is initialized but is not used.
    Here var1 is the abstract interface
    the datatype& message type  was DT_A and MT_A and the interfaces are MI_OUT_A and MI_IN_A.
    could anyone clarify regarding this issue..
    regards,
    Sai

    Hi,
    Check some links on BPM.
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Regards,
    Phani
    Reward points if Helpful

  • BPm collect Message Check

    Hi,
    when i perform a check to standard BPM patterns BpmPatternCollectMessage. I get the following info am i wrong some where do any changes needed to be done.
    Container element stopmessage in step receive terminating message is initialized but not used
    Container element collectmessage in step *receive * message is initialized but not used...
    kindly help

    I did the above scenario as told.
    It is a bpm message dependent scenario. It keeps collecting messages till a particular message is received.
    I more or less used the message dependent pattern given in SAP BASIS.
    The data types are as follows.
    Dt_In
         Name
         OverallID
    Dt_In
         Name
        OverallID
    1 to 1 mapping
    I used the OverallId for correlation. The receive step inside the infinte loop collects the messages with OverallID '1' while the receive step below collects messages with OverallId '2'.
    In the container elements i defined 2 separate message interfaces. One for OverallID '1' and the other for OverallID '2.  The 2 message interfaces have the same Message type. Only values will be different.
    For the parallel fork step i have given end condition OverallID = 2.
    When i execute the scenario the messages are all comingin a queue. The status is wait for event.
    What could be the problem?
    Thanks
    Edited by: pratichi chauhan on Sep 24, 2008 2:46 PM

  • BPM Collect Message dependent AND time dependent

    Hi
    I have a IDOC to file scenario where I have to collect all the IDOC until I receive a stop IDOC.
    Once the End collect IDOC is received I have to do a n:1 transformation and write the file to the FTP.
    The problem is, at times the IDOC which is suppose to end the collect loop gets stuck in ECC R3 system.
    So Im wondering If I can do something like say, we have two options inside BPM both time dependent and message dependent.
    In this case which ever comes first (the Stop/END IDOC or the Time say 3 mins) will end the collect process.
    Can anyone pls suggest will it work and if so what are the additional steps I have to introduce in the BPM.
    Pls advice.
    Right Now these are the steps in the BPM Collect Message dependent.
    1. Block (I have used correlation)
    2. Fork inside the block
    3. Fork branch one has a look with end condition as 1=1; then a receive step and a container operation inside the loop.
    4. Fork branch two receives the end collect idoc.
    5. Transform step outside the block.
    6. Send step.
    Thanks
    Prasanna

    Hi Abhishek/ Raj
    Thanks!!
    I have done the changes let me confirm after testing it once. In the mean time I have one more question regarding the same BPM, as I have mentioned in the first post, the BPM contains the 6 steps mentioned but the the 6th step is inside another block (Block2).
    The steps 1 to 4 are inside Block1.
    The step 5 ie the transformation step (n:1) is in between the Blocks ie not inside any block (hope im not confusing).
    The second block is for sending the file to the FTP and based on the acknowledgement (transport level) I have to send an email.
    So Block2 already contains a deadline branch, it is to wait for the positive acknowledgement for say 3 mins and send the error email if incase we dont get positive ack within the time limit.
    My doubt is,
    1. Is it the only way (having two block and two wait steps) to achieve this.
        (one block for collecting and one block for ack)
    2. Is there any way I can have a single Block in the BPM insted of two. If so what are the steps.
        Having single block, Will improve anything??
    Thanks
    Prasanna

  • Collect message into internal table

    Hi,
    does any one knows how BAPIs or CALL TRANSACTIONs collect messages into internal table.
    My problem is that some BI with CALL TRANSACTION doesn't collect right message into return table and I would like to collect this last message after CALL TRANSACTION and therefore be sure that everything went OK.....
    thx
    mario

    hi
    good
    check this
    Call Transaction p_trans using ZBDC_Table
                                   Mode p_mode
                                 Update p_update
                          Messages into p_messages.
         Move sy-subrc to w__subrc.
       Scan the messages in YDCRAISES to see if we need to
       change the message class.
         Loop at p_messages.
              Select single msgtyp
                into w__msgtp
                from zdcraise
               where tcode  = p_messages-tcode  and
                     msgid  = p_messages-msgid  and
                     msgnr  = p_messages-msgnr.
              If sy-subrc = 0.
                 Move w__msgtp to p_messages-msgtyp.
                 Modify p_messages.
              EndIf.
         EndLoop.
       Dump the message table ?
         If w__ydcset-dumpmsg = True.
    thanks
    mrutyun^

  • Collect Messages using BPM

    Hi all,
            Am doing a collect message pattern using BPM. After collecting messages wen mapping is called its throwing exception. CAn you help me out in this. I ll explain.
    the input i give is :
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    i sent thid message 5 times to BPM (using collect pattern).
    the stop message is of the format
    <Stop>
       <ID> A</ID>
    </Stop>
    wen i send this the collect block is exited and the flow comes  to a transformation step which does a n:1 mapping
    ie. in my mapping i add the source message type and changed its occurence to unbounded in messages Similarly in IM also i changed the occurence of source MI to unbounded. wen i test the message mapping with this
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    as input it gives the exception. But if i gve like this ten its showing successful.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    </ns0:Message1>
    </ns0:Messages>
    But how can wedo that as transforamtion happens in BPM. PLease help me out in this

    Hi,
    Check these links
    /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/76/5d373f5e550456e10000000a114084/frameset.htm
    Regards,
    Kumar

  • Xpath in the collect message of BPM

    Hi,
    I created a BPM collect message. My source message has a field which is in the format of XXXX-NN such that XXXX can be any 4 letters and NN is a number 01 - 99. In the loop of the BPM, I made use of an Xpath command in the condition editor for the loop condition. The command is /header/segment1/segment2[(substring(field1,6,2))] for the left hand operand and comparing it as not equal to a counter variable.
    When I look at my graphical workflow log, there is an error in the Transformation step. In SXMB_MONI, I have a red flag with an error of "Message has error status on outbd. side" in the process view of SXMB_MONI.
    If I change the Xpath command to /header/segment1/segment2/field1 and change the value of my field to just use NN without changing anything else, my BPM is working properly. Is there something wrong with the added Xpath command? I followed the blog in /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination but I wonder if this only works for Receiver Determination. Please help.
    Regards,
    Elbert

    Hi Elbert,
    the expression
    means a condition and requires a
    =
    For example:
    [//person/name[../no='123'] code]
    means: select element person/name where person/no "123" is.
    Because of unclear results regarding the namespace i wouldnt put the full path. Use for example [code]substring(//segment2/field,6,2)
    The substring expression is ok, i m shure.
    <b>substring(X-Path on String value, No of letter in string, length of searched substring)</b>
    If the string is not long enough, it might give you strange errors, he, he. Cant cut 1m of 20 cm salami.
    Regards,
    Udo

  • Collect message till particular point of Time in BPM

    Hi,
    I want to collect messages till particular point in time like till 6 oclock evening.
    In deadline branch i have to use Expression and should give date and time.
    What is the format of date and time if it is not coming in payload.
    What is the difference between: Creating the step and Creating the process property.
    Any help is apreciated.
    Thanks and regards,
    Satish

    The date and time format will be the standard XSD date and time format
    Date:
    YYYY-MM-DD  or YYYY-MM-DDZ
    Time:
    HH:MM:SS or HH:MM:SS.x
    But since your requirement is to collect the messages till 6pm everyday, I guess there is a problem with the mandatory date field.
    Maybe you can use a datatype which holds the current time in a field and use the field as the loop variable.
    - Kannan

  • Splitting and Collecting Messages

    Hi,
    I have a scenario in which I get a message from SAP. In this message their are multiple item structures and 1 header structure. Now I have to sent these items to a WS seperately and collect the messages  from the WS response in one message with a header.
    Something like:
    Receive Message -> split message (message mapping) -> send all to WS / receive response for everyone -> collect messages from response in a new message -> send the new message to another WS
    How can I do this in BPM?

    Hi Chris,
    Your design should be like this:
    Start --> Receive --> Transform1 (Do the split and multimapping) -->  Send Step1 (Synchronous) --> Send 2 (Send Response from send1 to the output) --> Stop.
    Regards,
    ---Satish

  • Collecting Message from 'ForEachBlock'

    Hi experts, i have a scenario of File-PI-RFC. My FILE is in XML format and consist of, for example, 10 POs (this is only example) with each of them has more than 1 items/details.
    However my RFC will only receive 1 PO with its items each time. Therefore in my bpm, i use a "ForEach" block to separate my file and call the RFC 10 times (i successfully did this).
    However my problem is to collect the response from RFC (each RFC). My BPM call RFC synchronously and I need to combine all the response from the RFC (which will be 10 response in this case). I have read some blogs about collecting messages into 1 message, however, all i can find is that using "Fork". But in my case, i dont think i can use FORK (CMIIW). So guys, anyone can enlighten me? Thank you very much...

    Thank you for all the advice...So the only way is to make the sync send become 2 separate async (send and receive)?
    Ok i've done and follow from the link that you guys gave me.
    However, i got a problem on why i dont have anything to select on my receive node at the 'Use Correlation' field?? I already create a correlation but i can't select it for the 'Use Correlation' field. I can only select it for 'Activate Correlation' field...Any clue?
    Thx...

  • Collect messages merge to one n 1

    Hello
    I try to collect messages
    but after transformation only the data from the first message  is in the message.
    In the message mapping and message interface the source is 0..unbounded.
    When I start U see that messages are collected in a container and in the same process.

    I have a BPM scenario witch collects files for 10 minutes.
    After 10 minutes the collecting stops or when 10 files are received.
    Quite similar as the example Integration process BpmpatternCollectTime.
    Message was edited by:
            Gert-jan Meijer

  • Collect Messages with BPM

    Hi everybody,
    I need to know if it is possible to develop a integration process to collect messages without using correlation, until now I only developed that scenarios using correlation, but I have a special case that is not necessary identify a key to make a relation among the messages
    Thanks in advance.
    Ivan
    Edited by: Jose Iván Reyes Arteaga on Dec 3, 2008 10:42 PM

    If you do not need any key field for correlation, then you can go for dummy correlation in BPM.
    In the expression editor (properties column of the Correlation editor), select the "Constant" radio button and give some dummy name.
    For more explanation, refer Siva Maranani's post in the thread:
    /message/426236#426236 [original link is broken]
    Thanks,
    Geetha

  • WD Message Manager - collect messages

    Hi All,
    we work with 2 WD-applications reporting their message in the messagearea of WD-application#1
    How can I report messages without losing existing messages?
    I found note 940762 in this forum saying that it is possible to collect message using the parameter is_permanent or/and scope_permantent_msg.
    example:
      CALL METHOD lr_message_manager->report_exception
        EXPORTING
          message_object           = lr_exc_core
        IS_PERMANENT             = ABAP_FALSE
          SCOPE_PERMANENT_MSG      = 0.
    Can anyone describe the differences between the 2 options?
    What else can I do to collect messages?
    Thanks, Martin

    Hi Martin,
    if you just use IS_PERMANENT, you have to remove your messages, when they should not be displayed anymore. If you set scope_permanent_msg e.g. to if_wd_message_manager=>co_msg_scope_controller and you set a controller reference, the message will be removed, when the controller is deleted.
    Regards, Regina

  • Regarding collecting messages until you get particular payload

    Hi All,
    I am having below requirement,
      I am getting several messages from source, i need to collect all the messages, until i get TRAILER message
    Condition is " COLLECT THE PAYLOAD UNTILL YOU GET DTS IN PAYLOAD(TRAILER)". so we need to collect header message and data messages untill you get trailer message.
    message1(Header message which contains DHS)like below  
        20090604034447338isc                 DHS64    500d3100033d705050258002f86300
    message2(data message which contains DDS) like below
               20090604034447338isc                 DDS64    50031s000337050502580d0286300
               20090604034447338isc                 DDS64    5003100033705050d25800286300
    Message3(data message) like below
               20090604034447338isc                 DDS64    500310003370505025800286300
               20090604034447338isc                 DDS64    500310003370505025800286300
               20090604034447338isc                 DDS64    5003100033d7050502580f0286300
    Message4(trailer which contains DTS) like below 
               20090604034447338isc                 DTS64    500310003370505025800286300
    So 4th message contains 3 charcters DTS, now i need to end the collecting messages in loop and need to send the collected messages to target.
    Presently i am using PI7.1 which contains some patters to use as XPath for end condition purpose. I am using Contains Patter(CP) in loop end condition. according to my understanding the collection in loop has to end when it find DTS in message. but it is not working. Please share you ideas whether Contains Patterns suitable for my requirement
    or not and is there any other better approach for this requirement?
    Thanks & Regards,
    Madhusudhan

    Hi,
    Thanks for your valuable reply,
    As you told i implemeted the logic for loop end condition like below
    Value CP 'DTS'
    Value is condition variable in xpath according to PI7.1.
    Now according to above xpath, if DTS found in payload at any place. The loop has to end, but now even there is no DTS in payload the loop is getting complete and messages are going to target.
    Thanks,
    Madhu
    Edited by: Madhusudana Reddy on Aug 5, 2009 9:13 PM
    Edited by: Madhusudana Reddy on Aug 5, 2009 9:24 PM
    Edited by: Madhusudana Reddy on Aug 5, 2009 9:25 PM

Maybe you are looking for

  • Calling a method with a html Submit button

    hi guys, is it possible to call a method from a JSP file using a HTML submit button. I know i can call another website easily doing it this way, is there a similar way available to call a method once the button is clicked? FYI The method is in a bean

  • IPhone no longer synchs with iTunes

    For the past few days, my iPhone was syncing perfectly. My songs, calendar Apps; everything was on my iPhone. Now, since this morning, for some reason, none of my songs will sync to my iPhone from iTunes. I am wondering if it has something to do with

  • Show result before I click "Find" button~

    HI ALL~ I have a problem~ ex: A-Group has "Find Page=true"...... when I navigate FindA-Group.jsp , there has result in the page before I press "FIND" button.(I combine fine page and result page to same page).Of course,I can input some data in query c

  • Screen field invisible...

    Hi all, My requirment is as follows: I have two radiobuttons... one input parameters... ...the reqmnt is ..whn we select rad1 the input parameter must be mandatory... and for rad2 the input parameter should be invisible... i hav to do validation for

  • Adding Validation In record working time.

    Hi Experts, I have to add a check in Record Working Time, so that, it does not allow to record working times which are more than 45 days older than today. Please tell me where I have to make changes, If I have to make changes in User Exit then please