BPM MultiLine Container

Hi,
   In condition editor in BPM how can I test whether my multiline element contains any elements. Any help on this.
Thanks,
Rao.Mallikarjuna

Hi,
please have a look at this thread:
Re: Workflow: check multiline container element for emptiness
Regards
Patrick

Similar Messages

  • Receiver determination step in the BPM and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM has a send step which contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog->  /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure   ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    HI,
    In receiver determination step selctthe multi line container element.in container editor create the one element with type as receiver and select the check box.
    A Receiver Determination step returns set of receivers configured for the output abs interfaces in the directory and puts it into receiver which is a multiline container receiver element
    Regards
    Chilla

  • BPM - Remove container from multiline container??

    Hi all,
    i can append a container object to a same type multiline container object.
    Is it possible to remove a container object from  a same type multiline container object?
    If yes, how?
    Thanks

    Not possible in standard.
    One option would be to use a Block and then for each of the container element decide if another container operatin to a new Container Element should be done.
    This way you will segeregate the Container Elements you want into a new MultiLine Container Element.
    Regards
    Bhavesh

  • "receiver-determination" step and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog-> /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    Receiver Determination step will return all receivers that are configured in Integration Directory, for that particular message interface, having the BPM as the sender service.
    So, more than one receiver may return. Hence you need to define the receiver container as a multiline container.
    Here you go with explanations- for Receiver Determinations in BPM-
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm

  • Send multiline container into receiver (SP14)

    I need to validate each object in xml
    I created BPM, 1:N mapping,  1:1mapping for validation and value mapping.
    Then I need to insert data into DB (JDBC Receiver).
    I want to improve performance and to insert all validated data in one transaction as bath operation. For this purpose I think to add multiline container and container step ant collect all validated data.
    The question is: Is it possible to send  multiline data from BPM into receiver system? I heared that it is posible in SP14. Do I need additional configuration? Will this solution work?

    Hi Inigo,
    you need first a tranformation step where you have a source message with n lines and n target messages with one line (multi line container).
    Next you can define a loop block for all entries of that container.
    Regards,
    Udo

  • Multiline container mapping

    Hi,
    There are many invoices present in the incoming message.
    I have to make a single Bapi call for each invoice.
    For this purpose in the BPM I need to map the message to a multiline container, so that in the next block I can loop each line of this multiline container to the required Bapi.
    Now, I have this problem in the mapping of the received message into a multiline container. The transformation step in BPM is not giving any result in the output.
    For your reference, I am giving belwo the input and result of the mapping (into a multiline container below) I need
    1. Input:
          <ns1:MT_scan_invoice xmlns:ns1="urn:customers:invoice">
             <Invoice>
             </Invoice>
             <Invoice>
             </Invoice>
          </ns1:MT_scan_invoice>
    2. Result needed:
          <ns1:MT_scan_invoice xmlns:ns1="urn:customers:invoice">
             <Invoice>
             </Invoice>
          </ns1:MT_scan_invoice>
       <ns1:MT_scan_invoice xmlns:ns1="urn:customers:invoice">
             <Invoice>
             </Invoice>
          </ns1:MT_scan_invoice>
    I have done mapping where, I have mapped the "Invoice" node (which is unbounded) to the target node of "MT_scan_invoice ".
    In the 'Messages' tab of message mapping and in the 'Design' tab of interface mapping, I have changed the occurrence of the target message to '0..unbounded'. Also in the BPM the target container is multiline.
    The interface and message mapping in stand-alone mode is giving successful outputs. (as desired)
    Still the transformation step in Runtime is giving an empty output. Did I miss something in the mapping?
    Kindly help. For the last 2 weeks, I am stuck with this issue.
    Also kindly suggest alternate methods to generate a multiline container.
    Thanks,
    John

    Hi,
    In this case, you are splitting your single message based on some condition to multiple messages but with the same structure as that of source.
    Can you pls specify what is that condition?
    There is a possibility that mapping is wrong somewhere here.
    Also, befor this mapping there are two nodes at target side, 'Messages' and 'Message1'.
    Map these nodes with some constant even thought their occurence is 1..1.
    Regards,
    Supriya.

  • BPM Multiline Msg Check

    We have a scenario where we are sending the multiple messages to the BPM, each message can either have the same or different data (distinguished by key : Product Number). Our requirement is to override the previous message (collected in BPM multiline) with the new message if it is found in Multiline (Criteria is key : product Number). Please let me know the expert comments on how to do this.
    Thanks,
    Samir

    Hi,
        I did this kind of scenario. You can use Product Number as Correlation id, so based on Product Number you can append all IDocs or files which have the same Product Number, for that use one loop in that use receiver step and a container operation. The container operation will append all data based on correlation id(Product Number).
    Regards
    Dipankar

  • Not able to give multiline container variable in transformation step.

    Hello,
    I'm doing a simple collect pattern in BPM.
    I have three container variables, one- the source interface, second the multiline of source interface and third-the target interface.
    Now, i have block in which i have the exception and deadline steps and then a loop in which i have my receiver which collects the message and gives it to the container to keep it to the list. Outside the block i have my transformation step which takes the relevant interface mapping. When i try to give the multiline container variable the box turns red, but of give the normal source container variable it accepts it.
    If i do a check by F7, Expression must not return a multiline value.
    The scope of the container variables is maintained as Process.
    What could be wrong, please help.
    Thanks and regards,
    Akhil

    hi akhil,
    think in transformation it sees source messages and target messages.
    if u have n:1 scenario then n interfaces to one interface right
    thats is each interface will have one message type
    so if u are using interace mapping in transformation it is expecting n interface variables to one interface variable.
    it will display n source messages to one source message jsut check.
    so transformation step is expecting one n sub message types to be embedded in one message type
    <messages>
    <message 1>
    <meessage n>
    </messages>
    this one is mapped with one XML target messgae
    so if u have n different messages see that u compress them in to one message type like the above and give it in trasnformation step.
    if you have n different messages then u can alwasy go for n different interfaces to one single interface
    then u can see in tranformation step n diff source messages and one target message
    was just confused with reciever step which allows multiline receivers
    Thanks & Regards,
    Rama Krishna
    Edited by: rama krishna talluri on Mar 6, 2008 1:48 PM
    Edited by: rama krishna talluri on Mar 6, 2008 1:49 PM

  • How to send message from multiline container to same webservice or bus. sys

    Hi All,
    I want to send message from multiline container to a syn web service sequentially.
    I am getting that multiline container after a transformations step (1: n mapping).
    where i dont known what will be the value for n (number of message in multiline container). This will vary; depend upon input message to BPM.
    Scenario is like this.
    1. Receive step
    2. Transfromation to 1: n
    3. Want to send message from multiline container to a web service (business service),default loop and block step doesn’t give desirable result.
    any help will be appreciable
    Regards,
    Adish

    Adish Jain wrote:>
    > where as, if I will use block, it will send the same message to multiple receivers which are present in multiline receiver container. So need to think in different manner.
    Not necessarily.
    When you use block step in ForEach mode, you can select the container variable from:
    - a receiver container;
    - an interface container;
    The line element can then be either a receiver or an interface.
    The problem is that for this to work, the interfaces need to be async (since they are to be used as containers) and hence you won't be able to make your scenario work.
    But again, explain why your scenario with loop step didn't work.
    The only gap here is how to determine the number of loops (defining the counter variable value). But that can be easily solved if you include a new message with occurrence 1 as a target message of your mapping and as a container in your bpm.
    This new message needs only 1 single field, that should be filled with the number of messages you've created in the mapping (you could use count standard function, f.ex.).
    In your bpm, make sure to pass this fields value into the counter container right after your transformation step.
    Regards,
    Henrique.

  • CcBPM multiline container Processing

    I have a BPM where I select several records from the database. I then need to process each record through a JAVA mapping module individually.  Based on the output of the JAVA mapping module I either send the record to the appropriate receiver or I end the process for that record.  
    first Attempt:
    1) receive data from database through SQL query
    2) Split the single message with many entries into many individual messages through a transformation step.  
        i.e.  Mapping A occurence 1 to Mapping B occurence 0,unbounded
    3) A ParForEach Block which contained the transformation step with the JAVA Mapping, A switch step for canceling or sending the document.  
    My problem:
    The multiline data was never sent to the transformation step but I noticed that if I have just had a send step it would process each line.
    Second Attempt:
    1)  Receive data from database through SQL query
    2) Split message as mentioned above
    3) Assign multiline to variable in container opperation
    4) Variable from container operation is input to JAVA Mapping
    My problem:
      I don't see any processing from within the loop.  I don't receive any output and my data doesn't appear to have processed through the JAVA module.
    Does anyone have any other suggestions on how to process these records since my JAVA module can't take the list of records but needs them individually as well as I need to send them out individually based on their independent response from the JAVA module.

    Hi Amar,
    We don't have any direct way to refer multiline container in send mail. You can achieve this indirectly. You create a big string in workflow container. Then create a custom object from SW01. Create a method in this object. This method should take the multiline element as the input and concatenates the lines and returns the big string. Now the object is created, create a new task before send mail stpe. This task will be calling the custom object method which takes the multiline element and returns the string. Then use this string in the mail. Hope this helps.
    Thanks
    hari

  • Sending Multiline Container

    Hello,
    I have a scenario where I map Idoc's <b><b>before</b> BPM</b> and I want to use BPM just for colleting these Idocs.
    The problem that I come across is that I get an error when sending a "Multiline Container" in the "Send" step. If I make a container just for sending I get an error that my "Send Container" is empty.
    If you collect and map the Idoc's in BPM, you can change the occurance in the mapping and send a Multiline Container but If you map before BPM you need to change the occurance of the target message because the occurance of my incoming and outgoing message in BPM in the highest level is 1..1 and I guess if you can change this you can send the multiline container, but this seems impossible,
    Does anyone has any idea about this matter?
    Kind regards,
    Kamran

    Hi Guys,
    Thank you for your reply. Ive tried your suggestions and It doesn't work.
    In case of Mario the problem is that you can't select multiline container nor for the Receive nor for the Send step and in case of Ranjit its not possible to select the simple type in the Current Line of the Block, you have to choose an Abstract Interface and if you choose an Abstract Interface for the Current Line it doesn't work.
    So my conclusion would be this is not possible.
    Best Regards,
    Kamran

  • Fill Multiline container from multi records in source XML ?

    Hi,
    scenario: File-XI-RFC-File(BPM).
    Read company id from source file, call BAPI(company_get_detail) using RFC receiver adapter and then write response to another file.
    This works fine for one record(one RFC call to BAPI) using the BPM.
    Now, I would like to implement the process for multiple records using block(forEach) to make multiple RFC calls in BPM.
    <i>I understand that i have to create multiline container and map 1:n from input xml into that container.</i>  I need help here.
    BPM Steps:
    <b>Receive source file - fill multicontainer ?</b>
    Open block step (forEach)
       send sync RFC call
       save Response in another multiline container
    close block
    send step - write response to file(receiver)
    file structure:
    <ns0:MT_compRqst_multi xmlns:ns0="http://abc.com/FileToRFCBPM">
       <DT_record>
          <companyID>000001</companyID>
       </DT_record>
       <DT_record>
          <companyID>000002</companyID>
       </DT_record>
    </ns0:MT_compRqst_multi>

    Hi -
    For your requirement, as Bill implied, you need a multi-mapping (Transformation step) that maps your single message with multiple records to multiple, <i>complete</i> messages with one record each. 
    To get you started, basically, for the multi-mapping, create a message mapping with your source and target MTs the same (as the one you posted).    Then in "Messages" tab, for your Target message, change the occurance to "0..unbounded".   Now if you go back to the "Design" tab, you see that both your source and target messages have a "Messages/Messages1" wrapper around them.  In the end, the target message would look like the following and would correspond to your multi-line container element:
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
        <ns0:Message1>
            <ns0:MT_compRqst_multi xmlns:ns0="http://abc.com/FileToRFCBPM">
                <DT_record>
                    <companyID>000001</companyID>
                </DT_record>
            </ns0:MT_compRqst_multi>
            <ns0:MT_compRqst_multi xmlns:ns0="http://abc.com/FileToRFCBPM">
                <DT_record>
                    <companyID>000002</companyID>
                </DT_record>
            </ns0:MT_compRqst_multi>
        </ns0:Message1>
    </ns0:Messages>
    You'll need further steps - Interface Mapping, ccBPM (Transformation step, adjusting your Block settings, container element for multi-line element, etc.).   There are some blogs on multi-mapping within ccBPM that will help you - just do a search.
    Note that if your scenario has a large number of records, this approach is not performance friendly.
    Regards,
    Jin

  • CcBPM extract data from query input (muliple row) to multiline container.

    Hi XI Expert,
    I have ccBPM scenario JDBC -
    > RFC.
    JDBC Sender contain multiple rows, how can i extract the muliple rows into multiline container so i can use for looping and send to RFC one by one.
    Thank you and Best Regards
    Fernand

    Hi,
       Your scenario is JDFC to RFC, where u have to extract the multiple records and apeend to RFC.
      first thing, in order to bundle multiple rows
       is there any time constraint ?(like with in 24 hours), in that situation use block step and append mode.
    also use activate corelarion step in receive.
    as u know, we need loop, recive, transformation out of loop send and block.
    plese check the following blog related to BPM.
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2034. [original link is broken] [original link is broken] [original link is broken]
    warm regards
    mahesh.

  • BPM Alert Container Elements Not Filled

    Hi All,
    Another problem i am facing when i am raising alert from BPM.
    In inbox i see alert message being raised but with no text.
    I have also subscribed to email alerts.
    In the email the subject is Process 000000008058
    and the content is the first alphabet of the AlertMessage container element.
    Ex : In BPM my container element is AlertMessage and the message assigned is <i>Error</i> . Then in email message i only get E. where as in alert inbox i get nothing.
    ps : im using XI 7.0 SP 9. there are no notes which are applicable for this release.
    Regards,
    Rahul
    Message was edited by:
            Rahul Jain

    Hi Bhavesh,
    <i>>When you select Dynamic text in the Alert category, the Container tab will no longer be available in ALRTCATDEF for your Alet Category.!</i>
    the container tab is available but the Long& Short text tab is disabled.
    I did not mean that..
    What i meant was see next to the Properties tab in Alert Category defination there is a Container tab where we define our own container elements.
    Do i need to define the names there..or i can directly use in the BPM?
    Regards,
    Rahul
    Message was edited by:
            Rahul Jain

  • Multiline container in workflow ?

    How Can I display multiline container element in the Send Email Task in workflow.
    I have one activity called Create PO in forground. I have to send the PO number and materials number to the responsible agent(I have agents) by Email.
    can I do it in workflow. please let me know.

    Hi Amar,
    We don't have any direct way to refer multiline container in send mail. You can achieve this indirectly. You create a big string in workflow container. Then create a custom object from SW01. Create a method in this object. This method should take the multiline element as the input and concatenates the lines and returns the big string. Now the object is created, create a new task before send mail stpe. This task will be calling the custom object method which takes the multiline element and returns the string. Then use this string in the mail. Hope this helps.
    Thanks
    hari

Maybe you are looking for