cancel
Showing results for 
Search instead for 
Did you mean: 

Context mapping

Former Member
0 Kudos

Hi.

I would need some help on mapping logic.

the source structure is as follows:

<Source>

<E1BPMEPOITEM>

<MATNR>123</MATNR>

</E1BPMEPOITEM>

<E1BPMEPOTEXT>

<PO_NUMBER />

<PO_ITEM />

<TEXT_ID />

<TEXT_FORM />

<TEXT_LINE />

</E1BPMEPOTEXT>

The target structure also looks the same. However, we are not getting the PO_ITEM field populated from the Source - hence we have designed a RFC to pull the data from the backend system.

The RFC would need PO_NUMBER and the MATNR to calculate the PO_ITEM value.

In this case, the E1BPMEPOTEXT can appear multiple times for one line item with different TEXT_IDs. We want to call the RFC as many times as the occurence of E1BPMEPOTEXT node. What kind of context conversion should be used in this case?

Thanks.

Anuradha.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Sanjeev.

I dont think that the standard UseOneAsMany would work here - the reason being the context of the node EIBPMEPOITEM and E1BPMEPOTEXT are the same - the issue is that there can be multiple E1BPMEPOTEXT segments for one EIBPMEPOITEM segment.

So the requirement is to for every line item EIBPMEPOITEM the value of the material should be used in the E1BPMEPOTEXT nodes (for some RFC lookup logic).

Thanks.

Anuradha.

Former Member
0 Kudos

Hello Raj.

Thanks for the suggestion. But what changes are needed in the RFC - can you please clarify?

As I said before for one E1BPMEPOITEM node there can be 2 E1BPMEPOTEXT nodes. In both occurences of E1BPMEPOTEXT, I need to use the same Material Number which is coming in the E1BPMEPOITEM-MATNR field. Right now its working fine only for the 1st occurence of the E1BPMEPOTEXT node, but returns a blank value for the next node. The issue here is both E1BPMEPOITEM and E1BPMEPOTEXT are on the same context level - but the occurences are different. Hence please advice as how to the RFC should be changed.

Thanks.

Anuradha.

former_member194786
Active Contributor
0 Kudos

Hi Anuradha,

Use the standard function "useOneAsMany" to pass the MATNR value multiple times along with the PO_NUMBER.

Use below link to understand the standard mapping functions better:

http://help.sap.com/saphelp_nwpi711/helpdata/en/2c/2d8c4024d26e1de10000000a1550b0/frameset.htm

Regards,

Sanjeev.

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi ,

in IDoc scenarios we can change occurrence of IDoc segment to 1 to unbounded to cal multiple times, but in RFC case its not possible,because RFC structure bit different ,in mapping level you can map E1BPMEPOTEXT to RFC,and use split by value, but not sure it will make multiple cals at a time.

solution here is ask your ABAP Team to change RFC structure to support multiple calls and you can map E1BPMEPOTEXT to the node.

Regards,

Raj

Former Member
0 Kudos

I have checked these threads already - but my issue is not getting resolved.

Please advice.

Thanks.

Anuradha.

Former Member
0 Kudos

Check this links

http://www.riyaz.net/blog/xipi-introduction-to-context-handling-in-message-mapping/technology/sap/5/

/people/harrison.holland5/blog/2006/12/08/mapping-context-changes-in-xi

You can also try using UDF for context change

/people/rohit.kalugade/blog/2008/12/08/context-and-queue-in-message-mapping-udf

Hope this helps

Thanks!

Ray.