For each extension segment, there is a customer extension in the coding of the outbound function module, which enters the application data in the extension segment.
Prerequisites
You must have completed the required steps in
Extending an IDoc Type .Procedure
For more information on the extension projects, see the SAP Library SAP Web Application Server ® ABAP Workbench ® Changing the SAP Standard.
An SAP extension contains as components function exits (function modules), from which you will choose those required in the next step.
A list of all the function exits is output. By selecting Extension, documentation on the individual Exits is displayed.
You do not have to maintain the fields HLEVEL (hierarchy level of the segment) and PSGNUM (number of the parent segment) in the IDoc data record. This is done by the IDoc Interface, which can obtain the information about the position of the segment in the IDoc type from the definition of the extension.
The TOP program is displayed.
If you have activated the segment before, there should be no problems with the syntax check ( ). You should never create the segment directly in the Dictionary. Always use the segment editor.
In the example, extend the function module IDOC_OUTPUT_ORDERS in the additional project ZM06E001.
SAP extension |
MM06E001 |
Function exit |
EXIT_SAPLEINM_002 (Customer extension of data segments for outbound purchasing document) |
Include |
ZXM06U02 |
Segment |
Z1TEST1 |
Main program |
SAPLXM06 |
TOP program |
LXM06TOP |
Customer Top Include |
ZXM06TOP |
The source text appears as follows:
DATA segnam(27).
segnam = int_edidd-segnam.
CASE segnam.
WHEN 'E1EDP19'.
CLEAR int_edidd. "Clear work area
int_edidd-segnam = 'Z1TEST1'. "Name of customer segment z1test1-continent = 'Europe'.
int_edidd-sdata = z1test1. "Remaining fields from int_edidd
"can be transferred
APPEND int_edidd.
ENDCASE
The CASE instruction in the source text is essential because the same customer exit is called for each segment in the function module
IDOC_OUTPUT_ORDERS . For this reason, the new include must first determine whether the call came from the correct parent segment.