Skip to Content
Author's profile photo Former Member

Supressing EDI error messages for IDOC_INPUT_ORDERS

Suppressing EDI message

When I was working on an EDI flow where a Purchase Order needed to create a sales order in SAP, I came across an error:  “Terms of payment in IDOC E1EDK18 have been transferred: check data.” 

This IDOC was processed by standard SAP function Module: IDOC_INPUT_ORDERS.

 

E1EDK18 Error 

 

I was interested where the logic was put in function module IDOC_INPUT_ORDERS which process such error.  So I did a search on the E1EDK18 segment in IDOC_INPUT_ORDERS and found out that include LVEDAF12 is processing this error. The logic in there is quite simple when a segment occurs, trow out a message. See below screenshot:

 

Coding

 

In LVEDAF12 more segments are being checked and if they exist in the IDOC it will process an error, I have summed up the segments and errors processed via that include:

 

E1EDK04 – IDoc: Document header taxes

Control data in IDoc E1EDK04 has been transferred: Check data

Message no. VG200

Diagnosis

Control data has been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

E1EDK05 – IDoc: Document header conditions

Conditions in IDoc E1EDK05 have been transferred: Check data

Message no. VG201

Diagnosis

Condition data has been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

E1EDK18 – IDoc: Document Header Terms of Payment

Terms of payment in IDoc E1EDK18 have been transferred: Check data

Message no. VG202

Diagnosis

Terms of payment have been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

E1EDP04 – IDoc: Document Item Taxes

Control data in IDoc E1EDP04 has been transferred: Check data

Message no. VG200

Diagnosis

Control data has been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

E1EDP05 – IDoc: Document Item Conditions

Conditions in IDoc E1EDP05 have been transferred: Check data

Message no. VG201

Diagnosis

Condition data has been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

E1EDP18 – IDoc: Document Item Terms of Payment

Terms of payment in IDoc E1EDP18 have been transferred: Check data

Message no. VG202

Diagnosis

Terms of payment have been sent to the IDOC segment. This data is not automatically transferred.

Procedure

Check the incoming data and, if necessary, copy it into the document manually.

 

They only reason I could think of, why these segments are not processed is that the data in the segments is not to be determined by the customer but by the vendor.

 

In order to automatically process the idoc instead of doing manually adjustments I had 2 options:

  1. Delete the segment in the outbound or inbound function module when processing the IDOC. This could be done in a Customer-Function.
  2. Do the appropriate customizing and suppress the error message.

 

As I did some more testing I only encountered the problem for segment: E1EDK18 and as I wanted to stay as close as I could to standard SAP, I solved my issue via customizing. In order to do this, you need to do the following:

 

spro >>>  Sales and Distribution >>> Electronic Data Interchange >>> EDI Messages >> Handle Messages For Inbound Orders, or use transaction SMME.

 

Customizing

Based on the Transaction code and the message number we maintain this data. In my case: VA01 and Message no. VG202. Where we split the message no. over Area and Message.

 

Please note that the area and message number is not unique and used for other segments too. I my case it’s for segment E1EDK18 and segment E1EDP18.


With this customizing setting the IDOC is getting processed and the ED1EDK18 and E1EDP18 segment is ignored. It’s possible to create entries for all above errors and the IDOC will automatically be processed.

 

Please keep in mind that for all IDOCs, which are creating a sales order, these settings will apply!

 

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Uwe Schieferstein
      Uwe Schieferstein
      Hello Guido

      Thanks a lot for this useful compilation!
      I came across this customizing when I debugged ORDERS IDocs containing conditions which, by default, failed.

      The SMME customizing itself is evaluated in fm SD_MESSAGE_HANDLING which in turn is called within FORM routine ERROR_HANDLING in fm IDOC_INPUT_ORDERS.

      Just when this routine has been passed user-exit EXIT_SAPLVEDA_011 is available which allows further differentiated handling of error messages.

      In addition, routine ERROR_HANDLING enables (somehow) User Mail handling.

      Looking forward to reading you next insightful blog on EDI/IDoc processing.

      Regards
        Uwe

      Author's profile photo Former Member
      Former Member
      Blog Post Author
      Hi Uwe,

      Thank you for you reply and also for the additional info. I think with your additional comments we're pretty complete on this topic.

      Best regards,

      Guido Koopmann

      Author's profile photo Vinod Kumar
      Vinod Kumar
      Very well written blog.
      Author's profile photo Former Member
      Former Member

      Thank you for the well written blog; it solved the same problem on my end.

      Author's profile photo Ivaylo Mutafchiev
      Ivaylo Mutafchiev

      Nice and clear!

      Saved me troubles too!

      Thanks, guys!