Ansicht
Dokumentation

ABAPINSERT_FG - INSERT FG

ABAPINSERT_FG - INSERT FG

RFUMSV00 - Advance Return for Tax on Sales/Purchases   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

INSERT, field_group

Kurzreferenz



INSERT dobj1 dobj2 ... INTO ${ header $| field_group $}.

Wirkung

Diese Anweisung dient zum Aufbau der Struktur einer mit FIELD-GROUPS definierten Feldgruppe des Extraktdatenbestands des Programms. Hinter INSERT kann eine Liste globaler flacher Datenobjekte dobj aufgeführt werden. Die Angabe lokaler Datenobjekte führt zu einer Ausnahme. Diese Liste definiert die Komponenten der Feldgruppe header bzw. field_group. Für field_group kann ein frei wählbarer Name direkt angegeben werden, während header ein vordefinierter Name einer speziellen Feldgruppe ist, deren Komponenten automatisch Teil und Schlüssel aller anderen Feldgruppen sind. Die Komponenten einer Feldgruppe sind als Zeiger auf Datenobjekte zu verstehen, deren Inhalte bei Ausführung der Anweisung EXTRACT als Zeile an den Extraktdatenbestand angehängt werden.

Die Anweisung INSERT kann in jedem Verarbeitungsblock eines Programms stehen und wird bei der Programmausführung zum entsprechenden Zeitpunkt ausgeführt. Es kann verschiedene INSERT-Anweisungen für eine Feldgruppe geben. Eine Feldgruppe kann so lange um weitere Komponenten erweitert werden, bis die erste entsprechende Zeile mit EXTRACT an den Extraktdatenbestand angehängt wird. Insbesondere kann die Feldgruppe header nur so lange erweitert werden, bis eine beliebige Feldgruppe des Programms extrahiert wurde, da sie Teil aller Feldgruppen ist. Eine INSERT-Anweisung für eine Feldgruppe, die bereits extrahiert wurde, führt zu einer unbehandelbaren Ausnahme.

Für dobj können Feldsymbole, aber keine dereferenzierten Datenreferenzen angegeben werden. Ein Feldsymbol, dem kein Datenobjekt zugewiesen ist, wird ignoriert. Die Angabe einer Datenreferenz führt zu einer unbehandelbaren Ausnahme.

Hinweise

  • Eine Feldgruppe field_group, in die explizit keine Felder aufgenommen werden, enthält dennoch die Felder der speziellen Feldgruppe header.
  • In globalen Klassen können keine Feldgruppen definiert und bearbeitet werden. In Methoden lokaler Klassen anderer Programme als Class-Pools ist die Anweisung INSERT für dort global definierte Feldgruppen möglich.

Beispiel

In diesem Beispiel werden drei Feldgruppen im globalen Deklarationsteil eines ausführbaren Programms deklariert und ihre Komponenten im Ereignisblock START-OF-SELECTION festgelegt. Die Feldgruppe flight_info hat fünf Komponenten: die der Feldgruppe header und ihre eigenen. Die Feldgruppe flight_date enthält nur die Komponenten der Feldgruppe header.

Ausnahmen

Unbehandelbare Ausnahmen

  • Ursache: In eine Feldgruppe sollten lokale Datenobjekte eingefügt werden.
    Laufzeitfehler: EXTRACT_INSERT_LOCAL_DATA
  • Ursache: INSERT in Feldgruppe, nachdem bereits Sätze dieser Satzart mit EXTRACT extrahiert wurden.
    Laufzeitfehler: INSERT_INTO_LOCKED_FIELD_GROUP






ABAP Short Reference   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4651 Date: 20240424 Time: 072706     sap01-206 ( 79 ms )