
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

Weitere Informationen zu Erweiterungsprojekten finden Sie in der SAP-Bibliothek unter
SAP Web Application Server
® ABAP Workbench
® Änderungen des SAP-Standards.
Eine SAP-Erweiterung beinhaltet als Komponenten Funktions-Exits (Funktionsbausteine), aus denen Sie im nächsten Schritt die richtigen aussuchen werden.
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 Quelltext 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.