Segmentsform the basic building blocks of an IDoc type and are used to store the actual data.
A segment type is the name of a segment and is independent of the SAP release.
The segment definition is the release-specific name of a segment. By combining the segment type and the release, the required segment definition can be determined: This way, you can assign segment definitions from previous releases to an IDoc type in the current release. This may be necessary if, for example, the partner is using an older release which supports your current IDoc type but not your current segment definitions. You then have to "reset" these in the Partner profiles .
The segment definition is also the external name of the segment that the partner system "sees".
Do not transfer the meaning of these terms to IDoc types: Therefore, an IDoc type ("an IDoc is an IDoc type filled with data") is always data-independent, while a segment type is always release-independent. A segment can be part of both an IDoc (data-dependent) and an IDoc type (data-independent).