cancel
Showing results for 
Search instead for 
Did you mean: 

Splitting multiple IDoc XML files into single IDoc messages for R/3

Former Member
0 Kudos

Hi all. I have a problem splitting IDoc XML files coming in to XI. I currently have an interface that takes in single store sale IDoc transactions (type WPUBON01) in an IDoc XML file. I then have some complex graphical mapping on the IDoc before sending to R/3 via the IDoc adapter. This works fine. However, we now wish to include multiple sales in one file i.e. many WPUBON01 IDocs. I could use message splitting to do this BUT the mapping is so complex, I do not wish to have to change it to enable the processing of many IDocs in one file instead of just one.

What I want to do: have one mapping splitting a multiple IDoc XML file into single IDoc messages and then another taking these single messages as before and performing the mapping. I cannot find a way to do this in one interface; the main problem I'm having is getting XI to split the multiple IDocs into many single IDoc messages within XI itself. I'd be very grateful for any advice on the best way to do this.

Thankyou.

Stuart Richards (Halfords, UK)

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

Bhavesh,

Thanks for your continuing help with this. I've made the settings suggested and checked all of the above but my receiver SOAP channel still gives me a 'call failed' in the Runtime Workbench. Oddly, when I go into the audit log for this, all the steps are successful with no errors reported. Hmm.... Anyway, am struggling to find the time to look at this right now but am determined we'll get a solution eventually!

Cheers

Stuart

Former Member
0 Kudos

Bhavesh,

Still no joy... I'm not clear of the intention of Stefan's blog but have added the &QualityOfService=ExactlyOnce parameter to the end of the URL. I'm still getting the same HTTP 500/AFW errors as above in the SOAP receiver comm channel.

To recap what settings I have:

1. IDoc XML File -> SOAP Receiver in interface A and SOAP Sender to IDoc Adapter in interface B.

2. IDoc XML has one set of <WPUBON01> tags around many <IDOC> tags, so many IDocs in one file.

3. Message mapping and interface mapping for interface A both 1:1 in source and 1...unbounded in target.

4. SOAP receiver comm channel has URL http://xidev:50000/XISOAPAdapter/MessageServlet?channel=:BS_Store6Multi2SingleSales_RD1_104:CC_Sales.... I'm using user authentication for XIAFUSER. Currently, the Do Not Use SOAP Envelope is ticked and as per Stefan's blog, I'm using http://sap.com/xi/WebService/soap1.1 as the SOAP Action. Unticking the box or blanking out the SOAP Action seems to make no difference.

5. The interface determination for interface A is Enhanced using my 1..unbounded interface mapping and the interface WPUBON.WPUBON01 and namespace urn:sap-com:document:sap:idoc:messages. This interface and namespace are also entered as Default Interface Namespace and Name in interface B's sender SOAP adapter. The QOS here is set to ExactlyOnce.

Thanks for you help, much appreciated. Hopefully Stefan is reading too and can have some input?!

bhavesh_kantilal
Active Contributor
0 Kudos

> 2. IDoc XML has one set of <WPUBON01> tags around

> many <IDOC> tags, so many IDocs in one file.

This is the first problem. You are trying Idoc Packaging here. Instead try MultiMappiing without BPM ( check the similar blog on SDN on thsi topic ).

You would need to change the Occurence of the Message in Message mapping and Interface in Interface mapping such that every record in the file create a separate Idoc and not a packaged Idoc.

> 3. Message mapping and interface mapping for

> interface A both 1:1 in source and 1...unbounded in

> target.

Once you make Step 2 , do the step 3 for Interface Mapping.

> 4. SOAP receiver comm channel has URL

> http://xidev:50000/XISOAPAdapter/MessageServlet?channe

> l=:BS_Store6Multi2SingleSales_RD1_104:CC_SalesSender_R

> D1_104&QualityOfService=ExactlyOnce. I'm using user

> authentication for XIAFUSER. Currently, the Do Not

> Use SOAP Envelope is ticked and as per Stefan's blog,

> I'm using http://sap.com/xi/WebService/soap1.1 as the

> SOAP Action. Unticking the box or blanking out the

> SOAP Action seems to make no difference.

The URL is correct. You should not select option Do Not Use SOAP Envelope and this is for a different purpose and you can keep the SOAP action blank.

Use a User ID that has roles XIAPPLUSER. Not sure if XIAFUSER has these roles.

Try making these changes and let us know.

Regards

Bhavesh

Former Member
0 Kudos

Bhavesh,

Thanks again for a clear explanation... I'm moving forwards but still struggling. I've been on this all afternoon today (after a break on other things) and just cannot get my message to split properly (though the SOAP adapter problem I had earlier is now fixed!). If my initial IDoc XML file contains this format:

<WPUBON01><IDOC>....</IDOC>

<IDOC>....</IDOC>

....

<IDOC>....</IDOC></WPUBON01>

.. I'm not sure what the cardinaility on the first message mapping and interface mapping should be. I'd have thought the source interface would be 1 and the target would be 0..unbounded but this isn't working. I'm trying different things but I get different errors each time. Currently, I have the above cardinality in my first interface and I'm passing in the following data:

<WPUBON01><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832292</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160633</VORGZEIT><BONNUMMER>1001</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1001</ZUONR></E1WPB06></E1WPB01></IDOC><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832293</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160634</VORGZEIT><BONNUMMER>1002</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1002</ZUONR></E1WPB06></E1WPB01></IDOC><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832294</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160634</VORGZEIT><BONNUMMER>1003</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1003</ZUONR></E1WPB06></E1WPB01></IDOC></WPUBON01>

In the message monitor, I get a chequered flag. Great. However, I get the dreaded error 500 in the SOAP receiver comm channel:

SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error

...

Exception caught by adapter framework: SOAP Error

Delivery of the message to the application using connection AFW failed, due to: SOAP Error.

Any ideas as to what this might be?! I'm getting there.... if I get a solution out of this, I promise to write the blog myself!

Cheers

Stuart

bhavesh_kantilal
Active Contributor
0 Kudos

Stuart,

1. The Cardinality should be such that the Message Mapping and Interface mapping should have the Target Idoc as 1..unbounded.

2., In the interface determination select the option Extended/ Enhanced and select the interface mapping.

3. In the SOAP adapter ( receiver SOAP adapter ) , in the URL , you might need to add the Quality Of Service as &QualityOfService = 'ExactlyOnce' ( check Stefan Grube's blog - how to use inbound SOAP channel of the integration Engine for this part of the URL )

Try this and let me know

Regards

Bhavesh

Former Member
0 Kudos

Bhavesh,

You're a genius! I like this idea and am nearly there... struggling with the URL part and definition of the web service however as I'm no expert with the SOAP adapter...

As I'm using IDocs, I don't have any Message Interface created in the Design Repository. Yet when I try to define the web service, it requires a message interface. What should I do here? Also, I understand the make-up of the URL but would the service name be that of the first interface sender service or the receiver service? I'm confused?!

Many thanks for your help...

Stuart

bhavesh_kantilal
Active Contributor
0 Kudos

> You're a genius!

This way my exact reaction when I saw this concept of SOAP receiver - SOAP Sender handshake at one of my cleints implementations. Not an original idea, some bigger genius had designed this at one of my clients and I was as stupefied as you were...

Been wanting to post a blog on this for sometime now, but time doesnt let me do that..

> As I'm using IDocs, I don't have any Message

> Interface created in the Design Repository. Yet when

> I try to define the web service, it requires a

> message interface. What should I do here? Also, I

> understand the make-up of the URL but would the

> service name be that of the first interface sender

> service or the receiver service? I'm confused?!

You do not need to create a WSDL in XI for this. Let me put explain this further.

In the Receiver SOAP adapter, the URL to be used will be the URL pointing to the Sender SOAP adapter,

<b>http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=:SENDERSERVICE:SENDERSOAPADAPTERNAME</b>

The sender SOAP adapter will in turn contain the Message Interface and Namespace values for the Interface 2's receiver determionation.

No WSDL generation needed, its just a point of posting the request back to XI but as multiple requests.( Multimapping withot BPM back to XI).

Regards

Bhavesh

Former Member
0 Kudos

Soap Receiver - Soap Sender Hand shake?

This is really awesome.. Thanks for a wonderful tip and may help a lot by a blog...

Regards,

Jai Shankar

Former Member
0 Kudos

This is really gud one.. Thanks Staurt and Bhavesh....Learned something today

Former Member
0 Kudos

Sarath - I've tried this but the split does not work.

Jai - thanks for this. I've already done what you suggest however. My problem is the complex mapping required that becomes far too complex processing multiple IDocs in the input message. I need a solution that will split the IDocs into multiple messages within XI (before reaching the IDoc adapter into R/3) so that I can process the mapping on single IDocs before posting to R/3. This is driving me crazy!

Cheers

Stuart

bhavesh_kantilal
Active Contributor
0 Kudos

Let me first check if I got he requirement right.

You have a file to idoc scenario that works fine.

Now, your source file structure changes such that your single source file is going to contain multiple files and you do not want toc hange the xisting scenario or rather the mapping..

I have a solution - a rather roundaboput one - but will work for sure.

Change your scenario from file - xi - idoc to

1. File - XI - SOAP Receiver Adapter Containing URL of XI's SOAP sender Adapter

2.. SOAP Sender Adapter - XI - Idoc.

1. This will use MultiMapping without BPM where the Single Source file is split into N XML messages confirming to format already in place. The receiver SOAP adapter contains the URL of the Sender SOAP adapter and hence the call from XI goes back to XI and you have N messages now coming into interface 2

2. Each of this message triggers an interface of 2 and uses existing mapping.

Regards

Bhavesh

Former Member
0 Kudos

Hi Stuart,

>>>have one mapping splitting a multiple IDoc XML file into single IDoc messages and then another taking these single messages as before and performing the mapping

This is not possible with out using a BPM in design coz this involves a stateful processing. And I would suggest against using a BPM for this scenario. Instead you can go for a single mapping which splits one file into multiple IDOCS using Occurance change and not Message Splitting as shown by Michal here...

https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2762. [original link is broken] [original link is broken] [original link is broken] Coz Message Splitting is not allowed in case of inbound IDOC scenarios.

@Sarath,

Can you tell me how cascading of mapping will solve this issue with out a BPM?

Also, <b>Award if helpful</b> is not gonna help you since points sytem has been detached from forums currently.

Regards,

Jai Shankar

Former Member
0 Kudos

Hi Stuart,

You can as well have two message mappings in sequential order in Interface Mapping. The first one does your splitting while the second does your normal mapping. Since you already know that you can use message split for splitting, i need not tell you hpw to do it.

Award if helpful,

Sarath.