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.
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:
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:
- Delete the segment in the outbound or inbound function module when processing the IDOC. This could be done in a Customer-Function.
- 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.
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!