Enhancing Outbound Function
Modules
For each enhancement segment, there is a customer enhancement in the coding of the outbound function module, which enters the application data in the enhancement segment.
You must have completed the required steps in Enhancing an IDoc Type .
...
1.
You write
the customer enhancement of the corresponding function modules using a
function or user exit in the project management: From the initial screen of
the ABAP Workbench choose Utilities
→ Enhancements
→ Project
Management. Enter a project name (note the
customer namespace!) and choose Attributes (radio
button) and
create. Enter a
short text and save it.

For more information about enhancement projects, see the following SAP Library
topic:
Changes
to the SAP Standard:
2.
Return to the initial screen of
the project management and select the sub-object enhancements
allocation. Choose
Change to assign
SAP enhancements to your project. Use the F4 Help to find the SAP
enhancements. Save your entries.
An SAP enhancement contains as components function exits (function modules), from which you will choose those required in the next step.
3.
Now choose the sub-object
Components in the initial screen of
project management. Choose
Change.
A list of all the function
exits is output. By selecting
Enhancement,
documentation on the individual Exits is displayed.
4. By double-clicking on the function exit required, the ABAP Editor is displayed.
5. The function exit contains the line include <customer include>. Create this include by double-clicking on the name (confirm system queries). Enter your source text and then save your entries.

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 enhancement.
6. You must now define your new enhancement segments as global structures in the customer-specific TOP include. Choose Goto → Global Data in the ABAP Editor.
The TOP program is displayed.
7. Create the customer TOP Include by double-clicking on the name (confirm system queries). Enter your enhancement segments as TABLES data declarations.
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.
8.
Activate
your entire project. To do this access the initial project management screen
and select
.

In the example, enhance the function module IDOC_OUTPUT_ORDERS in the additional project ZM06E001.
SAP Enhancement |
MM06E001 |
Function Exit |
EXIT_SAPLEINM_002 (Customer enhancement of data segments for outbound purchasing document) |
Include |
ZXM06U02 |
Segment |
Z1TEST1 |
Framework Program |
SAPLXM06 |
TOP Program |
LXM06TOP |
Customer Top Include |
ZXM06TOP |
The source text is 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.