cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping for Idoc segment repeating.

Former Member
0 Kudos

Hi,

From ECC in ZINVOIC02 idoc E1EDP19 segment QUALF value is coming as "3/4/5/6". This QULAF value needs to be passed based on the combination of MESFCT and MESCOD in Control record combination. EX: if MESFCT is DD or MT the 003 should not pass only 4,5,6 should go through, whereas if MESFCT value come as AA all values needs to be passed with its IDTNT i.e., the Segment E1EPD19 should repeat in the target.

Accepted Solutions (1)

Accepted Solutions (1)

former_member182412
Active Contributor
0 Kudos

Hi Selva,

You below mapping.

First Fixed Value:

Second Fixed Value:

Third Fixed Value:

Regards,

Praveen.

Former Member
0 Kudos

Hi praveen,

I tried like the below mapping and when do display in QUALF its some error as below. For QUALF(context as E1EDPK01) and MESFECT(context as E1EDk_DC40). Also I put as “false” in Default Value but still getting the error.

First:

Second:

Third:

Existing interface is that QUALF had only 010,008 and 013 values only(For MT and DD), but now added new one as PL(MESFCT), for PL all the values(010,008,013 and 003) should pass through.

Existing Mapping for E1EDP19:

Current Fixed Values maintained for QUALF:

Harish
Active Contributor
0 Kudos

Hi Selva,

The error is because you are passing not Boolean value to Boolean function. Please check all the inputs to Boolean function AND and equals.

In the first glance you are not having any default value fix value function. So it might be passing blank which is giving error in AND function. the second place might be in equals. always use map with default before equals to avoid not Boolean output from the function.

Hope it help

Harish

Former Member
0 Kudos

I created mapping like below and getting the correct ouput if MESFCT is PL.

If MESFCT is PL  then the required output is coming as below:

But if MESFCT DD or MT value, the below highlighted segment is populating but the whole segment containing QUALF value as "003" should not come in the output.

Is there any method to remove the highlighted segment at the target side. I tried to change the context but no luck…

Existing mapping for the segment E1EDP19 as below:

Harish
Active Contributor
0 Kudos

Hi Selva,

Change the property of if without else in E1EDP19 mapping to suppress yes.

Then it will suppress the segment when qualf is not present.

regards,

Harish

Former Member
0 Kudos

Hi Harish,

I tried by suppressing the properties of "if without else" in the E1EDP19 segment mapping but still that segment is coming in the output.

former_member182412
Active Contributor
0 Kudos

Hi Selva,

keep everything same for QUALF field, group mapping for E1EDP19 like below, in the screen shot Item is E1EDP19 and RETAILST is QUALF in your case.

Regards,

Praveen.

Former Member
0 Kudos

I used mapping for E1EDP19 segment and QUALF value as below and now getting the required output.

Thanks Praveen and Harish for you Valuable inputs.

Former Member
0 Kudos

Hi All,

with above mapping I am getting the output but the thing is some Idocs gets successful where as some gets failed.

I am getting the error as below:

I see that the segment E1EDP01 is repeating in the failed Idoc.

former_member182412
Active Contributor
0 Kudos

Hi Selva,

Can you attach the source xml then it will be easy to identify the problem.

Regards,

Praveen.

Former Member
0 Kudos

Hi Praveen,

In the input data if the E1EDP01 is coming single time then the message is getting successful.



But if the E1EDP01 is repeating more than one time,then the message gets failed and Getting error as below in the mapping.

Former Member
0 Kudos

The issue is resolved by changing the E1EDP19 segment context to "IDoc". So now it processing when multiple E1EDP01 segment comes. But there is an other issue.

Ex: If E1EDP01-E1EDP19-QUALF=001 and in another E1EDP01-E1EDP19-QUALF=002

Both QUALF values are coming in the same segment in the target. but it should populate as below.

<E1EDP01>

    E1EDP19

      QUALF=001 

</E1EDP01>

<E1EDP01>

    E1EDP19

       QUALF=002

</E1EDP01>


But now it's populating as(incorrect)

<E1EDP01>

    E1EDP19

      QUALF=001 

    E1EDP19

       QUALF=002

</E1EDP01>

former_member182412
Active Contributor
0 Kudos

Hi Selva,

Use below mapping.

Regards,

Praveen.

Former Member
0 Kudos

Getting output as below:

former_member182412
Active Contributor
0 Kudos

Hi Selva,

Dont change any context for field MESFCT, try again with this change and let me know. by looking at screen shot i did not understand the problem please explain the problem after you test with above change.

Regards,

Praveen.

Answers (0)