Eingangsfunktionsbaustein erweitern 
Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Eingangsfunktionsbausteins, der Daten aus den Erweiterungssegmenten in Anwendungstabellen stellt.
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs.
Die Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie über die Transaktion CMOD. Sie gehen analog vor wie für den Ausgang beschrieben.
Beispiel
Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_INPUT_ORDERS im Zusatzprojekt ZEDA0001: Die Erweiterung schreibt den Wert aus dem Segmentfeld Z1TEST1-KONTINENT in das Feld IHREZ (Zeichen des Kunden) der Struktur XVBAK. Der Inhalt dieser Struktur wird beim Aufbau der Batch-Input-Tabelle BDCDATA verwendet, die der Transaktion VA01 (Terminauftrag anlegen) übergeben wird.
IHREZ wird eigentlich schon aus dem Feld E1EDKA1-IHREZ des Basistyps ORDERS01 versorgt, so dass eine Erweiterung hier gar nicht notwendig ist. Das Beispiel soll nur zur Veranschaulichung des Prinzips dienen.
SAP-Erweiterung |
VEDA0001 |
Funktions-Exit |
EXIT_SAPLVEDA_001 (Kundenerweiterung der Datensegmente bei Auftragsbeleg Eingang) |
Include |
ZXVEDU03 |
Segment |
Z1TEST1 |
Rahmenprogramm |
SAPLXVED |
TOP-Programm |
LXVEDTOP |
Kunden-Top-Include |
ZXVEDTOP |
Der Quelltext lautet:
DATA segnam(27).
DATA: BEGIN OF hxvbak.
INCLUDE STRUCTURE vbak.
DATA END OF hxvbak.
segnam = segment-segnam.
CASE segnam.
WHEN 'Z1TEST1'. "Name des Kundensegmentes
z1test1 = segment-sdata. "Daten bekommen Struktur hxvbak-ihrez = z1test1-kontinent. "Hilfsstruktur füllen
MOVE hxvbak TO dxvbak. "CHANGING-Parameter versorgen
ENDCASE.
Hinweis
Die CASE-Anweisung im Quelltext ist notwendig, weil bei jedem Segment im Funktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufen wird. Daher muss das neu angelegte Include erst feststellen, ob es beim richtigen Elternsegment aufgerufen wurde.