Ausgangsfunktionsbaustein erweitern 
Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Ausgangsfunktionsbausteins, der die Erweiterungssegmente mit Anwendungsdaten füllt.
Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus
Erweiterung eines IDoc-Typs.Vorgehensweise
Anlegen. Geben Sie einen Kurztext ein und sichern Sie.

Genaueres zu Erweiterungsprojekten finden Sie in der R/3 Bibliothek unter
Basis
® ABAP Workbench
® Erweiterungen des SAP-Standards
® Das R/3 Erweiterungskonzept.
Ändern, um Ihrem Projekt SAP-Erweiterungen zuzuordnen. Um SAP-Erweiterungen zu finden, benutzen Sie die F4-Hilfe. Sichern Sie Ihre Angaben.Eine SAP-Erweiterung beinhaltet als Komponenten Funktions-Exits (Funktionsbausteine), aus denen Sie im nächsten Schritt die richtigen aussuchen werden.
Ändern.Sie erhalten eine Liste aller Funktions-Exits. Über
Erweiterung gelangen Sie zur Dokumentation zu den einzelnen Exits.

Beachten Sie, daß Sie die Felder HLEVEL (Hierarchieebene des Segments) und PSGNUM (Nummer des Elternsegments) im IDoc-Datensatz nicht zu füllen brauchen. Das erledigt die IDoc-Schnittstelle, die ja aus der Definition der Erweiterung um die Stellung des Segments im IDoc-Typ weiß.
Sie gelangen in das TOP-Programm.
Wenn Sie Ihr Segment zuvor aktiviert hatten, sollte es beim Syntaxcheck (
) keine Schwierigkeiten geben. Auf keinen Fall sollten Sie das Segment direkt im Dictionary direkt anlegen! Benutzen Sie dazu immer den Segmenteditor!
.

Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_OUTPUT_ORDERS im Zusatzprojekt ZM06E001.
SAP-Erweiterung |
MM06E001 |
Funktions-Exit |
EXIT_SAPLEINM_002 (Kundenerweiterung der Datensegmente bei Einkaufsbeleg Ausgang) |
Include |
ZXM06U02 |
Segment |
Z1TEST1 |
Rahmenprogramm |
SAPLXM06 |
TOP-Programm |
LXM06TOP |
Kunden-Top-Include |
ZXM06TOP |
Der Quelltext lautet:
DATA segnam(27).
segnam = int_edidd-segnam.
CASE segnam.
WHEN 'E1EDP19'.
CLEAR int_edidd. "Arbeitsbereich leeren
int_edidd-segnam = 'Z1TEST1'. "Name des Kundensegmentes
z1test1-kontinent = 'Europa'.
int_edidd-sdata = z1test1. "Übrige Felder von int_edidd
"können übernommen werden
APPEND int_edidd.
ENDCASE
.
Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment im Funktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufen wird. Daher muß das neu angelegte include erst feststellen, ob es beim richtigen Elternsegment aufgerufen wurde.