Skip to Content
Author's profile photo Juan Francisco Zurita Duque Duque

IDOC Control Segment EDI_DC40 – Mandatory fields for IDoc_AAE Adapter

The IDOC adapter, or IDOC_AAE, in SAP Process Orchestration is much more restrictive on the validation and requirements of a IDoc message.

The Control segment EDI_DC40 is mandatory for the sender IDoc_AAE adapter, and if you use for the receiver side (which is recommended); these are the fields you must map.

EDI_DC40 Field Example
Description
@SEGMENT 1 Always = 1

TABNAM

EDI_DC40 Value is arbitrary, but EDI_DC40 is the standard

DIRECT

1

2=Inbound

1=Outbound

IDOCTY

DELVRY07 IDoc basic Type

CIMTYP

IDOC Extension, it must be blank if the Idoc is not extended

MESTYP

DESADV IDOC Message

SNDPOR

SNDCLNT800

It must match the Adapter-Specific Identifier of the Sender Business Component or Business System use in the ICO.

In the integration directory open the sender communication component.

Go to Menu: Communication Component->Adapter-Specific Identifiers

Check the value of: IDOC Adapter->Logical system

SNDPRT

LS

LS=Logical System, KU=Customer, LF=Vendor, etc

Must match the configured partner profile type in the back-end t-code: we20

SNDPRN

SENDER

Sender Partner number, must match 

Must match the configured partner profile in the backend t-code: we20

RCVPOR

SAPID3 Receiver Partner number, arbitrary value recommended SAP<sys-id>

RCVPRT

LS Receiver Partner Type, arbitrary value recommended LS
RCVPRN ID3CLNT800 Receiver Partner number, arbitrary value recommended <sys-id>CLNT<client number>

Tip:

You can use the Override IDoc control Header in the receiver Communication channel to have more control from the configuration side.

/wp-content/uploads/2014/10/00001_570257.png

Assigned Tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Sandeep Maurya
      Sandeep Maurya

      Nice weblog!!

      Thanks

      Sandeep Maurya.

      Author's profile photo Binod Mondal
      Binod Mondal

      Hi, Thanks for the blog.

      Can you please confirm if the value "SNDCLNT800" can be assigned dynamically from payload for SNDPRN. I know we have option to do this with option "apply control record from payload". I am looking to override ARCKEY field using the above blog option dynamically using payload data.

      Thanks,

      Binod

      Author's profile photo Mohammed Younus
      Mohammed Younus

       

      Hi Binod ,

      Did you get any solution for your query.
      How to override ARCKEY field dynamically using payload data.

      Thanks

      Author's profile photo Former Member
      Former Member

      Hi,

      has anyone found a way yet to override ARCKEY field dynamically using payload data??

      Thanks,

      Martin

      Author's profile photo Binod Mondal
      Binod Mondal

       

      Hi,

      It cannot be done in SAP PO, however you may change in SAP system in exit.

       

      THanks,

      Binod

      Author's profile photo Patrick Weber
      Patrick Weber

      I know this question is half a year old already but I'm curious - why would you want to do that? By overwriting the field, you throw away the GUID, which is the single most convenient way to link your IDoc back to the original PI/PO message. I would need a real killer reason to give that up 🙂

      Author's profile photo Johannes Schneider
      Johannes Schneider

      Hi,

      is there a way to fill @Segment so that the idoc is not created after filling in information.

      We tried it with a blank constant but it does not seem to work.

      If we create another  idoc in the same process right after the one with the blank constant in it,

      the idoc with the blank constant gets created instead.

       

      Is there any way to solve this problem?
      Kind Regards,

      Johannes

      Author's profile photo Juan Francisco Zurita Duque Duque
      Juan Francisco Zurita Duque Duque
      Blog Post Author

      The segment value should be always "1"

      The easiest way if you have a lot of IDOC mappings programs would be an XSLT afterburner mapping.  where you can apply a template to the segment attribute with value "1" and just copy all other segments.

      If you need to solve it in Message mapping you might be missing a UseOneAsMany Pattern.

      Br,

      Juan

       

      Author's profile photo Sergio Cecchin
      Sergio Cecchin

      Hi

      Could you provide the transaction code to override the IDOC control header please?

       

      Thank you

      Sergio

      Author's profile photo Gabriel Silvestri
      Gabriel Silvestri

      Hello experts!

      We have a channel (that belongs to more than one scenario) in production correctly configured. We have setting “Idoc Control Header” in order to send IDOCs to R/3

      the problem occurs when we transport some scenario that contain the same channel again, this “IDOC Control Header” parameters are overwriting with data from development environment.

      Is there any way to avoid this overwriting??

      Is there any other way to configure Idoc control data that works?

      Thanks

      Gaby