cancel
Showing results for 
Search instead for 
Did you mean: 

EDI_DC40 Segment Issue

Former Member
0 Kudos

Hi Experts,

Scenario JMS -- XI -- IDOC

I have tested the interface and found it works fine.

As disabled EDI_DC40 segment in mapping and checked Apply Control record Values from Payload in the Receiver IDOC communication Channel. Since I have developed this scenario in Dev system and later move it into Quality and Production.

Do I need to disabled EDI_DC40 segement thrugout the mapping or should pouplate with required fieilds like IDOCTYP,MESTYPE,SDNPORT,SDNPRT.....etc

Please throw some light. would appricate your inputs.

Sameer!

Accepted Solutions (1)

Accepted Solutions (1)

prateek
Active Contributor
0 Kudos

As disabled EDI_DC40 segment in mapping and checked Apply Control record Values from Payload

Either you disable EDI_DC40 and let Idoc adapter fill this for you. Or you check the Apply Control record option and map the fields of EDI_DC40 segment.

Regards,

Prateek

Former Member
0 Kudos

Thanks Prateek!

Since I have disabled the EDIC_DC40 segments in mapping and checked the option "Apply Control Record from Payload".

will it works this way Or should we filled EDIC_DC40 segment filelds and unchecked "Apply Control Record from Payload".

Sameer

former_member200962
Active Contributor
0 Kudos

Check this blog (if not already done) /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified

Regards,

Abhishek.

Former Member
0 Kudos

As per my understanding:

Case1: If disable EDI_DC40 means Idoc adapter fill itself these values and Apply Control Record Values from Payload option should also be UNCHECKED.

Case2: If Enable EDI_DC40 means fill these values in mapping itself and Apply Control Record Values from Payload option should be CHECKED.

I disabled EDI_DC40 segments and CHECKED Apply Control Record Values from Payload well it works fine but m wonder if disable EDI_DC40 segments and UNCHECKED Apply Control Record Values from Payload will also working.

What would be the correct appraoch?

Sameer

former_member208856
Active Contributor
0 Kudos

Case 1 is the correct approach.

In case 1 system will fill the correct values automatically.

Only you have to maintain correct Port.

Former Member
0 Kudos

I would prefer case 1 as when u do transport from Dev to QA if u have used hardcoded values then it wil transported in QA which v dont want as QA system details will be different.

chirag

prateek
Active Contributor
0 Kudos

Channel have option "Apply Control Record Values from Payload". Logically it works like this:

1. If it is unchecked, then Idoc adapter fills the EDI_DC40 segment on its own. Enabling or disabling EDI_DC40 in mapping is irrelevant and won't create any affect.

2. If it is checked, then whatever you map in EDI_DC40 in mapping will be treated as control record.

So first think about the channel option and then only think about mapping relevance.

Regards,

Prateek

Answers (2)

Answers (2)

udo_martens
Active Contributor
0 Kudos

Hi Sameer,

the EDIDC40 sender and receiver fields will be overwritten anyway from the IDoc receiver adapter in standard. You can control that with the corresponding checkboxes in the Communication Channel.

Your receiving SAP system expects certain values for partner number and type - so the message is matching the maintained partner profile. You can set this values in mapping, but if the partner numbers are different in different transport layers this would not be recommentable. Usually LS provides the same partner numbers, KU or LF could be different. In that cases you should setup a party and create a header mapping, where you map the sending BS to a certain partner profile.

Regards,

Udo

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

Pass appropriate values for EDI_DC40 mandatory fileds.

Regards,

Raj