cancel
Showing results for 
Search instead for 
Did you mean: 

ORDSP to X12 855 Mapping Issue

Former Member
0 Kudos

Hi all,

I'm new to PI Message mapping.

I have got one issue in ORDSP to X12 855 Mapping. In ORDSP Idoc there are multiple occurances of E1EDK03 Segments differentiated with IDDAT(Qualifier) and only one occurance of BAK segment in X12 855. I have to map E1EDK03 to BAK Segment in X12 855 when E1EDK03-IDDAT = '022' only.

Example :

E1EDK03-IDDAT = 002

E1EDK03-DATUM = 20100607

E1EDK03-IDDAT = 012

E1EDK03-DATUM = 20100608

E1EDK03-IDDAT = 022

E1EDK03-DATUM = 20100622

I tried to map using Node functions , If and else. It is not working

Thanks,

Kishore

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

Use the simple If conditon.

If E1EDK03-IDDAT=022 map the DATUM .(and both IDDAT/DATUM change the occurance to the IDOC level) after If conditon use the SplitByValue node functiion. please double click the IF condion if any check mark is there remove the check mark.

Regards,

Venu.

Former Member
0 Kudos

please use the below logic.

You need to use If else conditon because target field S_BAK-D_373 this field is mandatory..if any case if you won't get E1EDK03-IDDAT=022 then you have to pass at least empty value to the target...

E1EDK03-IDDAT=022 map DATUM else map the empty constant to the IF else function ->remove context ->target element.

Regards,

Venu.

Former Member
0 Kudos

Hi Venu,

Thanks for your response.

Simple If condition with out else is working fine, what is the use of SplitByvalue node function in this? and which context we need to use Each value,Empty value or Value change ?

But I have to use If else to map mandatory field(D_373) with empty value if E1EDK03-IDDAT = '022' fails. If I use If else condition the result is empty, even if I have E1EDK03-IDDAT = '022'(Ex : Third occurance)

Please suggest on this

Thanks,

Kishore

Former Member
0 Kudos

Any suggestions....

Former Member
0 Kudos

Hi,

Try ushing sort function.

Regards

Laxmi Bhushan

Former Member
0 Kudos

Hi Kishore,

Try Adding 'Map with Default' function to that and pass a empty value, so that even a empty value comes it won;t error out.

Ravi

Former Member
0 Kudos

Hi Kishore,

Since you E1EDK03-IDDAT field with the qualifier is coming more than once so for each occurrence of this field the target node/field should occur that is the reason we use Split by value.

Use the mapping as follows:

If condition to check the qualifier->Map with default->Remove context-->Split by Value-->Target Field.

Regards

Ravi

Former Member
0 Kudos

Hi Kishore,

check if E1EDK03-IDDAT = '022' then map E1EDK03-DATUM to mandatory field(D_373) , else map constant (empty value) to mandatory field(D_373) , Keeping the context of IDDAT &DATUM as E1EDK03.