cancel
Showing results for 
Search instead for 
Did you mean: 

idoc mapping

Former Member
0 Kudos

Hello friends,

I am mapping an incoming data type from sql to idoc. I am able to successfuly generate new idocs based on the incoming headerind . Whenever there is a new HeaderInd I generate new IDOC.

What I am not able to do is genereate the detail segments of IDOC in the new IDOCs created.

The source message type is like this

<MT_TEST>

-><ROW> 0:unbounded

<Headerind> 1:1

<Header2> 1:1

<Header3> 1:1

<Header4> 1:1

<Det1> 1:1

<Det2> 1:1

The target is an IDOC ACC_GL_POSTING01.

<Headerind> -- splitbyvalue -


removecontext --- IDOC This creates a new IDOC.

Where do I mapy the EDIDC40 1:1 and other details segments E1BPACGL08 0:unbounded E1BPACH08 0:unbounded ??

Also do i not map the <ROW> field from the source?

Thanks,

Teresa

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Teresa,

Please map E1BPACGL08 to Constant value ,similarly  for E1BPACH08 .Then you will get all the segment data that you have mapped.

CONSTANT - - - - > E1BPACGL08

CONSTANT - - - - -> E1BPACH08

Once you map these two, SEGMENT field of both E1BPACH08 and E1BPACGL08 will become required ( RED DOT WILL APPEAR ), just map that to CONSTANT again.

Hope this solves your problem.

Regards,

SHRI

Former Member
0 Kudos

Hi Teresa,

I guess each ROW equals one IDOC? Then you should map ROW on your IDOC element, the one that defines the new messages. This should be safer than using the Headerind field.

I think you should learn about contexts in a mapping. Handling them properly will solve you all issues. I can imagine you will need "UseOneAsMany" for the EDIDC40 segment, for example (since the control record will be the same for all and does not depend on a single message's values). Without more details it is hard to give proper detailed advice.

Hope that helps, anyway.

Regards,

Jörg