IDoc structural format

The IDoc format consists of hierarchically structured segments with multiple levels of nesting. IDocs exist for data such as customers and materials, for transactional data such as sales orders, and for control data such as company codes. In ALE terms, these are called IDoc types, which are described as follows:
Control record
There is one control record, and its format is identical for all IDoc types. It consists of the IDoc ID, Sender ID, Receiver ID, IDoc type, and EDI attribute.
Data records
There can be one or more data records. A data record consists of a fixed administration section (IDoc ID, Sequence/Hierarchy) and a data part (Segment). A Segment is the formal definition for header data and item data. The number and format of the segments can be different for each IDoc type.
Status records
The status records describe the processing stages through which an IDoc can pass, and contain the IDoc ID and status information. There will be several status records.

The IDoc types are assigned to release-independent message types, which themselves are assigned to object types in the Business Object Repository (BOR). Customer enhancements are generally subject to naming conventions. IDoc data segments are a maximum of 1000 bytes in length and generally only contain CHAR fields. The data segments of an IDoc type are described by release-independent segment types and have release-specific segment definitions that are stored as internal structures in the Dictionary. This means IDocs can be sent with different data contents to different recipients because the recipient's release is defined in the sending system.