cancel
Showing results for 
Search instead for 
Did you mean: 

Multi-map without using BPM

Former Member
0 Kudos

Hello

I am trying to create a multimap without using BPM as we are on SP15. I did the respective configuration in Message and Interface mapping as mentioned in the weblog.

I am expecting multiple files to get generated in the target directory and i hope file adapter supports this.

For that I did extended interface determination where I selected the respective interface mapping.

When I am trying to execute this interface it throws error in SXMB_MONI saying "<b>No messages created from split mapping</b>".

One more doubt, with what names it will generate multiple files?

Thanks in advance.

Regards

Rajeev

Accepted Solutions (0)

Answers (3)

Answers (3)

prabhu_s2
Active Contributor
0 Kudos

Rajeev

Can you try this scenario by introdcuing BPM. One receive step. A block step to process the records in a mutliline container and inside the block one send step. Kidnly check if this works.

<i><b>steps inside a block step.</b></i>

<i>1.Properties>Mode>ForEach

2.Multi Line --> Multi line container element(target)

3.Current Line --> Single Line Container element (target)

4.Insert a send step with in the block.

5.properties>Msg>Single Line Container element (target)</i>

thkx

Prabhu

Former Member
0 Kudos

Hi,

Can you test your mapping in the test editor using debug mode in the Integration Repository.Hope it helps you.

Regards,

JE.

prabhu_s2
Active Contributor
0 Kudos

hi rajeev

Check with the payload if the target strucutre is framed accordingly. You can it test it in the interface mapping. The name will be generated based on the settings in the receiver communication channel.

Thkx

Prabhu

Former Member
0 Kudos

I tested my Interface mapping which works fine.

I am having the structure like

RootNode (1..1)

header (1..unbounded)

<field1>

<field2>

and i am transforming the same to

<Message 1>

Rootnode (0..unbounded)

...

...

When tested in interface map, it creates two Rootnode tags which I guess represents the two different messages. but while execution it gives this error.

Regards

Rajeev

prabhu_s2
Active Contributor
0 Kudos

You had refered that the scenario is desgined based on a blog. Can you brief the layout? It would be helpful in troubleshooting.

Former Member
0 Kudos

Hello

I tested my mappings in the Test tab of Interface Mapping where it runs absolutely fine.

Here is source and target messages

***************************Source**********************************

<b> <?xml version="1.0" encoding="UTF-8" ?>

- <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

- <ns0:Message1>

- <ns1:UpdateShipTest_MT xmlns:ns1="http://sjm.com/DynConf">

- <DELIVERY>

<DELIVERY_NUMBER>12</DELIVERY_NUMBER>

<TRACKING_NUMBER>3</TRACKING_NUMBER>

<SHIP_DATE>3</SHIP_DATE>

<USER_ID>33</USER_ID>

<SHIP_VIA>3</SHIP_VIA>

<ITMNO>3</ITMNO>

<MATNR>3</MATNR>

<QUANTITY>3</QUANTITY>

</DELIVERY>

- <DELIVERY>

<DELIVERY_NUMBER>121</DELIVERY_NUMBER>

<TRACKING_NUMBER>3</TRACKING_NUMBER>

<SHIP_DATE>3</SHIP_DATE>

<USER_ID>33</USER_ID>

<SHIP_VIA>3</SHIP_VIA>

<ITMNO>3</ITMNO>

<MATNR>3</MATNR>

<QUANTITY>3</QUANTITY>

</DELIVERY>

</ns1:UpdateShipTest_MT>

</ns0:Message1>

</ns0:Messages></b>

*************************End Source*****************************

This is the one message which is required to be split into two separate Delivery files

***************************************Target Message*******************************

<b> <?xml version="1.0" encoding="UTF-8" ?>

- <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

- <ns0:Message1>

- <ns1:UpdateShipTest_MT xmlns:ns1="http://sjm.com/DynConf">

- <DELIVERY>

<DELIVERY_NUMBER>4</DELIVERY_NUMBER>

<TRACKING_NUMBER>5</TRACKING_NUMBER>

<SHIP_DATE>5</SHIP_DATE>

<USER_ID>5</USER_ID>

<SHIP_VIA>5</SHIP_VIA>

<ITMNO>5</ITMNO>

<MATNR>5</MATNR>

<QUANTITY>5</QUANTITY>

</DELIVERY>

</ns1:UpdateShipTest_MT>

- <ns1:UpdateShipTest_MT xmlns:ns1="http://sjm.com/DynConf">

- <DELIVERY>

<DELIVERY_NUMBER>46</DELIVERY_NUMBER>

<TRACKING_NUMBER>5</TRACKING_NUMBER>

<SHIP_DATE>5</SHIP_DATE>

<USER_ID>5</USER_ID>

<SHIP_VIA>5</SHIP_VIA>

<ITMNO>5</ITMNO>

<MATNR>5</MATNR>

<QUANTITY>5</QUANTITY>

</DELIVERY>

</ns1:UpdateShipTest_MT>

</ns0:Message1>

</ns0:Messages></b>

*************************************End Target****************************************

According to interface map I guess the adapter should split the messages but at runtime it gives error.

Thanks and Regards

Rajeev

bhavesh_kantilal
Active Contributor
0 Kudos

Rajeev,

1. What is the source file you are using? The source file should be,

<ns1:UpdateShipTest_MT xmlns:ns1="http://sjm.com/DynConf">
- <DELIVERY>
<DELIVERY_NUMBER>12</DELIVERY_NUMBER> 
<TRACKING_NUMBER>3</TRACKING_NUMBER> 
<SHIP_DATE>3</SHIP_DATE> 
<USER_ID>33</USER_ID> 
<SHIP_VIA>3</SHIP_VIA> 
<ITMNO>3</ITMNO> 
<MATNR>3</MATNR> 
<QUANTITY>3</QUANTITY> 
</DELIVERY>
- <DELIVERY>
<DELIVERY_NUMBER>121</DELIVERY_NUMBER> 
<TRACKING_NUMBER>3</TRACKING_NUMBER> 
<SHIP_DATE>3</SHIP_DATE> 
<USER_ID>33</USER_ID> 
<SHIP_VIA>3</SHIP_VIA> 
<ITMNO>3</ITMNO> 
<MATNR>3</MATNR> 
<QUANTITY>3</QUANTITY> 
</DELIVERY>
</ns1:UpdateShipTest_MT>

2. What is the error you are getting in the runtime?

Regards

Bhavesh

Former Member
0 Kudos

Hi,

As Bahvesh has shown, the input files should not have ns0:messages, ns0:messgae elements and all. Those should be taken off.

After multimapping, the filenames generated should be different or else there might be a problem like files getting over written or some other error.

For creating differerent file names there are more than one option. The simplest one is selecting "add Timestamp".

Regards,

P.Venkat

prabhu_s2
Active Contributor
0 Kudos

rajeev

understanding your issue:

<i>You are using a mutlimap without a BPM and when the interface is executed you get an error "No messages created from split mapping". Testing the IM works fine with the payload.</i>

I think this might throw up with this kind of error. Try to introdude BPM with a recv , one block step and a send step within to traverse the records and create a file as per ur req.

thks

Prabhu

Former Member
0 Kudos

Bhavesh,

Ohh it was cut copy paste error :).

actually i just created the source XML file by copy pasting the interface mapping source and was expecting the similar target.

Thanks all for your replies.

Regards

Rajeev

bhavesh_kantilal
Active Contributor
0 Kudos

Prabhu,

><i>I think this might throw up with this kind of error. Try to introdude BPM with a recv , one block step and a send step within to traverse the records and create a file as per ur req.</i>

You do not need BPM for this at all. MultiMapping will work absolutely fine.

Regards

Bhavesh

prabhu_s2
Active Contributor
0 Kudos

yeah thats true...wanted to check if this works fine for him. esp for creating multiple files (1:N mapping)

Message was edited by:

Prabhu S

prabhu_s2
Active Contributor
0 Kudos

hi bhavesh

one qucik Q without using BPM. In the target structure as specified by rajeev (1:n mapping) will mutliple files be created (aware that datetime stamp option checked creates different files) i.e. one file for DELIVERY_NUMBER 46 and another for DELIVERY_NUMBER 4 etc?

regds

Prabhu

PS: Rajeev pls close this thread if ur post is answered

bhavesh_kantilal
Active Contributor
0 Kudos

Prabhu,

Yes it will be.

As long as ROOT tag is mapped for every node for DELIVERYNUMBER and extended Interface determination is used it will work fine.

Regards'

Bhavesh

prabhu_s2
Active Contributor
0 Kudos

okie thkx. But when we tried out we had only one file created (example : only for DELIVERY_NUMBER 46, very similar to the target node by rajeev). With use of BPM we were able to acheive this kind of scenario (multiple files created). Will raise a new thread for this.

thkx once again.

Prabhu

bhavesh_kantilal
Active Contributor
0 Kudos

Prabhu,

Maybe the issue was that you had the file option as CREATE.

Not sure as to why.If you look into rajjev's strucuture , the output of the mapping has N number of ROOT nodes created under MESSAGE1 and if this is how your target strucutre looked it should have worked fine.

Regards

Bhavesh

prabhu_s2
Active Contributor
0 Kudos

yeah the target structure is the same as rajeev's and yes the file option is <b>create</b> with <b>datetime</b> stamp checked.

bhavesh_kantilal
Active Contributor
0 Kudos

hmm.. let me give it a shot and check and get back to you .

Regards

Bhavesh

Former Member
0 Kudos

Prabhu,

Atleast in my case it is creating two files now. I am creating file appending the message number and timestamp.

Regards

Rajeev

bhavesh_kantilal
Active Contributor
0 Kudos

Rajeev,

Test you multimapping . Looks like the mapping has not been created correct and that is why the multimapping is not working fine.

The filenames, depends on your adapter configuration. What mode have you choosen?

1 Create

2. Add Message ID,

3. Add counter ,

4. Append

Depending on the mode, the file wll be generated.

Regards

Bhavesh