Anfang des Inhaltsbereichs

Vorgehensweisen Eingangsfunktionsbaustein erweitern  Dokument im Navigationsbaum lokalisieren

Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Eingangsfunktionsbausteins, der Daten aus den Erweiterungssegmenten in Anwendungstabellen stellt.

Voraussetzungen

Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs.

Vorgehensweise

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 daß 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 muß das neu angelegte Include erst feststellen, ob es beim richtigen Elternsegment aufgerufen wurde.