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

Similar Messages

  • 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

  • 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 messages error

    Hi
    we are experiencing problems in BPM Collect pattern, error is not clear.
    Our payload before input to BPM
    <record>
    <row>
    <key>1</key>
    <val1>1</val1>
    </row>
    <row>
    <key>1</key>
    <val1>1</val1>
    </row>
    </record>
    this is given to BPM, and BPM is following exact collect pattern in SAP Documentation like
    1. Block with restricted by correlation (/record:key1), deadline with 1 minute, used by correlation
    2. within Block, unlimited loop, with started recieve step, activated correlation, and append records with container operation
    3. multi-mapping transform step, with multiple records to single record and followed by send step.
    we are getting error in the blok step, no description of error.
    BPM is activated without any errors
    Please advise, appreciate all ur help.

    Any body got the solution for this . I am having same problem .
    My Payload as follows
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:BpmPatternCollectMessageToBeCollected xmlns:ns0="http://sap.com/xi/XI/System/Patterns">
      <ID>1</ID>
      <OverallNumber>1</OverallNumber>
      </ns0:BpmPatternCollectMessageToBeCollected>
    for BPMPattrenCollectTime BPM and I amhaving error on outbound side in BPE
    when I dig into technical details The BPM details as follows
    Error during result processing of work item for Reciving Message Step
    Regards
    Murali

  • 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

  • XI3.0 BPM collect message using substring within correlation

    Hi,
    I have a requirement to collect a list of IDOCS using the first three characters of a field as a correlation.  I tried adding the XPATH expression
    substring(/ArticlePriceData/ArticlePrice/Site, 1, 3)
    within the correlation editor but this does not work - all IDOCS get added to a single process.  Has anybody been able to get this to work?  My integration process is based on the SAP example BpmPatternCollectMessage
    Many thanks
    Ian

    Hi,
    I have tried your suggestion and I still do not get the correlation value that I expect - now each message gets a new process ID with a correlation value of blank.
    Thanks for your help
    Ian

  • Bpm Collect message problem

    For the BPM Pattern BPMCollectMessage...
    I'm doin a file to file scenario.. Its fine at the sender side CC shows sucess and also moni but not able find any messages of my target interface any idea wat the problem is .. the recevr cc is active but no logs. .and also from IP to recvievr its not processed i guess no messages seen on moni....

    >
    Robin wrote:
    > For the BPM Pattern BPMCollectMessage...
    > I'm doin a file to file scenario.. Its fine at the sender side CC shows sucess and also moni but not able find any messages of my target interface any idea wat the problem is .. the recevr cc is active but no logs. .and also from IP to recvievr its not processed i guess no messages seen on moni....
    try to check the status using RWB -> Message monitoring ...
    you would be able to see what is causing the issue in the detailed log

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

  • XI BPM Collect Meassages Scenario with one Message as an optional

    Hi guys,
    I need help to implement XI BPM Scenario with Collect Messages Pattern. Here is my Scenario. I am getting four different types of flat files from four interfaces. Using these four files I need to merge using correlation relation and finally have to create One IDoc type to send it to SAP R/3.
    But out of these four messages last Message type is an Optional Message. i.e the process has to continue even if forth message is not available by taking first three messages.
    Please let me know which pattern is suitable for this scenario.
    Thanks.
    Siva.

    Hi,
    I hope u are receiving four different interfaces.Have a local container variable of simple type integer.you put a fork with four branches after the start step.Each branch has a receive step corresponding to one interface. Then after each of the receive step in each branch put a container operation performing some action on the container variable may be incrementing.so in the end condition of the fork check the value of the container variable i.e you can check if that variable is 3(three of the interfaces have been got).so this ensures that ur fork doesnot wait for all the four.hope this works.
    Regards,
    Sudharshan

  • 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

  • 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

  • BPM Collect -Query

    Hi All,
    I have BPM to collect the Idoc from SAP and send it.
    I have a condtion in the loop for collecting 50 Idocs and sending to the traget system.
    The scenario works fine If I receive the 100 Idocs, it will execute two send steps. If the number of Idcos is not a multiple of "50". then BPM needs to wait for the next batch of Idocs to process further, until the loop condtion triggers.
    Can we have any steps in BPM which will address the below 2 requirments:
    1. BPM should collect the 50 messages are sent it.
    2 If the number of messages are not reached 50 after a period of time then also trigger the collected messages out.
    Regards,
    Sunil.

    Can we have any steps in BPM which will address the below 2 requirments:
    1. BPM should collect the 50 messages are sent it.
    2 If the number of messages are not reached 50 after a period of time then also trigger the collected messages out.
    Did you check if combination of Payload & Time-Dependent pattern helps you?
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/08/16163ff8519a06e10000000a114084/content.htm
    Having the payload-dependent loop in a block with Deadline branch may solve your problem.....my understanding
    Regards,
    Abhishek.

  • ** File to Mail through BPM - Holding Messages

    Hi Friends,
    We are running File to Mail scenario in our PRD server. We use BPM design to collect messages and grouping it send to mail id with XL attachments.
    Some of the messages are in Holding state i.e from the BPM to Mail adapter.  I have compared the successful messages payload similar to the holding messages payload. There is no difference. Both payload are correct.
    When I resend the holding message, it tries to resend and again going into holding state. I am not able to trace out the reason. Because, the 'To' address is same, body of the content is same (except value).
    Do I need to check anything in BPM side ?
    Can you help me to identify this problem.
    Kind regards,
    Jegathees P.

    Hi,
    Does the messages are gng to hold state in the Mail Adapter Receiver??
    If so nthng needs to be done in BPM..
    But instead u need to check the Mail adapter Receiver.....
    In message monitoring fr this interface and namespace please check if any previos messages are struk in queue..
    Check by changing the dates of previos also and delete them....
    Once u delete all the messages previos error status... now run end to end.. u will get all the mails...
    If still any prblm.. do post
    If any question you are closing, please do also post the resolution you found..... So that others can benifit from that
    and we can avoid repeated question
    Babu
    Edited by: hlbabu123 on Sep 28, 2010 4:54 PM
    Edited by: hlbabu123 on Sep 28, 2010 4:57 PM

  • BPM Collect Transformation Step Raise Alert need help

    Hi,
    Scenario BPM Collect.
    Block 1 - Multiple xml messages received and collected into multiline container.
    Block 2 - Transform multiline container element into single message. Mapping Error throw Transformation Exception.
    Block 2:Exception Branch - Transform multiline container element to error multiline container element (based on BpmPatternReqRespTimeOut with a twist).
    Block 2:Exception Branch - Send multiline container element to Communication Channel for further error analysis.
    Block 2:Exception Branch - Throw Alert BPM_ALERT Transformation Failure message.
    Getting Compilation errors because I am not allowed to output a multiline container element...?
    Behaviour without the Exception Branch Transform and Send is that the first message collected in the ccBPM goes to Green Flag and the others goto chequered flag when the BPM_ALERT is thrown. This is not desirable behaviour.
    Would like to output multiple line container element so I easily know which group of messages failed ie file 1,2,3... so that I can go to the Error folder and repost them in the Sender Communication Channel if required.
    Once this is working I am trying to identify which file had the conversion problem so I can filter if out from the others and process the others attempting to pass information from a UDF as to which item in the multiline container element I reached before I had a problem int he original mapping...?
    I have read Michal Krawcyzk's blog on ALERT variables and Help on Throwing Alerts etc but I am progressing slowly with my solution...
    thanks,
    V

    Thankyou Chirag for those Blogs.
    The first is the one I have looked at most recently and the second has given me an idea.
    If I change my mapping of the multiline container element each line holds an xml message to the error element by calling a UDF to map the payload across then at least I would have output my Payload that errored? I will try it and see Java coding is not my forte currently.
    thanks,
    V

Maybe you are looking for

  • Not recognized by itunes; 'no disk in drive' when opening

    My Ipod is functioning properly but I cannot get my computer to detect it. Under Itunes I get 'no ipod connected'. I tried resetting the ipod while it was plugged in and after resetting I get a windows error- 'There is no disk in the drive. Please in

  • PO Item instructions in ORDRSP

    Hi All,        I have a requirement where I have to include “PO Item Instructions – EDI 1” on the ORDRSP IDOC at the line item level and I should not include the segment if the “PO Item Instructions” – EDI 1 text field is empty?      Neither I worked

  • Where is the email link in Firefox ?

    A person helped me change my browser from Internet Explorer 7 to FireFox. Now I cannot find the email link on FireFox. I right click in the upper toolbar & hit customize. Their is no email. When I hit customize, the icons shrink & I can see more icon

  • ITunes Match - iPhone Size??

    Wondered if you guys could give me some advice... iTunes Match is all set up on my Macbook as I am trying to make my music library available when Im around the house... For Example - I have 200g of music on my computer, I would like this available on

  • Getting  error message "Could not find XObject named 'n2'" in Adobe 8

    Hello, I have developed one component in VC++ which Signs PDF files. But when i opened signed file(in Adobe 8), I am getting one alert saying "Could not find XObject named 'n2'" can any one tell me what's wrong in my Signed PDF file. Origninal File i