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
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.
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.
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.
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
Inbound IDOC in ECC: Error message - EA258: External segment name cannot be interpreted.
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.
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).
Let's trigger, IDOC from SAP MDG to SAP ECC. Boom!!. IDOC posted successfully in ECC as well!
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.
Please keep reading along and leave us any suggestions or comments.
Thanks again for reading the document. I really appreciate your valuable time.