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.

Prerequisites

You must have completed the required steps in Enhancing an IDoc Type .

Procedure

...

       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.