cancel
Showing results for 
Search instead for 
Did you mean: 

How to create this "multiple" steps Message-Mapping?

Former Member
0 Kudos

Hi everyone,

I have searched SDN for a while, but did not get ideal solution.

My PI environment: PI 7.11 SP07.

What I want to do:

File: MaterialMovementLog.xml --> IDoc: MBGMCR5, if the the field: GM_CODE of MBGMCR5 != 02.

File: MaterialMovementLog.xml --> IDoc: MBGMCR5 and IDoc: CONF21, if the the field: GM_CODE of MBGMCR5 = 02.

What I should do? Must be with BPM or not?

Hope you can understand my question.

Any suggestion would be appreciated!

Regards

Rene

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

It works!

I checked the source XML and it contains Tags like <b><messages></b> .. After removing them from the source XML, everything is green.

Thanks and nice weekend

Rene

iaki_vila
Active Contributor
0 Kudos

Hi Rene,

A few cents to Roberto. If your receiver messages can be different or you have to send them to differents locations, also you should use a multi mapping, see an example here http://scn.sap.com/docs/DOC-3820 and Raja Sekhar Reddy 's blog
http://scn.sap.com/people/rajasekhar.reddy14/blog/2011/02/24/multi-mapping-without-bpm-for-idoc-scen...

Regards,

Former Member
0 Kudos

Hi Vila,

Thanks for your response!

I red the blog: Multi Mapping in SAP Process Integration 7.1 of Abhishek Salvi.

I think this is what i want to do.

But I get error in SXMB_MONI: Split mapping created.. No message exists. In the trace i see the following texts:

<Trace level="1" type="T">Mapping-Program:com/sap/xi/tf/_MM_Table_ISAP_MBGMCR_to_ZMBGMCR5_and_ZCONF21_</Trace>

  <Trace level="3" type="T">MTOM-Attachments werden in die Payload geschrieben.</Trace>

  <Trace level="3" type="T">Dynamische Konfiguration ist leer.</Trace>

  <Trace level="3" type="T">Ein Multi-Mapping wird durchgeführt.</Trace>

  <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_Table_ISAP_MBGMCR_to_ZMBGMCR5_and_ZCONF21_</Trace>

  <Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>

  <Trace level="3" type="T">Document start</Trace>

  <Trace level="3" type="T">Start tag [ns0:Messages]</Trace>

  <Trace level="3" type="T">Add raw attribute [ xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"]</Trace>

  <Trace level="3" type="T">Start tag [ns0:Message1]</Trace>

  <Trace level="3" type="T">Close tag [ns0:Message1]</Trace>

  <Trace level="3" type="T">Start tag [ns0:Message2]</Trace>

  <Trace level="3" type="T">Close tag [ns0:Message2]</Trace>

  <Trace level="3" type="T">Close tag [ns0:Messages]</Trace>

  <Trace level="3" type="T">Document end</Trace>

  <Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>

But my mapping in MM and OM runs well. How does this mapping error in runtime come?

I read some threads here and assume this could be something with namespace to do?

nice weekend

Rene

robertot4s
Active Participant
0 Kudos

Hi Rene,

Do you have the value of the GM_CODE in the file "MaterialMovementLog.xml"? In that case, you can implement a conditional receiver determination with two receiver systems (you can use the same target system in both):

- No condition -> System XXX, idoc MBGMCR5

- Condition GM_CODE = 02 -> System XXX, idoc CONF21

Regards,

Roberto

Former Member
0 Kudos

Hi Roberto,

Certainly, I know what you instructed.

The field GM_CODE is not in the source file MovementLog.xml, but in the IDoc: MBGMCR5.

The mapping for CM_CODE is relatively complicated and is not easy to build in xpath in receiver determinitation.

Thanks and regards

Rene

robertot4s
Active Participant
0 Kudos

Hi Rene,

Then, you can try with an Extended Receiver Determination. You can use an Operation Mapping to obtain the receivers, like in this example:

Regards,

Roberto

Former Member
0 Kudos

Hi Roberto,

i tried this extended Receiver Determiniation. But the Operation Mapping is not suggested in the value list. How can I put my OM there?

Regards

Rene