Transformation Step to Implement 1:n Splitting

Hi,
How should i design a message mapping for use in the Transformation step of BPM to split a message into multiple messages? The occurances of my source msg root node is 0-1. The occurances of its immediate child node (say, <b>BASE</b>) is 0-unbounded. The target msg has occurances 0-unbounded. I need to instantiate a target message as many times as the number of occurances of the node BASE in the source msg.
I found a lot of help on n:1 (bundling) transformation on the net, but very little on 1:n (splitting) transformation.
Please HELP. Let me know if you need any more input on the requirement.
Thanks in advance for your time,
Smitha

Hi John,
look to the flag "Messages" in your message mapping. Source should be occurance '1', target '0..unbounded'.
In your design there are now two new (root) elements: Messages and Message1. Ignore them.
Draw the repeated element (source) to your unbounded (3rd) element (target).
Regards,
Udo

Similar Messages

  • Error in Transformation step of BPM

    Hi all,
    In BPM, I have defined a transformation step. For this, I have specified the Interface mapping which is between 2 abstract asynchronous interfaces. The Message Mapping for this Interface mapping involves multi-mapping (1:n) of the messages used.
    Also, for naming convenience, I have kept the names of the abstract async interface and its message type same.
    I have created containers for the message types of the both interfaces. The container for target message is of type 'multi-line'.
    When I checked the integration process, errors (red boxes) appear for both - the source and target messages in the transformation step properties window. The error text says <b>"Expression must return the interface type < Name of abstract message interface >"</b>
    What could be the cause of this error ?
    Any help would be appreciated.
    Thanks in advance.
    -Shankar

    Hi Shankar,
    Are you splitting the messages i.e 1 message into N messages ? If so, do  you have multiple message types in the Message Mapping in the target side ?
    Anyway, just recheck the Abstract Interfaces are activated. And reassign the container variables with Source message Absract Interfaces and Target message Abstract Interfaces.
    The error tells that, there is somewhere occurence problem.. So that is mismatch with the Message Interfaces..because you have selected the Multiline in the COntainers right ? Check without that..if it is ok, to narrow down the debugging..
    Regards,
    moorthy
    Regards,
    Moorthy

  • ** Transformation step - 1:n mapping error - BPM

    Hi friends,
    In my BPM transformation step I am doing 1:n mapping. I created & tested the message mapping and Interface mapping for this. Its working fine there. But, while I put the payload, the message is not splitted. Instead only the first message is splitted.
    Source Payload
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:PurchaseOrder xmlns:ns0="http://www.XYZ.com/ABCD/SDFunctions">
    <row>
    <PONO>5005</PONO>
    <PODATE>2008-06-09</PODATE>
    <VENDOR_CODE>0000100614</VENDOR_CODE>
    <REFERENCE>PENA</REFERENCE>
    <MATERIAL_CODE>100-00</MATERIAL_CODE>
    <ORDER_QTY>1</ORDER_QTY>
    </row>
    <row>
    <PONO>5006</PONO>
    <PODATE>2008-06-09</PODATE>
    <VENDOR_CODE>0000100614</VENDOR_CODE>
    <REFERENCE>PENA-1</REFERENCE>
    <MATERIAL_CODE>100-100</MATERIAL_CODE>
    <ORDER_QTY>4</ORDER_QTY>
    </row>
    </ns0:PurchaseOrder>
    But, only the message is splitted comes in SXMB_MONI with the following error.
    HTTP response contains status code 500 with the description Timeout Error while sending by HTTP (error code: 500, error text: Timeout)</
    What could be the problem ? Why second message is not splitted. Is it required to add any Receiver Determination step in ID ?
    Kindly tell me, friends.
    Thanking you.
    Kind Regards,
    Jeg P.

    Hi friends,
    I have corrected Message Mapping and Interface Mapping. If I send 2 message (source), I will get only 1 message in the target side. (after transformation)
    In my BPM design, after 'Transformation' step, one block is there, I set property Mode as 'For Each', and I set Multiline Element.
    Now, the 500 Internal Server problem has gone. But, why the 2nd message is not entered into block ?

  • IDOC in transformation step with multi mapping

    Hello,
    I have found this posting
    Splitting a message into multiple Idocs
    and now I am a little bit afraid that our planned process using BPM is not working:
    a) XI receives an IDOC
    b) XI continues with calling an external system sync.
    c) Sync message response and IDOC are used to be merged into one new message M using transformation step (2 messages into 1 new)
    d) send message M to receiver
    Now I have read (see link) that IDOCs cannot be used in such multimapping steps. Is this true?
    Can anybody give some information?
    Best regards
    Dirk

    Hi Michal,
    this answer gives hope!
    So I think there is a misunderstanding in using the "multimapping" term?
    Multimapping in a simple Interfacemapping for 1 sender to n receiver is different from the "multimapping" issue in a transformation step in BPM?
    The central assumption in the mentioned blog was:
    IDOC cannot be used in multimapping because IDOC adapter runs on ABAP engine.
    In BPM transform step we are on Java side and using XML payload! So this will set us apart from the IDOC adapter ABAP engine issue?
    That would be nice!
    Regards
    Dirk

  • Sync send step after transformation step

    Hi Gurus,
    The send step I have after transformation step is not getting the input message. I am splitting the message into 2 messages in the trans step and using one of them as input message in send step. I am getting 'empty container is send to the send step' error.
    Please help me with this problem. I am not sure what I am missing.
    Thanks
    Kalyan

    Kalyan,
    Just adding to the disucussion, you might have  specified a source and 2 target msgs in the transformation step.
    Make sure it is one of the 2 target msgs that you have specified for the send step.
    You can view the 2 target msgs in SXMB_MONI.
    Use Michal's blog for reference.
    /people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
    Regards,
    Jai Shankar

  • Expression must return the interface type in Transformation Step in BPM

    hi,
    We are getting below while activating the IP,
    Expression must return the interface type SI_Send_AA
    Expression must return the interface type SI_Get_AA
    No semantic errors found
    We have a Transformation Step in BPM,
    In OM, Source is SI_Send_AA and Target is SI_Get_AA
    Also Container variable points to  the same Abstract SI's.
    Few Thread's for Same are error are:
    Error in  BPM
    expression must return the interface type
    Transformation step in ccBPM scenario
    Error while compiling Business Process
    Even after checking these i am getting this Exception.
    Please Help!
    Thanks,
    Mayank

    Also Container variable points to the same Abstract SI's
    Are you sure that you are using Abstract Message Interfaces only and that these are referring to relevant container variables.
    Normally it happens that there is some mis-match between the message types/ interfaces that we use in the mapping and that we use in the BPM.
    If still not solved, then delete the Transformation step --> save --> activate......then again Edit the BPM to include the Transformation Step.
    Regards,
    Abhishek.

  • Multiple source messages in transformation step in bpm

    Hello,
    I am using a transformation step in bpm, I have two source messages and 1 target message, I got an error 'expression must return the interface type XXXX(in source message)', I checked my source message in interface mapping and the container element, the types do match.
    All the interfaces in the OM as well as in the bpm container definition are of type abstract.
    It seems to have something to do with the interfaces belonging to different software components?
    I declared a usage dependency from one swcv (holding the bpm) to another (holding the abstract interfaces which cause the error in the transformation step), so that I can reference them in the bpm.
    I thought it might have something to do on how  the message interfaces are selected in the operation mapping. so I tried to select the messages through the depencency path, but that was of no help either.
    Have I been clear?
    Any ideas?
    Thanks
    Matthias

    Since no receiver information is available in the transformation step, there can be no value mapping within the transformation  step. If the messages to be transformed give values in different formats, for example different date formats, you must first normalize the values before the messages can be processed in the process. To do so, define a message mapping with a corresponding value mapping.
    Check the help page below for reference
    http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm

  • Exception is not showing in transformation step in BPM after activating

    Hi ,
    I want to cancel the process if any mapping error occur in transformation step for that I designed by below steps.
    1.Block step ( mentioned exeption)
    2. transformation step ( Inside block mentioned block step exception)
    3. exception branc inside block
    4. contorl step (Cancel process inside exception branch)
    after activating the BPM , in transformation step exception is not showing .
    How to resolve this issue how
    Please help me
    Regards

    2. transformation step ( Inside block mentioned block step exception)
    Did you define the Exception Handler properly and also used the same in the Exception Branch? If you do a check in IR for your BPM (F7) do you get any error/ warning messages?
    Regards,
    Abhishek.

  • Sync Send step after transformation step in BPM

    Hi Gurus,
    I have an interface where I am loading the data into an Oracle database and getting the response back (insertcount) from the database. Based on the response, I have to execute a stored procedure in another sync send step.
    I am doing perfectly alright until the transformation step. The sync send step after this step has the following entries.
    Sync interface: MI_LG_SP_INPUT_ABS
    Request Message: sp_lg_rec
    Response Message: sp_lg_snd
    While doing 'check(F7)', I am getting the following error.
    <b>Interface MI_LG_SP_INPUT_ABS for element sp_lg_poc_step2 is not abstract/asynchronous</b>
    The request message for this sync send step is the target message of the transformation step.
    This error is bugging me since 2 days. Please help me with this.
    Thanks
    Kalyan

    Sravya,
    I know what I did now. For my send sync interface which is MI_LG_SP_INPUT_ABS, I have unnecessarily created a container element and which caused this problem. From your post, I rechecked it and found that I don't need a container element for my abs/sync interface as I already have container elements for request and response which are abs/asynch.
    I gave you full points, thinking that you will come for my rescue in the future (just kidding!!!).
    Thanks again,
    Kalyan

  • BPM problem: mapping in a transformation step

    Hello,
    In my current BPM scenario....
    1)I created the interfaces below for the Receive step (receives MT_Request):
    -MI_async_BPM
    -MI_async_abstract
    2)Then I created the interface and mapping for the transformation step:
    -MI_JDBC_async_abstract
    MM(MT_Request to MT_Request2)
    IM(MI_async_abstract to MI_JDBC_async_abstract)
    3)Then I created the interface and mapping for the Send step:
    -MI_JDBC_async_in
    MM(MT_Request2 to MT_DB_Insert)
    IM(MI_JDBC_async_abstract to MI_JDBC_async_in)
    Problem:
    However, after I executed the scneario, it appeared the step 2) didn't go through correctly(error message:<b>NO_RECEIVER_CASE_ASYNC</b>).  Did I set up the configuration wrong in Integration Process?
    Also, I went back to ID to create a Receiver Determination for step 2) (thought this may clear the problem), but in the Sender tab of Integration Process object, MI_async_abstract was not in there.  Please give me a hand on this problem.  Thanks.
    Regards,
    Steve
    Message was edited by: steve peng
    Message was edited by: steve peng

    Hi Steve,
    Below is the explanation for correlation by Anand Torgal which i think will be helpful to u....
    To explain you the correlation in simple terms...take a simple example of BPM with a send step(async request) and receive step(async response). I am sending a PO request using the send step and waiting for a PO response using the recieve step. Assume that i have two instances of this BPM running i.e two PO request's going simultaneously. when i get the response back for these two requests , there will be two recieve steps waiting for the response since there are two instances of BPM running. the response need to be assigned the corresponding requests. This is where correlation comes into picture. I can use PO number as my correlation field. i.e I activate my correlation in the send step and use this correlation in receive step (this is configurable in BPM).
    Example: PO number needs to be part both request and the response message structure.
    BPM instance1:
    send step -> activate correlation -> send message with PO Number1
    Receive step -> use correlation -> receive response message with PO Number 1.
    BPM instance1:
    send step -> activate correlation -> send message with PO Number2
    Receive step -> use correlation -> receive response message with PO Number 2.
    There are many different scenario's whre you can use the correlation..this is one of them...The weblog shows another way of using correlation.
    Also Refer SAP help...
    Correlating Messages
    Use
    You use a correlation to assign messages that belong together to the same process instance. A correlation joins messages that have the same value for one or more XML elements. A correlation is therefore a loose coupling of messages: at design time, it enables you to define which message a receive step must wait for, without knowing the message ID.
    For example, in a process, receivestep_1receives the message purchaseorder, while receivestep_2receives the message salesorder. Receivestep_1creates a correlation that defines that the corresponding sales order must have the same purchase order number. Receivestep_2uses this correlation. This means that an instance of the process processes a purchase order and the corresponding sales order, which has the same purchase order number.
    If it satisfies the relevant correlations, a message can be processed in multiple processes. However, a message is only delivered once per process.
    http://help.sap.com/saphelp_nw04/helpdata/en/a5/64373f7853494fe10000000a114084/content.htm
    Regards,
    Abhy

  • Transformation step trace

    Hi all.
       I have a problem with checking if my mapping(transformation step in BPM) works OK.
       When I'm in WF log for my BPM, I'm able to see details of incoming message but I can't see outcoming one;
       for outcoming message - when I'm in message monitor(by forward navigation from WF log) after clicking on the entry I get the message: "Selected message does not exist(any more)".
      Transformation step is the second one in the line, just afrer receiver step:
      1. Receiver step (start of the process)
      2. Transformation step
      ....rest of steps in process.... 
       I did even a small test - have created very simple mapping (1:1) and put it as another Transformation step - result of the test was exactly the same like with original/intended mapping.
      SXMB_ADM has logging switched on and even trace level set to highest value.
      In BPM all steps have the option "Create new transaction" switched on.
    Anyone has any idea what can be wrong?
    Regards,
        G.

    The whole process ends with success.
    I'm able to see all steps including steps containers in WF log. Problem is when I try to go deeper and see an outcome from the mapping - then I'm moved to the message monitor and there I receive error message like described in my first post here. 
    Regs,
      G.

  • BPM Error in Transformation Step: Interface Mapping not found

    Hi,
    Can you help me on this? I have a tranformation step in my BPM that combines a request and response message of a previous Send step to create a Source message for the next Send step. However, on my transformation step, I got the mapping error in workflow log: Interface mapping http://gl.euhreka.com/learning/skillsoft/catalogSy.YGLXI_OM_MergeRequestAndHandleResponseAB_To_PollFo (SWCV=DF8549309ECE11DFB58DF3570A341E0F) not found
    Do you have any idea about this error? My mapping program is working fine. I also checked if the container elements assigned to the transformation steps are correct. 
    Can you suggest of other way on how can I achieve on merging 2 messages (request and response) and set it to the Request for another send step?
    Thanks,
    Jenny

    Hello,
    I already solved the problem. The namespace and Operation mapping name is too long that's why it cannot be located at runtime.
    After the rename, another error appeared.
    "Incorrect XML format after mapping: Root-Tag expected instead of Messages"
    There are no useful information on the trace:
      <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping http://test YGLXI_OM_Merge , Software Component Version DF8549309ECE11DFB58DF3570A341E0F</Trace>
      <Trace level="1" type="T">Mapping Step 1 , Type XSLT , Program PollForReport_Merge</Trace>
      <Trace level="2" type="T">Call XSLT processor with stylsheet PollForReport_Merge.xsl.</Trace>
      <Trace level="2" type="T">Returned form XSLT processor.</Trace>
      </MappingTrace>
    Here is myXSLT program:
    <?xml version='1.0' encoding='utf-8' ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  >
         <xsl:template match="/">
              <YGLXI_MT_PollForReportRequest>
                   <customerID>
                        <xsl:value-of select="//customerID"/>
                   </customerID>
                   <customerPassword>
                        <xsl:value-of select="//customerPassword"/>
                   </customerPassword>
                   <reportIDHandle>
                        <xsl:value-of select="//reportHandle"/>
                   </reportIDHandle>
              </YGLXI_MT_PollForReportRequest>
         </xsl:template>
    Here is my source message:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:YGLXI_MT_InitiateFullCourseListingRequest xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <customerID>ZZZ</customerID>
             <customerPassword>XXX</customerPassword>
             <reportFormat>VVV</reportFormat>
             <mode>VCC</mode>
             <userName>CC</userName>
          </ns1:YGLXI_MT_InitiateFullCourseListingRequest>
       </ns0:Message1>
       <ns0:Message2>
          <ns1:YGLXI_MT_InitiateFullCourseListingResponse xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <reportHandle>SADA</reportHandle>
          </ns1:YGLXI_MT_InitiateFullCourseListingResponse>
       </ns0:Message2>
    </ns0:Messages>
    I tested my program in Operation mapping and it is working. How come it is not in BPM?
    Thanks,
    Jenny

  • Handling Java Mapping Exception in BPM Transformation step

    Dear SDN members,
    I have developed a File to File scenario using BPM as follows.
    Step 1:
    Sender file adapter picks the file from FTP server and using file content conversion mapped to XML structure.
    Step 2:
    BPM will recieve the XML payload , immediately in the block a transformation step is called with an interface mapping. In the interface mapping a Java mapping will be executed with certain data validations on the XML payload. If found any invalid data is there a suitable excptions will be raised . Here the transformation step should be catch the error and control should be sent to exception block to place the recived file as a error file.
    else if the transformation is executed with out any issues, the file will be placed in success folder.
    But in the transformation step, though java mapping thorwing exceptions, the control not going into exception block, instead it is continuing to next step i.e the file is placing in the success folder.
    Can anybody tell me, how to handle the exceptions raised in java mapping in the BPM transformation step?
    I have refered all the SDN blogs, forums related to this issue, but could not able to find the answer. Please help me?
    Thanks & Regards
    Vijayanand Poreddy

    Hi Abhishek,
    Once the file is picked from FTP server then sent to BPM,
    the BPM steps
    Step1:
    -->Recive
    Step 2:
    Block Starts
       ---Block Start: New Transaction
       ---Block End : New Transaction
       ---Exception : Error
    Step 3 
    Inside the Block
    Transformation Step
       --Interface Mapping: <IM Name>
       -- Check box ticked for Create New Transcation
       -- Exceptions
          --System Error: Error
       --Source Message: Message recieved in Recieve Step (Step 1)
    Step 4:
      --Send
      --Source Maessage: Output message from the Transformation Step
    Block End
    Inserted a Exception Branch for Block
    Steps inside Exception Branch
      -Control
        --Throw Alert
       --Alert Name
    In the above scenario
    The transformation step is not throwing error even my interface mapping going to error. The same transformation step if i place outside the block next to recieve step, then the transformation step is throwing error and BPM stops the process.
    Also, when transformation is inside the block, i have used the exception handling on the send step inside the block. here it is throwing error as the source message payload is empty. because in the preceding transformation step the interface mapping is failed due to which there the target will not be filled. But even though it is not entered into exception block.
    Regards
    Vijayanand Poreddy

  • Error in transformation steps

    Hi
    I have a scenario where i need to send to source messages  to ont target message ,I am tring to do using BPM.
    I have used steps
    1)recive step to recive the file(I am giving here 1 msg type from two)
    2)Transformation step to transform two sources to 1 target
    3)Send file to pick the file.
    I am not doing any configuration for the transformation step...
    Error in bpm work flow technical details at mapping error..
    *****com/sap/xi/tf/_eadress_mm_com.sap.aii.utilxi.misc.
    api.BaseRuntimeExceptionRuntimeException in
    Message-Mapping transformatio~******
    I have tested messape mapping & interface mapping they where no errors..
    Can any please help me how to work with transformation or can any one please send sample weblogs which explains transformation step in detail...
    Thanks
    sriram

    Hi,
    <i>1)recive step to recive the file(I am giving here 1 msg type from two)</i>
    >> Do you mean, you are getting 2 files of same message type ? i.e multiple messages of same message type,then you need to collect it and send it one message ? So you need to execute N:1 mapping ?
    If so, you need to go for bpmCollectPatterns available in the SAP BSAIS Software comoponent in the Repository.
    Refer this part of SAP Help-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
    If you  have 2 types(i.e 2 different Interfaces) of files then you can look into this Pattern-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    >>>the error looks like , mapping is not done properly.i.e did you test the mapping with the live data from the SXMB_MONI.
    Also check the Occurence levels of the messages in the mapping, if you are collecting the messages
    Hope this helps,
    Regards,
    Moorthy

  • Error in transformation step

    Hi all,
    In my requirement i have a BPM with the following steps
    start->Rx->Send<>Tranform>Send->end
    first send step is synchronous and it is sending req to a website and receiving response through http receiver channel.
    second send step is asynchronous , sending response received from website to a file server through file receiver channel.
    i have a transformation step ,where i am doing transformation between the structure in receive step and the structure in second send step,
    can i do that?
    can we do transformation between any async abstract structures that we define for BPM?
    BPM is showing error in transformation step, i dont know whats the error is and how to see the error and rectify the problem
    plz help
    regards
    jhansi

    <b>-Check the Transformation Step in BPM, weather it has correct source and target abstract interfaces or not.
    - Check the Message Mapping and interface Mapping manually from the Test Tab in IR.
    -Check the status of the Error of BPM in SXI_CACHEIntegration ProcessyourBPM. Code should be 0..if something else it is showming means it has an Error.
    -Check the Test data you are using to test your interface.
    - Check Webservice sending the correct response or it is failing at the time of response..may be because of WS is not running properly or server is down.</b>
    Thanks
    Farooq.

Maybe you are looking for

  • How to configure VPN with Cisco ASA 5505 behind Actiontec MI424WR

    I'm trying to test my Cisco VPN client from my workplace to my home where I have a Cisco ASA 5505 (VPN server) behind the Actiontec MI424WR.  I'm able to Ping the Actiontec external IP.  I also have Port Forwarding for IKE and IPSec configured on the

  • Copy from a closed A/R invoice to a A/R Credit Memo.

    Hello Forum, I have a closed A/R invoice that is paid up. Now, if the customer returns that  item, I would create an A/R Credit Memo and pull up from the above A/R Invoice. However, SAP B1 8.8 does not allow copy from a closed A/R invoice. In that co

  • Printing settings not holding in firefox

    When printing a document from Amazon my Canon Laser D480 wants to print in landscape mode even when I set the parameters in windows to Portrait Mode setting. Printing a MS Word document works properly. Is Amazon sending false printer settings????? ==

  • Windows 7 crashes on launch

    I have installed Windows 7 on my MacBook Pro. I know this is currently unsupported as Apple is yet to release an update to Boot Camp, but wondering if anyone else is experiencing this issue. Basically, Windows 7 will crash / shut itself down immediat

  • Locking plan versions , plant wise

    Hello experts, Requesting your expert advice in the below requirement of ours. The requirement is to plan cost  using plan versions, period wise. This is achievable in CJR2. Now when the user is planning cost for the next month, he would like to lock