cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in message mapping (outbound IDOC ORDERS05 from SAP R/3)

Former Member
0 Kudos

Hi to all,

I have an outbound interface from sap r3

sap r3 --> XI --> ftp server

idoc --> XI --> text file

Using IDOC orders05

The problem is in segment E1EDP01/E1EDP19

Segment E1EDP01 is unbounded and i map it well. If it contains E1EDP19, works fine. But in some cases, E1EDP19 not appears at E1EDP01segments. So then XI fails at mapping:

IDOC OUTPUT (OK)

1-E1EDP01/E1EDP19

2-E1EDP01

3-E1EDP01/E1EDP19

4-E1EDP01

XI WRITES (FAILURE)

1-E1EDP01/E1EDP19

2-E1EDP01/E1EDP19 (INFORMATION FROM LINE 3)

3-E1EDP01 (WRONG)

4-E1EDP01 (WRONG)

You can take a look of Mapping mode here:

<a href="http://img505.imageshack.us/my.php?image=orders05mappingcj8.jpg">[IMG]http://img505.imageshack.us/img505/1536/orders05mappingcj8.th.jpg[/IMG]</a>

We don't use BPM and wanna use a solution without it.

Pls ask me for more information if necessary.

Thanks a lot for your help; Regards

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

HI,

Try using MapWithDefault function. It will handle your problem. In case ur desired node is not coming, it will automatically handle it.

It has worked for us and hope it does for you also.

Former Member
0 Kudos

Hi all,

The mapping function includes an exists and a mapwithdefault.

Now the creation of the segment is handled ok, but not as well its fields. Its unable to determine the write of the second E1EDP19 segment and it does:

1- OK

2- OK

3- Writes E1EDP20 but not the 19

4- OK

Thanks for your interesting

former_member192892
Active Contributor
0 Kudos

Hi Federico,

How do you want your output to be???

I mean when E1EDP19 is not present, should your output tag be present or should it be defaulted to some value???

Former Member
0 Kudos

Hi,

The output must be none. So, in that line will include E1EDP20 but not E1EDP19.

Thanks

former_member431549
Contributor
0 Kudos

Use an EXISTS function in your map to determine if there is an E1EDP19 you are looking for.

Former Member
0 Kudos

You can make target field (to which E1EDP19 has been mapped) as optional (0 to 1 or 0 to unbounded in its data type). This should allow your mapping. Also make all field on this segment at target side as optional.

Regards

Sushil

Former Member
0 Kudos

Sir,

It's optionally right now; the problem it's XI can't distinguishes which one to use from an IDOC with and without E1EDP19 segment.

Message was edited by:

Federico Martin