Ausgangsfunktionsbaustein
erweitern
Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Ausgangsfunktionsbausteins, der die Erweiterungssegmente mit Anwendungsdaten füllt.
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs.
...
1.
Die Kundenerweiterung der
entsprechenden Funktionsbausteine schreiben Sie über einen Funktions- oderUser-Exit in der Projektverwaltung:
Wählen Sie im Einstiegsbild der ABAP Workbench Hilfsmittel ®Erweiterungen
®
Projektverwaltung. Geben Sie einen Projektnamen an (Kundennamensraum
beachten!) und wählen Sie Attribute (Auswahlknopf) und
Anlegen. Geben Sie einen Kurztext
ein und sichern Sie.

Weitere Informationen zu Erweiterungsprojekten finden Sie
in der SAP-Bibliothek unter
Änderungen des
SAP-Standards.
2.
Gehen Sie ins Einstiegsbild der Projektverwaltung zurück
und wählen Sie die Teilobjekte Zuordnung
Erweiterungen. Wählen Sie
Ä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.
3.
Im Einstiegsbild der Projektverwaltung wählen Sie jetzt
die Teilobjekte Komponenten. Wählen Sie
Ändern.
Sie erhalten eine Liste aller Funktions-Exits. Über
Erweiterung gelangen Sie
zur Dokumentation zu den einzelnen Exits.
4. Per Doppelklick auf den gewünschten Funktions-Exit gelangen Sie in den ABAP Editor.
5. Der Funktions-Exit enthält die Zeile include <Kunden-Include>. Durch Doppelklick auf den Namen legen Sie dies Include an (Systemabfragen bestätigen). Geben Sie Ihren Quelltext ein und sichern Sie anschließend.

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ß.
6. Sie müssen jetzt noch Ihre neuen Erweiterungssegmente als globale Strukturen im kundeneigenen TOP-include definieren. Dazu wählen Sie im ABAP-Editor Springen ® Globale Daten
Sie gelangen in das TOP-Programm.
7. Legen Sie das Kunden-TOP-Include durch Doppelklick auf dessen Namen an (Systemabfragen bestätigen!). Geben Sie Ihre Erweiterungssegmente als TABLES-Datendeklarationen an.
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!
8.
Aktivieren Sie nun Ihr gesamtes Projekt.
Dazu gehen Sie wieder ins Einstiegsbild der Projektverwaltung und wählen
.

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.