An IDoc is a hierarchical structure that contains segments. A segment can be a parent or child. A child segment depends on another segment. A parent segment contains child segments. A parent segment can be a child of another segment.
IDoc segments are organized into groups. The following rules determine to which group a segment belongs:
A parent segment starts a new group.
For example, in the following figure, the E1MARCM segment contains a child and therefore starts a new group.
A child segment that is not a parent belongs to the group that is started by its immediate parent.
For example, in the following figure, the E1MARA1 segment does not contain a child and therefore belongs to the group of its parent E1MARAM.
A group can also be a parent or a child.
The following figure provides an example, where the E1MARAM group is a parent of the E1MARCM group:
Some segments and groups are required. In an SAP/ALE IDoc Prepare transformation, SAP/ALE IDoc Interpreter transformation, and SAP DMI Prepare transformation, a required segment must exist in the IDoc only if its group, its parent groups, and its parent segments are required or selected. For example, the E1MARAM group is required. Therefore, its required child segment E1MAKTM must exist in the IDoc. Its optional child segment E1MARA1 does not have to exist in the IDoc.
If a required segment belongs to an optional group that is not selected, then the segment does not have to exist in the IDoc. For example, the E1MARCM group is optional. Therefore, the required E1MARCM segment also becomes optional.
These rules describe the hierarchy of a standard IDoc. The hierarchy of a custom IDoc may differ. However, the PowerCenter Integration Service processes the data in the same way.