Monday 17 April 2023

IDOC error for same custom IDOC extension/segment between two SAP systems (version 750->740) – Part I

Introduction: I recently experienced a scenario in which we wanted to send data from the SAP MDG (release 750) system to the SAP ECC (release 740) system following an upgrade of the MDG system. There were no problems prior to the upgrade when both SAP systems were on the same release (740).

Background: To illustrate the issues and potential fix, I’ll use the MATMAS IDOC (Basic Type: MATMAS05) with extension (ZMATMAS05_EXTENSION) and a single custom segment (Y1MARAM1) that was developed identically in both the SAP systems.

Scenario 1: Add new custom fields in the existing custom segments in both the SAP systems, which I’ll cover in this blog.

Scenario 2: Add new custom segments in the existing IDOC extension in both the SAP systems, which I’ll explain in my next blog(Part II) in detail.

Scenario 1: While it is possible to add new fields to the ECC system (in the custom segment in the same release, let’s say 740), however, the same fields could not be added in MDG with the older segment version. According to the SAP release strategy, to add new fields to the segments from prior versions, a new version must be created.

SAP MDG system release – 750

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

IDOC Segment release – 740

Additionally, because the system is running on a higher release of 750, we were unable to cancel the release to add new fields.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

As a following step, we must add a new version of the same segment (Menu Segment->Add Version), then add new fields and release the new version of the segment.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

In ECC, we had similar IDOC extension and custom segments created in the latest release 740.

So, we added all new fields in custom segment and set the segment as released.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

Next, we triggered an IDOC from MDG to ECC which resulted in a syntax error in inbound IDOC and subsequently a posting failure in ECC too though outbound IDOC from MDG was successful.

Outbound IDOC in the MDG system

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

Inbound IDOC in ECC: Error message – EA258: External segment name cannot be interpreted.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

While the identical IDOC extension and segments are transferred between two separate SAP systems, the segment definition is taken into account while mapping each field. In this case, the segment definition in MDG is Y1MARAM1001, whereas the segment definition in ECC is Y1MARAM1000. The syntax issue is caused by inbound IDOC’s inability to locate segment definition Y1MARAM1001.

To resolve this error, we need to create a new version of the same segment in SAP ECC too like we did in MDG.

However, when we attempt to do so, it issues a warning, stating that we already have a segment definition available in the current release and that we are aware of this. right? Press ENTER once again to create a new version that is identical to MDG.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

Only the difference is that we wouldn’t be able to release a new version created in the same release. The reason is in one SAP release, we can have only one version released for any segment( custom/standard).

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

Let’s trigger, IDOC from SAP MDG to SAP ECC. Boom!!. IDOC posted successfully in ECC as well!

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

Now next step is not required but if we want to release new segment definition in ECC, then we need to change it in the SAP standard table EDISDEF-related to the old segment definition (here Y1MARAM1000) – in debug mode. We can set Application Release ( for example 617) and it will allow releasing new segment definition too.

SAP ABAP Development, ABAP Development Career, ABAP Development Skills, ABAP Development Hub, ABAP Development Job, ABAP Development Prep, ABAP Development Preparation, ABAP Development Tutorial and Materials

No comments:

Post a Comment