cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping problem

Former Member
0 Kudos

Hi Experts

Mapping problem

I have problem with generating the multiple Idocs based on the sub-segment

source level/target level WMMBID02>IDOC>E1MBXYH-->E1MBXYI, the sub-segment E1MBXYI is repeated multiple times and based

on this segement we need to generate multiple IDocs and there is one condition, If the filed(WERKS) value is starting

with MU* under the segment E1MBXYI then only multiple Idocs needs to generate irrespective of the number of E1MBXYI segments.

If the filed value is other than the MU* then the same Idoc needs to sent, multiple Idocs are not required even it has more than one E1MBXYI segments.

I have developed UDF to check the starting of the filed value 'MU' and it will return the value 'TRUE' if it starting with MU other wise it will give false then,

IfElse function with the E1MBXYI segment-->splitbyvalue(each value) to the targent segment WMMBID02(it's occurance is 0 to unbound).

but still it is not generating the multiple IDocs.

Is there any logic to fix the problem.

Thanks & Regards

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

The requirement has changed and the issue is resolved

Former Member
0 Kudos

Hi,

Do your mapping by using ifWithoutElse, Equals, RemoveContext, Substring, & Constant function..

WERKS --> Substring(0,2) -->Equals -->ifWithoutElse-->Then --->RemoveContext ---> IDOC
                            /                          / 
           Constant(MU)--->/                  WERKS-->/

By doing above mapping it will generate multiple IDOCS only when your WERKS start with MU.

Regards,

Sarvesh

Former Member
0 Kudos

Try using startsWith and createIf.

E1MBXYI(change context to upper level)>startswith(MU)>createIf-->Target IDOC node.

Regards

Soumen...

Former Member
0 Kudos

Hi! Try changing the context of the field WERKS in part of the mapping that you set the number of IDocs to create

Hope that helps!

Pablo