Communication with older releases or subsystems

Description

Release 4.0 supports extended namespaces: names of development objects can contain prefixes and can be longer than in previous releases. In addition, the IDoc interface supports long names for development objects but is also compatible with all objects from older releases.

The following section describes how the IDoc interface is different for long names and which procedures should be observed for communication with older R/3 releases or subsystems (usually EDI subsystems). You can also find information about adapting subsystems to Release 4.0.

Changes to the IDoc interface

IDoc development objects with long names

Object old length (pre-4.0) new length (post-4.0)
Basic type (IDoc) 8 characters 30 characters
Extension 8 characters 30 characters
Segment 10 characters 30 characters
Logical message 6 characters 30 characters

IDoc interface with and without long names

IDocs are exchanged with external systems via three structures, which transfer the control record, the data record and the status record respectively. These records also contain the long object names and as a result, the three structures must be changed. At the same time, the old structures will continue to exist, to ensure backwards compatibility. The port definition contains the settings which define whether the old or the new structures are used in communication with external systems.

The following table provides an overview of both the old and the new structures:

IDoc record old structure (pre-4.0) new structure (post-4.0)
Control record EDI_DC EDI_DC40
Data record EDI_DD EDI_DD40
Status record EDI_DS EDI_DS40

All existing IDoc types use only short names and can therefore be exchanged using the old versions of the structures. Conversion of the subsystem is not required.

It is only necessary to use the new structures if IDoc types or segments have been developed with long names.

This procedure is described in more detail for the following cases:

Procedure for port type 'File': communication with a subsystem

This involves:

Upgrade from 3.X to 4.0, no IDocs with long names

If no IDoc types or segments which were developed for Release 4.0 are used, the port definition remains set to version 1 (Release 2.1/2.2) or version 2 (Release 3.0/3.1). As a result, the IDocs are exchanged with the external system via the structures EDI_DC, EDI_DD and EDI_DS (status report).

This means that no changes to the subsystem are required when upgrading the R/3 System. However, a conversion to long names at a later date should be considered due to increasing functional requirements.

Upgrade from 3.X to 4.0, IDocs with long names

In this case, the 4.0 system has already been used for developments with long names, which must now be made known to the subsystem, i.e. the subsystem has not yet been adapted to the 4.0 system.

In principle, it is possible to represent the long names in the IDoc interface with short names via conversion tables. In this case, it is still possible to communicate with the subsystem via the structures EDI_DC, EDI_DD and EDI_DS. The conversion tables can be found in the environment menu for the transaction 'Development of IDoc Types' (WE30) or in Customizing. You should also read the Customizing information 'Breaking down long names' in the IMG chapter 'IDoc Interface - Basis'.

However, SAP recommends that the subsystem is converted directly to the new strutures EDI_DC40, EDI_DD40 and EDI_DS40: this process must be carried out once and subsequently it is not necessary to maintain the conversion table for each new development object in the IDoc interface. The new structure description can be made known to the subsystem via the transactions 'IDoc Record Types Documentation' (WE61) or 'IDoc Type Documentation (Parser)' (WE63).

New installation 4.0 or first use of IDoc in Rel. 4.0

In this case, the subsystem should be configured to use the new structures EDI_DC40, EDI_DD40 and EDI_DS40 for the IDoc record types from the start (see previous section).

Procedure for port type 'Transactional RFC': communication with a subsystem

This involves:

Upgrade from 3.X to 4.0, no IDocs with long names

If no IDoc types or segments which were first developed for Release 4.0 are used, the port definition remains set to version 2 (Release 3.0/3.1). As a result, the IDocs are exchanged with the subsystem in the structures EDI_DC and EDI_DD via the function module IDOC_INBOUND_PROCESS.

This means that no changes to the subsystem are required when upgrading the R/3 System. However, a conversion to long names at a later date should be considered due to increasing functional requirements.

Upgrade from 3.X to 4.0, IDocs with long names

In this case, the 4.0 system has already been used for developments with long names, which must now be made known to the subsystem, i.e. the subsystem has not yet been adapted to the 4.0 system.

In principle, it is possible to represent the long names in the IDoc interface with short names via conversion tables. In this case, it is still possible to communicate with the subsystem via the structures EDI_DC, EDI_DD and EDI_DS and the function module IDOC_INBOUND_PROCESS. The conversion tables can be found in the environment menu for the transaction 'Development of IDoc Types' (WE30) or in Customizing. You should also read the Customizing information 'Breaking down long names' in the IMG chapter 'IDoc Interface - Basis'.

However, SAP recommends that the subsystem is converted directly to the new structures EDI_DC40, EDI_DD40 and the function module IDOC_INBOUND_ASYNCHRONOUS: this process must be carried out once and subsequently it is not necessary to maintain the conversion table for each new development object in the IDoc interface. The new structure description can be made known to the subsystem via the transactions 'IDoc Record Types Documentation' (WE61) or 'IDoc Type Documentation (Parser)' (WE63).

New installation 4.0 or first use of IDoc in Rel. 4.0

In this case, the subsystem should be configured to use the new structures EDI_DC40 and EDI_DD40 and the function module IDOC_INBOUND_ASYNCHRONOUS from the start (see previous section).

Procedure for port type 'Transactional RFC': communication with another R/3 System

As standard, all ports retain type 'tRFC' after the upgrade, i.e. they remain set to version 2 (Release 3.0/3.1). As a result, all links to 3.x functionality continue to work correctly after the upgrade.

Communication with R/3 Releases from 4.0 onwards

In the port definition, version 3 (from Release 4.0) should be selected.

Communication with R/3 Releases before 4.0

In the port definition, version 2 (Release 3.0/3.1) should be selected.

If IDocs developed for 4.0 with long names are to be exchanged with older R/3 releases, these long names must be converted into short names. The conversion tables can be found in the environment menu for the transaction 'Development of IDoc Types' (WE30) or in Customizing. You should also read the Customizing information 'Mapping long names to short names' in the IMG chapter 'IDoc Interface - Basis'.

Change system parameters in customizing

The conversion tables can be maintained in Customizing using the activity 'Mapping long names to short names'.