Skip to Content

Multi-mapping and BPM (integration process) always use to go hand-in-hand. Since SPS14, this isn’t true anymore. In the case of message splits (1:n transformations), multi-mappings can now be created and used in non-BPM scenarios. Referred to in many different ways, but most commonly as mapping-based message splits, this new enhancement affords SAP NetWeaver XI developers an opportunity to take BPM out of the equation for message split based scenarios.

Here are the highlights to get this set up:

Design

In design, create a multi-mapping as if it was being done for a multi-mapping within an integration process transformation. Multi-mapping for a mapping-based message split is created in the same way.

image

In the Messages tab, you set the cardinality (i.e. occurrence) for the target messages.

image

image

Again, for the Interface Mapping, proceed as normal.

image

Configuration

For mapping-based interface determination, a new option is available starting with SPS14. A radio button option called Type of Interface Determination exists in which option Standard is the default. Choose Enhanced.

image

Selecting this option changes the Interface Determination screen as shown below. For parameter Interface Mapping, value help is available to select the corresponding Interface Mapping previously set up in design. Mapping-based message split and interface determination is ready to go.

image

Monitor

In the monitor (SXMB_MONI), notice that after the Request Message Mapping pipeline step, there are multiple SubMainDocuments under Payloads.

image

Benefits

A mapping-based message split will ultimately produce n individual messages, but not until it reaches the Adapter Engine (AE). Inside the Integration Engine (IE), the messages are grouped together and persisted as one bulk message. The bulk message is sent to the AE where it splits the bulk message into individual messages and persists them. This, along with the absence of the usual overhead included in a integration process, drastically reduces resource consumption and improves performance.

Restrictions

  • Messages that result from the split in a mapping-based message split are sent using one AE. So only adapters running on the AE are supported. In particular, this means that target IDOC message splits are not supported since the IDOC adapter is not part of the AE.
  • The target system of the message splits cannot be an integration process.
  • Attachments from the original message are not appended to the messages resulting from the message split.
To report this post you need to login first.

183 Comments

You must be Logged on to comment or reply to a post.

  1. Former Member
    i have a scenario where i have one source file whih is xml then i have to split the file as each hhtp request for each case item to the target sysm.can u please guide me how to proceed..i need ur help
    (0) 
    1. Former Member Post author
      Similar to the blog, sounds like you need two target message types – one that corresponds to the multiple cases and one that carries the pallet and cases (w/o items).  The message type for one or more cases would have cardinality of 0..unbounded (same with the associated inbound interface).  The other would just be 1..1 . BTW, the samples posted seem to be missing some matching closing tags.

      Also, please post this question in the  Exchange Infrastructure forum if it is not resolved as it could go back and forth getting the right details and plus others can also provide their input.  I believe you can also search and find some very similar requirements/questions for this already posted in the forum.

      Regards,
      Jin

      (0) 
    2. Former Member
      Hi Jyothi,
      As per Jin blog this is not possible for receiver adapters that are not belonging to AE.
      Since IDOC and HTTP lies in ABAP stack I don’t think you can do this as per the blog.
      I didn’t Jin try but statement makes it clear.
      Regards
      Praveen
      (0) 
    1. Former Member Post author
      Similar to the blog, sounds like you need two target message types – one that corresponds to the multiple cases and one that carries the pallet and cases (w/o items).  The message type for one or more cases would have cardinality of 0..unbounded (same with the associated inbound interface).  The other would just be 1..1 . BTW, the samples posted seem to be missing some matching closing tags.

      Also, please post this question in the  Exchange Infrastructure forum if it is not resolved as it could go back and forth getting the right details and plus others can also provide their input.  I believe you can also search and find some very similar requirements/questions for this already posted in the forum.

      Regards,
      Jin

      (0) 
    2. Former Member
      Hi Jyothi,
      As per Jin blog this is not possible for receiver adapters that are not belonging to AE.
      Since IDOC and HTTP lies in ABAP stack I don’t think you can do this as per the blog.
      I didn’t Jin try but statement makes it clear.
      Regards
      Praveen
      (0) 
    1. Former Member Post author
      Similar to the blog, sounds like you need two target message types – one that corresponds to the multiple cases and one that carries the pallet and cases (w/o items).  The message type for one or more cases would have cardinality of 0..unbounded (same with the associated inbound interface).  The other would just be 1..1 . BTW, the samples posted seem to be missing some matching closing tags.

      Also, please post this question in the  Exchange Infrastructure forum if it is not resolved as it could go back and forth getting the right details and plus others can also provide their input.  I believe you can also search and find some very similar requirements/questions for this already posted in the forum.

      Regards,
      Jin

      (0) 
    2. Former Member
      Hi Jyothi,
      As per Jin blog this is not possible for receiver adapters that are not belonging to AE.
      Since IDOC and HTTP lies in ABAP stack I don’t think you can do this as per the blog.
      I didn’t Jin try but statement makes it clear.
      Regards
      Praveen
      (0) 
        1. Former Member Post author
          Currently, it is planned to be supported in SAP NetWeaver PI 7.1 Ehp2 or 7.2 (which is planned for ramp-up around the end of 2009).  Again these are planned targets for now.

          Regards,
          Jin

          (0) 
        1. Former Member Post author
          Currently, it is planned to be supported in SAP NetWeaver PI 7.1 Ehp2 or 7.2 (which is planned for ramp-up around the end of 2009).  Again these are planned targets for now.

          Regards,
          Jin

          (0) 
        1. Former Member Post author
          Currently, it is planned to be supported in SAP NetWeaver PI 7.1 Ehp2 or 7.2 (which is planned for ramp-up around the end of 2009).  Again these are planned targets for now.

          Regards,
          Jin

          (0) 
  2. Former Member
    Hi Jin,
    thanks for this nice blog. I wanted to created a similar scenario on PI 7.1 but there is no enhanced Interface Determination any more. In one blog I have read that new Interface Determination in 7.1 is capable of handling multiple interfaces in anyway. But I can’t assign multiple target interfaces to one mapping. In SAP Help I have read that the interfaces are determined at runtime and it looks like it really works but for me it is still a step back in respect to visibility when I don’t see all target Interfaces in the Interface Determination.

    Thanks and go on,
    Manfred

    (0) 
    1. Former Member Post author
      Hi Manfred –

      Apologize for the very delayed response.  In 7.1 and beyond, you’re right that in the Interface Determination, there no longer is the config option to select “Standard” or “Enhanced” Interface Determination.  That’s because, based on the Operation Mapping selected, the “Standard” or “Enhanced” option will be automatically configured (the Int. Determination configuration screen changes its appearance as well to account for this – the visibility of all the target interfaces are there).  Please check again.

      Regards,
      Jin

      (0) 
  3. Former Member
    Hi Jin,
    thanks for this nice blog. I wanted to created a similar scenario on PI 7.1 but there is no enhanced Interface Determination any more. In one blog I have read that new Interface Determination in 7.1 is capable of handling multiple interfaces in anyway. But I can’t assign multiple target interfaces to one mapping. In SAP Help I have read that the interfaces are determined at runtime and it looks like it really works but for me it is still a step back in respect to visibility when I don’t see all target Interfaces in the Interface Determination.

    Thanks and go on,
    Manfred

    (0) 
    1. Former Member Post author
      Hi Manfred –

      Apologize for the very delayed response.  In 7.1 and beyond, you’re right that in the Interface Determination, there no longer is the config option to select “Standard” or “Enhanced” Interface Determination.  That’s because, based on the Operation Mapping selected, the “Standard” or “Enhanced” option will be automatically configured (the Int. Determination configuration screen changes its appearance as well to account for this – the visibility of all the target interfaces are there).  Please check again.

      Regards,
      Jin

      (0) 
  4. Former Member
    Hi Jin,
    thanks for this nice blog. I wanted to created a similar scenario on PI 7.1 but there is no enhanced Interface Determination any more. In one blog I have read that new Interface Determination in 7.1 is capable of handling multiple interfaces in anyway. But I can’t assign multiple target interfaces to one mapping. In SAP Help I have read that the interfaces are determined at runtime and it looks like it really works but for me it is still a step back in respect to visibility when I don’t see all target Interfaces in the Interface Determination.

    Thanks and go on,
    Manfred

    (0) 
    1. Former Member Post author
      Hi Manfred –

      Apologize for the very delayed response.  In 7.1 and beyond, you’re right that in the Interface Determination, there no longer is the config option to select “Standard” or “Enhanced” Interface Determination.  That’s because, based on the Operation Mapping selected, the “Standard” or “Enhanced” option will be automatically configured (the Int. Determination configuration screen changes its appearance as well to account for this – the visibility of all the target interfaces are there).  Please check again.

      Regards,
      Jin

      (0) 
  5. Former Member
    Hi

    What other solutions are out there if we require so split an inbound XML message that feeds an Integration Process? We used an Interface Map to do this because of speed (BPM was extremely slow), however we ran into the issue that you can’t do multimapping when sending output to an Integration Process?

    We simply require something quick that can split an xml message thats received inbound via a SOAP Adapter – splitting 20 000 lines received in an Single XML. Core processing logic and business rules is applied in an Integration Process, that processes a line at a time

    (0) 
    1. Former Member Post author
      Hi –

      I’ve learned recently that starting with PI 7.1/SP6, this is technically feasible.  That is, a mapping split can feed an integration process as support for message packages in ccBPM and a new Note (1127375) has made this possible.  Make sure that the operation mapping uses abstract target interfaces.

      Before 7.1, there is no direct solution where mapping split feeds an integratin process.

      Regards,
      Jin

      (0) 
  6. Former Member
    Hi

    What other solutions are out there if we require so split an inbound XML message that feeds an Integration Process? We used an Interface Map to do this because of speed (BPM was extremely slow), however we ran into the issue that you can’t do multimapping when sending output to an Integration Process?

    We simply require something quick that can split an xml message thats received inbound via a SOAP Adapter – splitting 20 000 lines received in an Single XML. Core processing logic and business rules is applied in an Integration Process, that processes a line at a time

    (0) 
    1. Former Member Post author
      Hi –

      I’ve learned recently that starting with PI 7.1/SP6, this is technically feasible.  That is, a mapping split can feed an integration process as support for message packages in ccBPM and a new Note (1127375) has made this possible.  Make sure that the operation mapping uses abstract target interfaces.

      Before 7.1, there is no direct solution where mapping split feeds an integratin process.

      Regards,
      Jin

      (0) 
  7. Former Member
    Hi

    What other solutions are out there if we require so split an inbound XML message that feeds an Integration Process? We used an Interface Map to do this because of speed (BPM was extremely slow), however we ran into the issue that you can’t do multimapping when sending output to an Integration Process?

    We simply require something quick that can split an xml message thats received inbound via a SOAP Adapter – splitting 20 000 lines received in an Single XML. Core processing logic and business rules is applied in an Integration Process, that processes a line at a time

    (0) 
    1. Former Member Post author
      Hi –

      I’ve learned recently that starting with PI 7.1/SP6, this is technically feasible.  That is, a mapping split can feed an integration process as support for message packages in ccBPM and a new Note (1127375) has made this possible.  Make sure that the operation mapping uses abstract target interfaces.

      Before 7.1, there is no direct solution where mapping split feeds an integratin process.

      Regards,
      Jin

      (0) 
  8. Former Member
    Jin,
    Is there a limitation in Soap receiver adapter with multi-mapping on PI 7.1? In a web service integration scenario using SOAP receiver adapter in BPM, though I get a successful response in 1-1 mapping, I get ‘500-Internal server error’ when doing n-1 mapping. In both the case the target XML message content populated are same.

    Error: Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION – HTTP 500 Internal Server Error

    Thanks
    ~SaNv..

    (0) 
  9. Former Member
    Jin,
    Is there a limitation in Soap receiver adapter with multi-mapping on PI 7.1? In a web service integration scenario using SOAP receiver adapter in BPM, though I get a successful response in 1-1 mapping, I get ‘500-Internal server error’ when doing n-1 mapping. In both the case the target XML message content populated are same.

    Error: Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION – HTTP 500 Internal Server Error

    Thanks
    ~SaNv..

    (0) 
  10. Former Member
    Jin,
    Is there a limitation in Soap receiver adapter with multi-mapping on PI 7.1? In a web service integration scenario using SOAP receiver adapter in BPM, though I get a successful response in 1-1 mapping, I get ‘500-Internal server error’ when doing n-1 mapping. In both the case the target XML message content populated are same.

    Error: Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION – HTTP 500 Internal Server Error

    Thanks
    ~SaNv..

    (0) 
  11. Former Member
    Hi Jin,

    Is it possible to have a multi-mapping in asynchronous web service call to multiple synchronous web services on third party systems? To be clear my source system makes a call that needs to be mapped to an RFC on R/3 and couple of web services on third party systems. As we don’t have IDOC or integration process involved at the destination, i assume we can implement the scenario.

    However, i was just wondering on how we handle the response messages of the RFC and synchronous web service calls back to the source system which calls up the asynchronous webservice.

    ur inputs would me much appreciated

    (0) 
  12. Former Member
    Hi Jin,

    Is it possible to have a multi-mapping in asynchronous web service call to multiple synchronous web services on third party systems? To be clear my source system makes a call that needs to be mapped to an RFC on R/3 and couple of web services on third party systems. As we don’t have IDOC or integration process involved at the destination, i assume we can implement the scenario.

    However, i was just wondering on how we handle the response messages of the RFC and synchronous web service calls back to the source system which calls up the asynchronous webservice.

    ur inputs would me much appreciated

    (0) 
  13. Former Member
    Hi Jin,

    Is it possible to have a multi-mapping in asynchronous web service call to multiple synchronous web services on third party systems? To be clear my source system makes a call that needs to be mapped to an RFC on R/3 and couple of web services on third party systems. As we don’t have IDOC or integration process involved at the destination, i assume we can implement the scenario.

    However, i was just wondering on how we handle the response messages of the RFC and synchronous web service calls back to the source system which calls up the asynchronous webservice.

    ur inputs would me much appreciated

    (0) 
  14. Former Member
    Hello Jin,

      Very informative blog & well explained ! Thanks a lot.
      I wanted to check with you if the 1:N multimapping split is still restricted to AE?
    In other words, has it been extended to ABAP stack adapters such as Proxy, HTTP say PI 7.1 onwards?

    Thanks and Regards,
    Zabi

    (0) 
    1. Former Member Post author
      Yes, this restriction still exists in 7.1 and 7.1 EHP1.  However, with our next major release near end of 2010, with HTTP and IDoc capabilities delivered in AAE, some improvements can be expected.

      Regards,
      Jin

      (0) 
  15. Former Member
    Hello Jin,

      Very informative blog & well explained ! Thanks a lot.
      I wanted to check with you if the 1:N multimapping split is still restricted to AE?
    In other words, has it been extended to ABAP stack adapters such as Proxy, HTTP say PI 7.1 onwards?

    Thanks and Regards,
    Zabi

    (0) 
    1. Former Member Post author
      Yes, this restriction still exists in 7.1 and 7.1 EHP1.  However, with our next major release near end of 2010, with HTTP and IDoc capabilities delivered in AAE, some improvements can be expected.

      Regards,
      Jin

      (0) 
  16. Former Member
    Hello Jin,

      Very informative blog & well explained ! Thanks a lot.
      I wanted to check with you if the 1:N multimapping split is still restricted to AE?
    In other words, has it been extended to ABAP stack adapters such as Proxy, HTTP say PI 7.1 onwards?

    Thanks and Regards,
    Zabi

    (0) 
    1. Former Member Post author
      Yes, this restriction still exists in 7.1 and 7.1 EHP1.  However, with our next major release near end of 2010, with HTTP and IDoc capabilities delivered in AAE, some improvements can be expected.

      Regards,
      Jin

      (0) 
  17. Former Member
    I am doing the scenario File to IDoc ,picking the .CSV file from the FTP server .
    The problem is that the file is picking fine from FTP ,but getting an error in SXMB_MONI as : Messages in multi message format can be sent to one adapter engine only. What could be the reason and how to rectify it . Please provide me the solution ASAP.

    My Source strucure :

    MT_Source_File_Sender 1..1
    Record 0..Unbounded
    Business 1..1
    Line 1..1
    Curency 1..1
    Date 1.1
    etc….

    My Target IDoc: ORDERS.ORDERS05

    ORDERS05 1..1
    IDOC 0..99999
    EDI_DC40 1..1
    E1EDK01 1..1

    Thank You.
    Regards,
    Bharat Kumar

    (0) 
  18. Former Member
    I am doing the scenario File to IDoc ,picking the .CSV file from the FTP server .
    The problem is that the file is picking fine from FTP ,but getting an error in SXMB_MONI as : Messages in multi message format can be sent to one adapter engine only. What could be the reason and how to rectify it . Please provide me the solution ASAP.

    My Source strucure :

    MT_Source_File_Sender 1..1
    Record 0..Unbounded
    Business 1..1
    Line 1..1
    Curency 1..1
    Date 1.1
    etc….

    My Target IDoc: ORDERS.ORDERS05

    ORDERS05 1..1
    IDOC 0..99999
    EDI_DC40 1..1
    E1EDK01 1..1

    Thank You.
    Regards,
    Bharat Kumar

    (0) 
  19. Former Member
    I am doing the scenario File to IDoc ,picking the .CSV file from the FTP server .
    The problem is that the file is picking fine from FTP ,but getting an error in SXMB_MONI as : Messages in multi message format can be sent to one adapter engine only. What could be the reason and how to rectify it . Please provide me the solution ASAP.

    My Source strucure :

    MT_Source_File_Sender 1..1
    Record 0..Unbounded
    Business 1..1
    Line 1..1
    Curency 1..1
    Date 1.1
    etc….

    My Target IDoc: ORDERS.ORDERS05

    ORDERS05 1..1
    IDOC 0..99999
    EDI_DC40 1..1
    E1EDK01 1..1

    Thank You.
    Regards,
    Bharat Kumar

    (0) 
  20. Former Member
    How do i overcome the adding of the envelope in the source message? I am doing a 1:2 message split. PI adds teh envelope in source (Messages->Message1)  and then my Mt_XPTO starts. Since my message root in inbound is MT_XPTO->Record.. the mapping fails cause the envelope has occurence 1..1. How do i overcome this?
    (0) 
  21. Former Member
    How do i overcome the adding of the envelope in the source message? I am doing a 1:2 message split. PI adds teh envelope in source (Messages->Message1)  and then my Mt_XPTO starts. Since my message root in inbound is MT_XPTO->Record.. the mapping fails cause the envelope has occurence 1..1. How do i overcome this?
    (0) 
  22. Former Member
    How do i overcome the adding of the envelope in the source message? I am doing a 1:2 message split. PI adds teh envelope in source (Messages->Message1)  and then my Mt_XPTO starts. Since my message root in inbound is MT_XPTO->Record.. the mapping fails cause the envelope has occurence 1..1. How do i overcome this?
    (0) 

Leave a Reply