Was ist ABAP?
ABAP ist eine Programmiersprache, mit der inzwischen (fast) da gesamte SAP-System programmiert ist. (Einige Kernbereiche sind noch in Assembler oder C).
ABAP hat mit anderen mir bekannten Sprachen eher weniger gemeinsam.
Entwicklungsumgebung eingebaut
In jedem SAP-System is die komplette Entwicklungsumgebung eingebaut,
Um sie zu benutzen, braucht man aber einen entsprechenden Entwickler-Schlüssel.

Syntax von ABAP
Die Syntax ist etwas gewöhnungsbedürftig.
Mir fällt keine andere Sprache ein, die so laufen würde. Entscheidend ist, daß ABAP eine Zeitpunktgesteuerte Sprache ist. D.h. dass Du den Programmablauf nicht starr vorgibst, sondern auf Ereignisse reagierst. Auf welche Du reagierst, kannst Du Dir in gewisser Weise selber aussuchen.
So, und jetzt zur verwegenen Syntax!

A B C D E F G H I L M N O P R S T U W
 
 

A

ADD für Einzelfelder

Addiert zwei Einzelfelder.

Syntax

ADD <n> TO <m>.

Der Inhalt von <n> wird zum Inhalt von <m> addiert und das Ergebnis wird in <m> abgelegt. Äquivalent ist: <m> = <m> + <n>.
 
 

ADD für Folgen von Feldern

Addiert Folgen von Feldern im Speicher

Syntax

ADD <n1> THEN <n2> UNTIL <nz> GIVING <m>.

ADD <n1> THEN <n2> UNTIL <nz> ACCORDING TO <sel> GIVING <m>.

ADD <n1> THEN <n2> UNTIL <nz> TO <m>.

ADD <n1> FROM <m1> TO <mz> GIVING <m>.

Wenn <n1>, <n2>, ..., <nz> eine Folge von Feldern mit gleichem Abstand zueinander sowie demselben Typ und derselben Länge im Speicher ist, werden diese Felder addiert und das Ergebnis <m> zugewiesen. Verschiedene Varianten erlauben die Einschränkung von Feldern auf eine Teilfolge, die Einbeziehung von <m> in die Summe, die Ausführung der Operation auf eine Folge unmittelbar aufeinander folgender Felder.
 
 

ADD-CORRESPONDING

Addiert Teilfelder von Strukturen.

Syntax

ADD-CORRESPONDING <struc1> TO <struc2>.

Es werden alle gleichnamigen Teilfelder der Strukturen <struc1> und <struc2> addiert und die Ergebnisse den Teilfeldern in <struc2> zugewiesen.
 
 

ALIASES

Definiert klassenspezifische Alias-Namen für eine Interface-Komponente in ABAP Objects.

Syntax

ALIASES <alias> FOR <intf~comp>.

<alias> wird innerhalb einer Klasse als Synonym für die Interface-Komponente <intf~comp> definiert.
 
 

APPEND

Hängt eine Zeile oder mehrere Zeilen an das Ende einer Index-Tabelle an.

Syntax

APPEND <line>|LINES OF <jtab> TO <itab>.

Es werden eine Zeile <line> oder mehrere Zeilen einer internen Tabelle <jtab> an die Index-Tabelle <itab> angehängt.
 
 

ASSIGN

Weist einem Feldsymbol ein Feld zu.

Syntax

ASSIGN <f> TO <FS>.

Das Datenobjekt <f> wird einem Feldsymbol <FS> zugewiesen. Danach zeigt <FS> auf das Datenobjekt. Beim Namen von Feldsymbolen sind spitze Klammern Teil der Syntax.
 
 

AT für Ereignisblöcke

Ereignisschlüsselwörter zur Definition von Ereignisblöcken für Bildschirm-Ereignisse.

Syntax

AT SELECTION-SCREEN ...

AT LINE-SELECTION.

AT USER-COMMAND.

AT PFn.

Benutzeraktionen auf einem Selektionsbild oder auf einer Liste lösen in der ABAP-Laufzeitumgebung bestimmte Ereignisse aus. Die Ereignisschlüsselwörter definieren Ereignisblöcke, die bei Auftreten der Eriegnisse aufgerufen werden.
 
 

AT für Gruppenwechsel

Gruppenwechsel bei der Schleifenverarbeitung von Extrakten und internen Tabellen.

Syntax

AT NEW <f>.

AT END OF <f>.

AT FIRST.

AT LAST.

AT <fg>.

Die Anweisungen dienen der Gruppenstufenverarbeitung innerhalb einer Schleife über einen Extraktdatenbestand oder eine interne Tabelle. Sie leiten Anweisungsblöcke ein, die mit ENDAT abgeschlossen werden müssen. Die zwischen AT und ENDAT stehende Anweisungen werden genau dann ausgeführt, wenn der entsprechende Gruppenwechsel vorliegt.
 
 

AUTHORITY-CHECK

Prüft die Benutzerberechtigung.

Syntax

AUTHORITY-CHECK OBJECT <object> ID <name1> FIELD <f1>
                                ID <name2> FIELD <f2>
                                ...

                                ID <name10> FIELD <f10>.

Es wird überprüft, ob der Programmbenutzer alle im Berechtigungsobjekt <object> definierten Berechtigungen hat. <name1>, ..., <name10> sind die Berechtigungsfelder des Berechtigungsobjekts. <f1>, ... ,<f10> sind Datenobjekte des Programms. Der Wert der Datenobjekte wird gegen die Berechtigungsfelder überprüft.
 
 

B

BACK

Relative Positionierung der Ausgabe auf einer Liste.

Syntax

BACK.

Positioniert die Listenausgabe entweder in die erste Spalte der ersten Zeile hinter dem Seitenkopf der aktuellen Seite oder in Verbindung mit RESERVE in die erste Spalte der ersten Zeile eines Zeilenblocks.
 
 

BREAK-POINT

Ruft den Debugger.

Syntax

BREAK-POINT.

Unterbricht die Ausführung des Programms und verzweigt in den Debugging-Modus. Dient als Testhilfe, die normale Programmverarbeitung wird bei Erreichen dieser Anweisung unterbrochen und das System verzweigt in einen Debugger.
 
 

C

CALL CUSTOMER-FUNCTION

Aufruf von Kunden-Funktionsbausteinen.

Syntax

CALL CUSTOMER-FUNCTION <func> ...

Ähnlich wie CALL FUNCTION. Die Funktionsbausteine müssen im Rahmen des Modifikationskonzepts vom Kunden programmiert und aktiviert werden.
 
 

CALL FUNCTION

Aufruf von Funktionsbausteinen.

Syntax

CALL FUNCTION <func> [EXPORTING  ... fi = ai ... ]
                     [IMPORTING  ... fi = ai ... ]
                     [CHANGING   ... fi = ai ... ]
                     [TABLES     ... fi = ai ... ]
                     [EXCEPTIONS ... ei = ri ... ]
              [DESTINATION <dest>]
              [IN UPDATE TASK]
              [STARTING NEW TASK]
              [IN BACKGOUND TASK].

Je nach Variante der Anweisung werden Funktionsbausteine des gleichen R/3-Systems oder eines externen Systems aufgerufen. Im Rahmen der Transaktionsverarbeitung können Verbuchungsbausteine aufgerufen werden. Funktionsbausteine können auch asynchron ausgeführt werden. Mit den übrigen Zusätzen werden für die Parameterschnittstelle des Funktionsbausteins <func> Aktualparameter angegeben und Ausnahmen bearbeitet.
 
 

CALL DIALOG

Aufruf eines Dialogbausteins.

Syntax

CALL DIALOG <dialog> [AND SKIP FIRST SCREEN]
                     [EXPORTING ... fi = ai ... ]
                     [IMPORTING ... fi = ai ... ]
                     [USING itab].

Ruft den Dialogbaustein <dial>. Eine Dialogbaustein ist ein ABAP-Programm mit einer Dynprofolge, die nicht über einen Transaktionscode gestartet werden muß und in der gleiche SAP-LUW laufen, wie der Aufrufer. Mit den Zusätzen können das Einstiegsbild der Dynprofolge übersprungen und Aktualparameter für die Parameterschnittstelle des Dialogbausteins angegeben werden.
 
 

CALL METHOD

Aufruf einer Methode in ABAP Objects.

Syntax

CALL METHOD <meth> [EXPORTING  ... <ii> = .<fi> ... ]
                   [IMPORTING  ... <ei> = .<gi> ... ]
                   [CHANGING   ... <ci> = .<fi> ... ]
                   [RECEIVING r = h ]
                   [EXCEPTIONS ... <ei> = ri...     ]

Ruft eine statische Methode oder Instanzmethode <meth>. Mit den Zusätzen werden für die Parameterschnittstelle des Funktionsbausteins Aktualparameter angegeben und Ausnahmen bearbeitet.
 
 

CALL METHOD OF

Aufruf einer Methode in OLE2 Automation.

Syntax

CALL METHOD OF <obj> <m>.

Ruft die Methode <m> des OLE2 Automation-Objekts <obj>.
 
 

CALL SCREEN

Aufruf von Dynprofolgen

Syntax

CALL SCREEN <scr>
            [STARTING AT <X1> <Y1>]
            [ENDING AT <X2> <Y2>].

Ruft die Dynprofolge, die mit dem Dynpro <scr> beginnt auf. Alle Dynpros einer Dynprofolge gehören zum aktuellen ABAP-Programm. Die Dynprofolge endet bei Erreichen des Folgedynpros 0. Mit den Zusätzen kann ein einzelnes Dynpro als modales Dialogfenster aufgerufen werden.

CALL SELECTION-SCREEN

Aufruf eines Selektionsbilds.

Syntax

CALL SELECTION-SCREEN <scr>
                      [STARTING AT <x1> <y1>]
                      [ENDING AT <x2> <y2>].

Ruft ein beliebiges im Programm definiertes Selektionsbild auf. Die Selektionsbildverarbeitung findet im Programm bei den Ereignissen AT SELECTION-SCREEN statt. Mit den Zusätzen kann ein Selektionsbild als modales Dialogfenster aufgerufen werden.

CALL TRANSACTION

Aufruf einer Transaktion.

Syntax

CALL TRANSACTION <tcod>
                 [AND SKIP FIRST SCREEN]
                 [USING <itab>].

Ruft die Transaktion <tcod> unter Erhaltung der Daten des aufrufenden Programms. Am Ende der aufgerufenen Transaktion kehrt das System hinter die Aufrufstelle zurück. Mit den Zusätzen können das Einstiegsbild der Transaktion übersprungen oder eine Batch-Input-Tabelle an die Transaktion übergeben werden.
 
 

CASE

Bedingte Verzweigung.

Syntax

CASE <f>.

Öffnet eine CASE-Kontrollstruktur, die mit ENDCASE abgeschlossen wird. Die CASE-Kontrollstruktur erlaubt die Verzweigung zu verschiedenen mit WHEN eingeleiteten Anweisungsblöcken in Abhängigkeit vom Inhalt des Datenobjekts <f>.
 
 

CATCH

Fängt Laufzeitfehler ab.

Syntax

CATCH SYSTEM-EXCEPTIONS <except1> = <rc1> ... <exceptn> = <rcn>.

Leitet einen CATCH-Bereich ein, der mit ENDCATCH abgeschlossen wird. Tritt innerhalb von CATCH und ENDCATCH ein abfangbarer Laufzeitfehler <excepti> auf, so wird der aktuelle Verarbeitungsblock unterbrochen und direkt zur zugehörigen ENDCATCH-Anweisung gesprungen und SY-SUBRC mit <rci> gefüllt.
 
 

CHECK

Bedingtes Verlassen eines Schleifendurchgangs oder eines Verarbeitungsblocks.

Syntax

CHECK <logexp>.

Falls der logische Ausdruck <logexp> wahr ist, wird mit der nächsten Anweisung fortgefahren. Falls der logische Ausdruck <logexp> falsch ist wird innerhalb von Schleifen der aktuelle Schleifendurchgang abgebrochen und der nächste Schleifendurchgang ausgeführt, ansonsten wird der aktuelle Verarbeitungsblock verlassen. Im Zusammenhang mit Selektionstabellen und in GET-Ereignisblöcken gibt es einige Spezialformen der CHECK-Anweisung.
 
 

CLASS - Deklaration

Deklaration einer Klasse in ABAP Objects.

Syntax

CLASS <class> DEFINITION [PUBLIC]
              [INHERITING FROM <superclass>]
              [DEFERRED]
              [LOAD].

Leitet den Deklarationsteil einer Klasse <class> ein. Der Deklarationsteil wird mit ENDCLASS abgeschlossen und enthält die Deklaration aller Komponenten der Klasse. Der Zusatz PUBLIC wird vom Werkzeug Class Builder generiert und definiert eine globale Klasse in der Klassenbibliothek. Mit dem Zusatz INHERITING FROM wird die Klasse <class> von einer Oberklasse <superclass> abgeleitet. Mit dem Zusatz DEFERRED wird die Klasse vor ihrer Deklaration bekannt gemacht. Mit dem Zusatz LOAD wird eine Klasse explizit aus der Klassenbibliothek geladen.
 
 

CLASS Implementierung

Implementierung einer Klasse in ABAP Objects.

Syntax

CLASS <class> IMPLEMENTATION.

Leitet den Implementierungsteil einer Klasse <class> ein. Der Implementierungsteil wird mit ENDCLASS abgeschlossen und enthält die Implementierung aller Methoden der Klasse.
 
 

CLASS-DATA

Deklariert statische Attribute einer Klasse oder eines Interfaces.

Syntax

CLASS-DATA <a> ...

Wie DATA. Das Attribut <a> wird aber als statisches Attribut deklariert. Statische Attribute sind instanzunabhängig und ihr Inhalt gilt für alle Instanzen gemeinsam.
 
 

CLASS-METHODS

Deklariert statische Methoden einer Klasse oder eines Interfaces.

Syntax

CLASS-METHODS <meth> ...

Wie METHODS. Die Methode <meth> wird aber als statische Methode deklariert. Eine statische Methode hat Zugriff auf statische Attribute und darf nur statische Ereignisse auslösen.
 
 

CLASS-EVENTS

Deklariert statische Ereignisse einer Klasse oder eines Interfaces.

Syntax

CLASS-EVENTS <evt> ...

Wie EVENTS. Das Ereignis <evt> wird aber als statisches Ereignis deklariert. Statische Ereignisse sind die einzigen Ereignisse, die in statischen Methoden ausgelöst werden dürfen.
 
 

CLEAR

Setzt Variable auf Initialwert.

Syntax

CLEAR <f>.

Die Variable <f>, die von beliebigem Datentyp sein darf, wird auf ihren typgerechten Initialwert gesetzt.
 
 

CLOSE DATASET

Schließt eine Datei.

Syntax

CLOSE DATASET <dsn>.

Eine mit OPEN DATASET geöffnete Datei <dsn> auf dem Applikationsserver wird geschlossen.
 
 

CLOSE CURSOR

Schließt einen Datenbank-Cursor.

Syntax

CLOSE CURSOR <c>.

Ein mit OPEN CURSOR geöffneter Cursor wird geschlossen.
 
 

COLLECT

Fügt Zeilen verdichtet in interne Tabellen ein.

Syntax

COLLECT <line> INTO <itab>.

Es wird überprüft ob schon ein zum Tabellenschlüssel passender Tabelleneintrag vorliegt. Wenn nicht, hat die Anweisung die gleiche Wirkung wie INSERT. Liegt schon ein Eintrag vor, fügt COLLECT keine neue Zeile ein, sondern addiert den Inhalt der numerischen Felder des Arbeitsbereichs <line> zum Inhalt der entsprechenden Felder des vorhandenen Eintrags.
 
 

COMMIT

Schließt eine SAP-LUW ab.

Syntax

COMMIT WORK [AND WAIT].

Alle Datenbankveränderungen werden festgeschrieben und alle Datenbanksperren werden freigegeben. Die Verbuchung wird angestoßen. Mit dem Zusatz AND WAIT wird das Ende der Verbuchung abgewartet, ansonsten wird asynchron verbucht.
 
 

COMMUNICATION

Ermöglicht eine Programm-zu-Programm Kommunikation.

Syntax

COMMUNICATION INIT DESTINATION <dest> ID <id> [Zusätze].

COMMUNICATION ALLOCATE ID <id> [Zusätze].

COMMUNICATION ACCEPT ID <id> [Zusätze].

COMMUNICATION SEND ID <id> BUFFER <f> [Zusätze].

COMMUNICATION RECEIVE ID <id> [Zusätze].

COMMUNICATION DEALLOCATE ID <id> [Zusätze].

Mit diesen Anweisungen werden die Initialisierung, der Aufbau und die Annahme einer Programm-zu-Programm Verbindung, das Senden und Empfangen von Daten zwischen den Partnerprogrammen und schließlich der Abbau der Verbindung implementiert.
 
 

COMPUTE

Führt numerische Operationen durch.

Syntax

COMPUTE <n> = <expression>.

Das Ergebnis des in <expression> angegebenen mathematischen Ausdrucks wird dem Ergebnisfeld <n> zugewiesen. Das Schlüsselwort COMPUTE ist optional.
 
 

CONCATENATE

Verkettet mehrere Zeichenketten zu einer Zeichenkette.

Syntax

CONCATENATE <c1> ... <cn> INTO <c> [ SEPARATED BY <s> ].

Die Zeichenketten <c1> bis <cn> werden verkettet und <c> zugewiesen. Mit dem Zusatz <s> kann eine Zeichenkette angegeben werden, die zwischen die einzelnen Felder eingefügt wird.
 
 

CONDENSE

Entfernt Leerzeichen aus Zeichenketten.

Syntax

CONDENSE <c> [NO-GAPS].

Im zeichenartigen Feld <c> werden die führenden Leerzeichen entfernt und andere Leerzeichenfolgen durch genau ein Leerzeichen ersetzt. Der Zusatz NO-GAPS bewirkt, daß alle Leerzeichen entfernt werden.
 
 

CONSTANTS

Deklariert konstante Datenobjekte.

Syntax

CONSTANTS <c> ... VALUE [<val> | IS INITIAL] ...

Syntax wie bei DATA, nur daß der VALUE-Zusatz ist erforderlich ist und daß keine konstanten internen Tabellen oder tiefe Strukturen deklariert werden können. Der hinter VALUE angegebene Startwert kann während der Programmausführung nicht mehr geändert werden.
 
 

CONTINUE

Beendet einen Schleifendurchgang.

Syntax

CONTINUE.

Nur innerhalb von Schleifen. Der aktuelle Schleifendurchgang wird beendet und der nächste Schleifendurchgang wird gestartet.
 
 

CONTEXTS

Führt einen Context ein.

Syntax

CONTEXTS <c>.

Erzeugt implizit einen Datentyp CONTEXT_<c>, mit dem Context-Instanzen angelegt werden können.
 
 

CONTROLS

Definiert einen Control.

Syntax

CONTROLS <ctrl> TYPE <ctrl_type>.

Es wird ein ABAP-Laufzeitobjekt <ctr1> definiert, das je nach Typ <ctrl_typ> Daten in einer bestimmten Form visuell auf einem Dynpro darstellt und einheitliche Verarbeitungsmöglichkeiten für diese Daten anbietet. Zur Zeit werden Table-Controls und TabStrips (Register) unterstützt.
 
 

CONVERT für Datumsangaben

Konvertiert Datumsangaben in ein inverses Datumsformat.

Syntax

CONVERT DATE <d1> INTO INVERTED-DATE <d2>.

CONVERT INVERTED-DATE <d1> INTO DATE <d2>.

Wenn <d1> und <d2> Datumsfelder der internen Datumsdarstellung YYYYMMDD sind, wird das 9-er Kompliment von <d1> in das Feld <d2> gestellt und umgekehrt. Im inversem Datumsformat hat das jüngste Datum den numerisch kleinsten Wert.
 
 

CONVERT für Zeitstempel

Konvertiert Zeitstempel in Datums- und Zeitangaben unter Berücksichtigung der Zeitzone.

Syntax

CONVERT TIME STAMP <tst> TIME ZONE <tz> INTO DATE <d> TIME <t>.

CONVERT DATE <d> TIME <t> INTO TIME STAMP <tst> TIME ZONE <tz>.

Wenn <tst> vom Typ P(8) oder P(11) mit 7 Dezimalstellen und <tz> vom Typ C(6) ist, wird der Zeitstempel <tst> unter Berücksichtigung der Zeitzone <tz> nach Datum <d> und Zeit <t> konvertiert bzw. umgekehrt.
 
 

CONVERT für Text

Konvertiert einen Text in ein alphabetisch sortierbares Format.

Syntax

CONVERT TEXT <text> INTO SORTABLE CODE <x>.

Wenn <text> muß vom Typ C und <x> vom Typ X ist, wird die Zeichenkette so konvertiert, daß die relative Ordnung der Zeichen untereinander alphabetisch gemäß der eingestellten Textumgebung definiert ist.
 
 

CREATE OBJECT in ABAP Objects

Erzeugt ein Objekt in ABAP Objects.

Syntax

CREATE OBJECT <cref>.

Wenn <cref> eine mit Bezug auf eine Klasse typisierte Referenzvariable ist, wird ein Objekt der entsprechenden Klasse erzeugt. Die Referenz in <cref> zeigt danach auf dieses Objekt.
 
 

CREATE OBJECT in OLE2 Automation

Erzeugt ein externes Objekt in OLE2 Automation.

Syntax

CREATE OBJECT <obj> <class>.

Wenn <class> eine Klasse ist, der ein Automation-Server zugeordnet ist, wird ein Einstiegsobjekt <obj> dieser Klasse erzeugt.
 
 

D

DATA mit Bezug auf bekannte Datentypen

Deklariert Variablen mit bekannten Datentypen.

Syntax

DATA <f> ... [TYPE <type>|LIKE <obj>] ... [VALUE <val>].

Es wird eine Variable <f> mit dem vollständig bekannten Datentyp <type> oder dem gleichen Datentyp wie ein anderes Datenobjekt <obj> deklariert. Der Datentyp <type> ist D, F, I, T, ein mit TYPES definierter programmlokaler Typ oder ein Typ aus dem ABAP Dictionary. Das Datenobjekt <obj> ist ein bereits deklariertes Datenobjekt oder eine Zeile einer internen Tabelle. Der VALUE-Zusatz gibt einen Startwert an.
 
 

DATA mit Bezug auf generische Datentypen

Deklariert Variablen unter Vervollständigung von generischen Typen.

Syntax

DATA <f>[(<length>)] TYPE <type> [DECIMALS <d>] ... [VALUE <val>].

DATA <f> TYPE <itab>.

Der Datentyp <type> ist C, N, P oder X. Mit der Option <length> wird die Feldlänge festgelegt. Ohne die Angabe von <length> wird die Feldlänge auf den entsprechenden Initialwert gesetzt. Falls <type> gleich P ist, wird mit der Option DECIMALS die Anzahl der Dezimalstellen <d> festgelegt. Ohne die Angabe von DECIMALS wird die Anzahl der Dezimalstellen auf Null gesetzt. Ohne den TYPE-Zusatz wird implizit der eingebaute generische Typ C verwendet.

Syntax

DATA <f> TYPE <itab>.

Der Datentyp <itab> ist eine Standard-Tabelle mit generischem Schlüssel. In der DATA-Anweisung wird automatisch der Standardschlüssel verwendet.
 
 

DATA mit Erzeugung gebundener Datentypen

Deklariert Variablen mit Datentypen, die nur als Attribute der Variablen bestehen.

Syntax

DATA <f> TYPE REF TO <class>|<interface>.

Die Variable <f> wird als Referenzvariable fürdie Klasse <class> oder das Interface <interface> deklariert.

Syntax

DATA: BEGIN OF <structure>,
        ...
        <fi> ...,
        ...
END OF <structure>.

Die Variablen <fi> werden zu einer Struktur <structure> zusammengefaßt. Die einzelnen Variablen einer Struktur werden im Programm mit einem Bindestrich zwischen Strukturname und Komponentenname benannt: <structure>-<fi>.

Syntax

DATA <f> TYPE|LIKE <tabkind> OF <linetype> WITH <key>.

Die Variable <f> wird als internen Tabelle mit der Tabellenart <tabkind>, Zeilentyp <linekind> und Schlüssel <key> deklariert.
 
 

DATA für gemeinsame Datenbereiche

Deklariert gemeinsame Datenbereiche in Programmen.

Syntax

DATA: BEGIN OF COMMON PART <c>,
        <fi> ...
      END OF COMMON PART.

Die Variablen <fi> werden einem Datenbereich <c> zugeordnet, der in mehreren Programmen gleich definiert werden kann. Für alle Programme, die über externe Unterprogrammaufrufe in den gleichen internen Modus geladen werden, verwenden diese Datenbereiche die gleichen Speicheradressen.
 
 

DEFINE

Definiert ein Makro.

Syntax

DEFINE <macro>.

Die Definition eines Makros <macro> wird eingeleitet. Ein Makro muß aus vollständigen ABAP-Anweisungen bestehen und wird durch END-OF-DEFINITION abgeschlossen.
 
 

DELETE für Dateien

Löscht Dateien auf dem Applikationsserver.

Syntax

DELETE DATASET <dsn>.

Es wird die Datei <dsn> aus dem Filesystem des Applikationsservers gelöscht.
 
 

DELETE für Zeilen aus Datenbanktabellen

Löscht Zeilen in Datenbanktabellen.

Syntax

DELETE FROM <dbtab> WHERE <cond>.

Alle Zeilen der Datenbanktabelle <dbtab>, die den Bedingungen der WHERE-Klausel genügen, werden gelöscht.

Syntax

DELETE <dbtab> FROM <wa> .

DELETE <dbtab> FROM TABLE <itab>.

Es wird die Zeile gelöscht, die den gleichen Primärschlüssel hat, wie der Arbeitsbereich <wa>, bzw. es werden alle Zeilen aus der Datenbanktabelle gelöscht, die den gleichen Primärschlüssel haben, wie eine der Zeilen der internen Tabelle <itab>. Der Arbeitsbereich <wa> bzw. die Zeilen von <itab> müssen mindestens die gleiche Länge und die gleiche Ausrichtung wie der Primärschlüssel der Datenbanktabelle haben.
 
 

DELETE für Cluster-Datenbanken

Löscht Datencluster aus Cluster-Datenbanken.

Syntax

DELETE FROM DATABASE <dbtab>(<ar>) ID <key>.

Es wird das gesamte Daten-Cluster des Bereichs <ar> und der Bezeichnung <key> aus der Cluster-Datenbanktabelle <dbtab> gelöscht.
 
 

DELETE für transaktionsübergreifenden Anwendungspuffer

Löscht Datencluster aus dem transaktionsübergreifenden Anwendungspuffer.

Syntax

DELETE FROM SHARED BUFFER <dbtab>(<ar>) ID <key>.

Es wird das Daten-Cluster des Bereichs <ar> und der Bezeichnung <key>, das im transaktionsübergreifenden Anwendungspuffer der Tabelle <dbtab> abgelegt ist, gelöscht.
 
 

DELETE für Zeilen aus beliebigen internen Tabellen

Löscht Zeilen in internen Tabellen mit beliebiger Tabellenart.

Syntax

DELETE TABLE <itab> FROM <wa>.

DELETE TABLE <itab> WITH TABLE KEY <k1> = <f1> ... <kn> = <fn>.

Löschen über Tabellenschlüssel. Es werden alle Zeilen gelöscht, die den Schlüsselwerten entsprechen. Die Schlüsselwerte werden entweder einem kompatiblen Arbeitsbereich <wa> entnommen oder explizit angegeben.

Syntax

DELETE <itab> WHERE <cond>.

Löschen über Bedingungen. Es werden alle Zeilen gelöscht, die den logischen Ausdruck <cond> erfüllen. Der logische Ausdruck <cond> kann aus verschiedenen Vergleichen zusammengesetzt sein. In jedem einzelnen Vergleich muß der erste Operand eine Komponente der Zeilenstruktur sein.

Syntax

DELETE ADJACENT DUPLICATE ENTRIES FROM <itab> [COMPARING ... ].

Löschen benachbarter doppelter Einträge. Es werden entweder die Schlüsselfelder verglichen oder hinter COMPARING explizite Vergleichsfelder angegeben.
 
 

DELETE für Zeilen aus Index-Tabellen

Löscht Zeilen in Index-Tabellen.

Syntax

DELETE <itab> [INDEX <idx>].

Bei Verwendung der Option INDEX wird die Zeile mit dem Index <idx> aus der Tabelle <itab> gelöscht. Ohne den Zusatz INDEX kann obige Anweisung nur innerhalb einer LOOP-Schleife verwendet werden. Dann wird die aktuelle Zeile gelöscht.

Syntax

DELETE <itab> [FROM <n1>] [TO <n2>] [WHERE <cond>].

Es werden alle Zeilen aus <itab> gelöscht, deren Index zwischen <n1 > und <n 2 > liegt und die WHERE-Bedingung erfüllen. Ohne den Zusatz FROM werden die Einträge ab der ersten Zeile gelöscht. Ohne den Zusatz TO werden die Einträge bis zur letzten Zeile gelöscht. Der logische Ausdruck <cond> kann aus verschiedenen Vergleichen zusammengesetzt sein. In jedem einzelnen Vergleich muß der erste Operand eine Komponente der Zeilenstruktur sein.
 
 

DEMAND

Fragt Context-Instanzen ab.

Syntax

DEMAND <val1> = <f 1> ... <val n> = <f n> FROM CONTEXT <inst>
                                        [MESSAGES INTO <itab>].

Füllt die Felder <fn> mit den Werten <valn> der Context-Instanz <inst>. Mit MESSAGES können Context-Nachrichten programmgesteuert behandelt werden.
 
 

DESCRIBE DISTANCE

Bestimmt den Abstand zwischen zwei Feldern.

Syntax

DESCRIBE DISTANCE BETWEEN <f1> AND <f2> INTO <f3>.

Es wird der Abstand zwischen den Feldern <f1> und <f2> in Byte nach <f3> geschrieben, wobei die Länge des Felds, das im Speicher vor dem anderen Feld liegt, immer mitgezählt wird.
 
 

DESCRIBE FIELD

Bestimmt die Eigenschaften eines Felds.

Syntax

DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]]
                   [OUTPUT-LENGTH <o>] [DECIMALS <d>]
                   [EDIT MASK <m>] [HELP-ID <h>].

Die Attribute des Datenobjekts <f>, die durch die Zusätze der Anweisung benannt sind, werden in die entsprechenden Variablen geschrieben. Es können beliebig viele Zusätze auf einmal verwendet werden.
 
 

DESCRIBE LIST

Bestimmt Eigenschaften einer Liste.

Syntax

DESCRIBE LIST NUMBER OF LINES <lin> [INDEX <idx>].

DESCRIBE LIST NUMBER OF PAGES <n> [INDEX <idx>].

DESCRIBE LIST LINE <lin> PAGE <pag> [INDEX <idx>].

DESCRIBE LIST PAGE <pag> [INDEX <idx>] ...

Je nach Variante schreibt die Anweisung die Anzahl der Zeilen, die Anzahl der Seiten Liste, die Seitenzahl einer bestimmten Listenzeile oder verschiedene Eigenschaften einer bestimmten Seite in Variablen.
 
 

DESCRIBE TABLE

Bestimmt Eigenschaften einer internen Tabelle.

Syntax

DESCRIBE TABLE [LINES <l>] [OCCURS<n>] [KIND <k>].

Je nach Zusatz schreibt die Anweisung die Anzahl der gefüllten Zeilen, den beim Anlegen in INITIAL SIZE angegebenen Wert oder die Tabellenart in die entsprechenden Variablen.
 
 

DIVIDE

Division zweier Felder.

Syntax

DIVIDE <n> BY <m>.

Der Inhalt von <n> wird durch <m> dividiert und das Ergebnis in <n> geschrieben. Äquivalent ist n=n/m.
 
 

DIVIDE-CORRESPONDING

Dividiert Teilfelder von Strukturen.

Syntax

DIVIDE-CORRESPONDING <struc1> BY <struc2>.

Es werden alle gleichnamigen Teilfelder der Strukturen <struc1> und <struc2> dividiert und die Ergebnisse den Teilfeldern in <struc1> zugewiesen.
 
 

DO

Leitet eine Schleife ein.

Syntax

DO [<n> TIMES] [VARYING <f> FROM <f1> NEXT <f2>].

Beginnt einen Anweisungsblock, der durch ENDDO abgeschlossen wird. Ohne TIMES wird die Verarbeitung des Anweisungsblocks innerhalb der Anweisungen DO und ENDDO solange wiederholt, bis eine Abbruchanweisung wie CHECK oder EXIT erreicht wird. Der Zusatz TIMES schränkt die Anzahl der Schleifendurchläufe auf <n> ein. Der VARYING-Zusatz erlaubt es Felder, die im Speicher gleichen Abstand haben, zu bearbeiten.
 
 

E

EDITOR-CALL

Lädt ein ABAP-Programm oder eine interne Tabelle in einen Texteditor.

Syntax

EDITOR-CALL FOR <itab> ...

EDITOR-CALL FOR REPORT <prog> ...

Lädt die interne Tabelle <itab> oder das Programm <prog> in einen Texteditor, um sie dort mit den üblichen Editor-Funktionen zu bearbeiten.
 
 

ELSE

Leitet einen Anweisungsblock in der IF-Kontrollstruktur ein.

Syntax

ELSE.

Wenn innerhalb einer IF-Kontrollstruktur der logische Ausdruck hinter den vorhergehenden IF falsch ist, verweist ELSE auf den auszuführenden Anweisungsblock.
 
 

ELSEIF

Leitet eine Anweisungsblock in der IF-Kontrollstruktur ein.

Syntax

ELSEIF <logexp>.

Wenn innerhalb einer IF-Kontrollstruktur der logische Ausdruck hinter den vorhergehenden IF falsch ist, und <logexp> wahr ist, verweist ELSEIF auf den auszuführenden Anweisungsblock.
 
 

END-OF-DEFINITION

Schließt eine Makrodefinition ab.

Syntax

END-OF-DEFINITION.

Die Anweisung schließt eine mit DEFINE eingeleitete Makrodefinition ab.
 
 

END-OF-PAGE

Ereignisschlüsselwort zur Definition eines Ereignisblocks für ein Listen-Ereignis.

Syntax

END-OF-PAGE.

Wenn während der Erstellung einer Listenseite die für den Seitenfuß reservierten Zeilen erreicht werden, löst die Laufzeitumgebung das Ereignis END-OF-PAGE aus und der entsprechende Ereignisblock wird ausgeführt.
 
 

END-OF-SELECTION

Ereignisschlüsselwort zur Definition eines Ereignisblocks für ein Reporting-Ereignis.

Syntax

END-OF-SELECTION.

Wenn eine logische Datenbank sämtliche gelesene Zeilen an ein verknüpftes ausführbares Programm übergeben hat, löst die Laufzeitumgebung das Ereignis END-OF-SELECTION aus und der entsprechende Ereignisblock wird ausgeführt.
 
 

ENDAT

Schließt einen Anweisungsblock der Gruppenstufenverarbeitung ab.

Syntax

ENDAT.

Die Anweisung schließt eine mit AT eingeleitete Gruppenstufenverarbeitung ab.
 
 

ENDCASE

Schließt eine CASE-Kontrollstruktur ab.

Syntax

ENDCASE.

Die Anweisung schließt eine mit CASE eingeleitete Kontrollstruktur ab.
 
 

ENDCATCH

Schließt einen CATCH Bereich ab.

Syntax

ENDCATCH.

Die Anweisung schließt eine mit CATCH eingeleitete Ausnahmebehandlung ab.
 
 

ENDCLASS

Schließt eine Klassendefinition ab.

Syntax

ENDCLASS.

Die Anweisung schließt eine mit CLASS eingeleitete Klassendeklaration oder Klassenimplementierung ab.
 
 

ENDDO

Schließt eine DO-Schleife ab.

Syntax

ENDDO.

Die Anweisung schließt eine mit DO eingeleitete Schleife ab.
 
 

ENDEXEC

Schließt eine Native SQL-Anweisung ab.

Syntax

ENDEXEC.

Die Anweisung schließt eine mit EXEC SQL eingeleitete Native SQL-Anweisung ab.
 
 

ENDFORM

Schließt ein Unterprogramm ab.

Syntax

ENDFORM.

Die Anweisung schließt ein mit FORM eingeleitetes Unterprogrammdefinition ab.
 
 

ENDFUNCTION

Schließt einen Funktionsbaustein ab.

Syntax

ENDFUNCTION.

Die Anweisung schließt einen mit FUNCTION eingeleiteten Funktionsbaustein ab.
 
 

ENDIF

Schließt eine IF Kontrollstruktur ab.

Syntax

ENDIF.

Die Anweisung schließt eine mit IF eingeleitete Kontrollstruktur ab.
 
 

ENDINTERFACE

Schließt eine Interfacedefinition ab.

Syntax

ENDINTERFACE.

Die Anweisung schließt eine mit INTERFACE eingeleitete Interfacedefinition ab.
 
 

ENDLOOP

Schließt eine LOOP-Schleife ab.

Syntax

ENDLOOP.

Die Anweisung schließt eine mit LOOP eingeleitete Schleife ab.
 
 

ENDMETHOD

Schließt eine Methode ab.

Syntax

ENDMETHOD.

Die Anweisung schließt eine mit METHOD eingeleitete Methoden-Implementierung ab.
 
 

ENDMODULE

Schließt ein Dialogmodul ab.

Syntax

ENDMODULE.

Die Anweisung schließt ein mit MODULE eingeleitetes Dialogmodul ab.
 
 

ENDON

Schließt einen bedingten Anweisungsblock ab.

Syntax

ENDON.

Die Anweisung schließt eine mit ON CHANGE eingeleitete bedingten Anweisungsblock ab.
 
 

ENDPROVIDE

Schließt eine PROVIDE Schleife ab.

Syntax

ENDPROVIDE.

Die Anweisung schließt eine mit PROVIDE eingeleitete Schleife ab.
 
 

ENDSELECT

Schließt eine SELECT Schleife ab.

Syntax

ENDSELECT.

Die Anweisung schließt eine mit SELECT eingeleitete Schleife ab.
 
 

ENDWHILE

Schließt eine WHILE Schleife ab.

Syntax

ENDWHILE.

Die Anweisung schließt eine mit WHILE eingeleitete Schleife ab.
 
 

EVENTS

Definiert Ereignisse in Klassen oder Interfaces.

Syntax

EVENTS <evt> EXPORTING.. VALUE(<ei>) TYPE type [OPTIONAL] ...

Ein Ereignis <evt> wird innerhalb des Deklarationsteils einer Klasse oder innerhalb der Definition eines Interfaces deklariert. Es können EXPORTING-Parameter definiert werden, die der Auslöser des Ereignisses an den Behandler übergibt. Die Übergabe erfolgt immer als Wert.
 
 

EXEC SQL

Leitet eine Native SQL-Anweisung ein.

Syntax

EXEC SQL [PERFORMING <form>].

Zwischen EXEC SQL und der Anweisung ENDEXEC kann eine datenbankspezifische Native SQL-Anweisung angegeben werden. Der Zusatz PERFORMING erlaubt es, eine mehrzeilige Selektion zeilenweise an ein Unterprogramm zu übergeben.

EXIT

Verläßt eine Schleife oder einen Verarbeitungsblock.

Syntax

EXIT.

Innerhalb von Schleifen wird die gesamte Schleifenverarbeitung abgebrochen und mit der Verarbeitung nach der Schleife fortgefahren. Außerhalb von Schleifen wird der aktuelle Verarbeitungsblock verlassen. Während eine Reporting-Ereignisses wird direkt zur Ausgabeliste verzweigt.
 
 

EXIT FROM STEP-LOOP

Beendet einen Steploop.

Syntax

EXIT FROM STEP-LOOP.

Abbruch der Steploop-Verarbeitung. Ein Steploop ist eine Möglichkeit eine Tabelle auf einem Dynpro darzustellen.
 
 

EXIT FROM SQL

Beendet eine Native SQL-Verarbeitung.

Syntax

EXIT FROM SQL.

Kann innerhalb eines Unterprogramms stehen, das bei EXEC SQL mit dem PERFORMING Zusatz aufgerufen wird. Das Unterprogramm wird zu Ende geführt, aber die weitere Bearbeitung einer mehrzeiligen Selektion wird abgebrochen.
 
 

EXPORT

Exportiert Daten-Cluster.

Syntax

EXPORT ... <fi> [FROM <gi>] ... | (<itab>)
       TO  MEMORY
         | DATABASE <dbtab>(<ar>) ID(<key>)
         | SHARED BUFFER <dbtab>(<ar>) ID(<key>).

Die Datenobjekte <fi> bzw. <gi> oder die Datenobjekte, die in der Tabelle <itab> aufgeführt sind, werden als Daten-Cluster in das programmübergreifende ABAP Memory des aktuellen internen Modus, in eine Cluster Datenbanktabelle <dbtab> oder in den transaktionsübergreifenden Anwendungspuffer der Tabelle <dbtab> abgelegt.
 
 

EXTRACT

Erzeugt einen Extraktdatenbestand und fügt ihm Zeilen hinzu.

Syntax

EXTRACT <fg>.

Die erste EXTRACT-Anweisung eines Programms legt einen Extraktdatenbestand an und fügt den ersten Extraktsatz hinzu. Bei jeder weiteren EXTRACT-Anweisung wird dem Datenbestand ein neuer Extraktsatz hinzugefügt. Jeder Extraktsatz enthält genau die Felder der Feldgruppe <fg> und gegebenenfalls am Anfang die Felder der speziellen Feldgruppe HEADER als Sortierschlüssel.
 
 

F

FETCH

Liest Zeilen aus einer Datenbanktabelle mit Hilfe eines Cursors.

Syntax

FETCH NEXT CURSOR <c> INTO <target>.

Wenn der Cursors <c> mit einer Selektion auf einer Datenbanktabelle verknüpft ist, wird mit FETCH die nächste Zeile der Selektion in den flachen Zielbereich <target> geschrieben.
 
 

FIELD-GROUPS

Deklariert eine Feldgruppe für einen Extraktdatenbestand.

Syntax

FIELD-GROUPS <fg>.

Die Feldgruppe <fg> wird deklariert. Feldgruppen definieren die Zeilenstruktur von Extraktdatenbeständen. Es kann eine spezielle Feldgruppe HEADER als Sortierschlüssel definiert werden. Beim Füllen des Extraktdatenbestands wird jeder Feldgruppe die Feldgruppe HEADER vorangestellt.
 
 

FIELD-SYMBOLS

Deklariert Feldsymbole.

Syntax

FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>].

Feldsymbole sind Platzhalter bzw. symbolische Namen für bestehende Felder. Beim Namen von Feldsymbolen sind spitze Klammern Teil der Syntax. Der Zusatz <type> ermöglicht die Typisierung von Feldsymbolen. Der Zusatz STRUCTURE prägt einem Feldsymbol eine strukturierte Sicht auf zugewiesene Datenobjekte auf.
 
 

FORM

Definiert ein Unterprogramm.

Syntax

FORM <subr> [USING   ... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ]
            [CHANGING... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ].

Es wird ein Unterprogramm <form> eingeleitet. Die Zusätze USING und CHANGING definieren die Parameterschnittstelle des Unterprogramms. Das Unterprogramm muß mit ENDFORM abgeschlossen werden.
 
 

FORMAT

Setzt Aufbereitungsoptionen für Listenausgaben.

Syntax

FORMAT ... <optioni> [ON|OFF] ...

Die in der FORMAT-Anweisung gesetzten Aufbereitungsoptionen <optioni> (Farbe u.ä.) gelten für alle folgenden Listenausgaben, bis sie über die Option OFF wieder abgeschaltet werden.
 
 

FREE

Gibt Speicherplatz frei.

Syntax

FREE <itab>.

FREE MEMORY ID(<key>).

FREE OBJECT <obj>.

Je nach Variante bewirkt die Anweisung, daß eine interne Tabelle, ein Daten-Cluster im ABAP-Memory oder ein externes Objekt in OLE2 Automation gelöscht und sein Speicherplatz freigegeben wird.
 
 

FUNCTION

Definiert einen Funktionsbaustein.

Syntax

FUNCTION <func>.

Es wird ein Funktionsbaustein <func> eingeleitet. Diese Anweisung wird nicht im ABAP Editor in die Funktionsgruppen eingegeben, sondern vom Werkzeug Function Builder der ABAP Workbench generiert. Der Funktionsbaustein wird mit ENDFUNCTION abgeschlossen.
 
 

FUNCTION-POOL

Leitet eine Funktionsgruppe ein.

Syntax

FUNCTION-POOL.

Erste Anweisung einer Funktionsgruppe. Diese Anweisung wird nicht im ABAP Editor eingegeben, sondern vom Werkzeug Function Builder der ABAP Workbench generiert. Eine Funktionsgruppe ist ein ABAP-Programm, das Funktionsbausteine enthält.
 
 

G

GET

Ereignisschlüsselwort zur Definition von Ereignisblöcken für Reporting-Ereignisse.

Syntax

GET <node> [FIELDS <f1> <f2>...].

Nur in ausführbaren Programmen. Wenn die verknüpfte logische Datenbank eine Zeile des Knotens <node> übergeben hat, löst die Laufzeitumgebung das Ereignis GET aus und der entsprechende Ereignisblock wird ausgeführt. Mit der Option FIELDS können explizit die Spalten des Knotens angegeben werden, welche die logische Datenbank lesen soll.
 
 

GET BIT

Liest einzelne Bits aus.

Syntax

GET BIT <n> OF <f> INTO <g>.

Liest das Bit an der Stelle <n> des Hexadezimalfelds <f> in das Feld <b>.
 
 

GET CURSOR

Bestimmt die Cursorposition auf Dynpros und bei interaktiven Listenereignissen.

Syntax

GET CURSOR FIELD <f> [OFFSET <off>]
                     [LINE <lin>]
                     [VALUE <val>]
                     [LENGTH <len>].

GET CURSOR LINE <lin> [OFFSET <off>]
                      [VALUE <val>]
                      [LENGTH <len>].

Schreibt bei Benutzeraktionen auf Listen und Dynpros die Position, den Wert und die Ausgabelänge von Feldern bzw. Zeilen in die angegebenen Variablen.
 
 

GET LOCALE LANGUAGE

Bestimmt die aktuelle Textumgebung.

Syntax

GET LOCALE LANGUAGE <lg> COUNTY <c> MODIFIER <m>.

Es werden die aktuelle Sprache, die Länderkennung und eine eventuelle weitere Kennung in die angegebenen Variablen geschrieben.
 
 

GET PARAMETER

Bestimmt einen SPA/GPA-Parameter.

Syntax

GET PARAMETER ID <pid> FIELD <f>.

Es wir der Wert des SPA/GPA-Parameters <pid> im benutzerbezogenen SAP-Memory in die Variable <f> übertragen.
 
 

GET PF-STATUS

Bestimmt den aktuellen GUI-Status.

Syntax

GET PF-STATUS <f> [PROGRAM <prog>] [EXCLUDING <itab>].

Es wird der Name des aktuellen GUI-Status, der identisch mit SY-PFKEY ist, in die Variable <f> geschrieben. Mit dem PROGRAM-Zusatz wird der Name des ABAP-Programms, zu dem der GUI-Status gehört in die Variable <prog> geschrieben. Mit dem EXCLUDING-Zusatz werden die gerade inaktiven Funktionscodes in die interne Tabelle <itab> geschrieben.
 
 

GET PROPERTY

Bestimmt eine Eigenschaft eines OLE2 Automation-Objekts.

Syntax

GET PROPERTY OF <obj> <p> = <f>.

Die Eigenschaft <p> eines externen OLE2 Automation-Objekts wird in die Variable <f> geschrieben.
 
 

GET RUN TIME FIELD

Mißt die Laufzeit in Mikrosekunden.

Syntax

GET RUN TIME FIELD <f>.

Bei der 1. Ausführung wird die Variable <f> auf Null gesetzt, bei jedem weiteren Aufruf wird die Laufzeit seit dem 1.Aufruf in die Variable geschrieben.
 
 

GET TIME

Frischt die Uhrzeit auf.

Syntax

GET TIME [FIELD <f>].

Die Systemfelder SY-UZEIT, SY-DATUM, SY-TIMLO, SY-DATLO und SY-ZONLO werden auf aktuellen Stand gebracht. Mit dem Zusatz FIELD wird nur die Variable <f> mit der aktuellen Uhrzeit versorgt.
 
 

GET TIME STAMP FIELD

Liefert einen Zeitstempel.

Syntax

GET TIME STAMP FIELD <f>.

Je nachdem ob die Variable <f> vom Typ P(8) oder P(11) ist, wird die Kurz- oder Langform des aktuellen Datums samt Uhrzeit in die Variable übertragen. Bei der Langform wird die Uhrzeit zuzüglich sieben Nachkommastellen für Sekundenbruchteile übertragen.
 
 

H

HIDE

Hinterlegt Informationen zu Listenzeilen.

Syntax

HIDE <f>.

Während der Listenerstellung wird der Inhalt von Feld <f> mit der aktuellen Zeilennummer im internen HIDE-Bereich abgespeichert. Wenn der Cursor bei einem interaktiven Listenereignis auf der entsprechenden Zeile positioniert ist, wird <f> wieder automatisch mit dem aufbewahrten Wert gefüllt.
 
 

I

IF

Bedingte Verzweigung.

Leitet eine Verzweigung ein.

Syntax

IF <logexp>.

Öffnet eine IF-Kontrollstruktur, die mit ENDIF abgeschlossen wird. Der logische Ausdruck <logexp> wird ausgewertet und abhängig davon werden in der IF-Kontrollstruktur unterschiedliche Anweisungsblöcke durchlaufen.
 
 

IMPORT

Importiert Daten-Cluster.

Syntax

IMPORT ... <fi> [TO <gi>] ... | (<itab>)
       FROM  MEMORY
           | DATABASE <dbtab>(<ar>) ID(<key>)
           | SHARED BUFFER <dbtab>(<ar>) ID(<key>).

Die Datenobjekte <fi> oder die Datenobjekte, die in der Tabelle <itab> aufgeführt sind, werden aus Datenclustern, die im programmübergreifendee ABAP Memory des aktuellen internen Modus, in einer Cluster Datenbanktabelle <dbtab> oder in einem transaktionsübergreifenden Anwendungspuffer der Tabelle <dbtab> liegen, in die Variablen <fi> bzw. <gi> geschrieben.

IMPORT DIRECTORY

Erstellt das Inhaltsverzeichnis eines Daten-Clusters aus einer Cluster-Datenbank.

Syntax

IMPORT DIRECTORY INTO <itab>
       FROM DATABASE <dbtab>(<ar>)
       Id <key>.

Es wird ein Inhaltsverzeichnis der Datenobjekte eines Daten-Clusters in der Cluster-Datenbank <dbtab> in die Tabelle <itab> geschrieben.

In den ersten beiden Varianten werden die Felder, Strukturen oder Tabellen <obj1>, ...,

In der dritten Variante wird in der Tabelle <itab> ein Inhaltsverzeichnis der Objekte bereitgestellt, die mittels EXPORT TO DATABASE abgelegt wurden.
 
 

INCLUDE

Einbindung von Include-Programmen.

Syntax

INCLUDE <incl>.

Wirkt wie das Kopieren des Quelltext des Include-Programms <incl> an die betreffende Stelle des Programms. Include-Programme werden nicht dynamisch zur Laufzeit geladen, sondern bei der Programmgenerierung aufgelöst. Include-Programme müssen den Programmtyp I haben.
 
 

INCLUDE STRUCTURE

Einbindung einer Struktur.

Syntax

INCLUDE STRUCTURE <s>|TYPE <t>.

Übernimmt innerhalb der Deklaration einer Struktur mit DATA BEGIN OF eine bereits als Datenobjekt oder im ABAP Dictionary vorhandene Struktur <s> bzw. einen strukturierten Datentyp <t> als Teil der Strukturdeklaration.
 
 

INITIALIZATION

Ereignisschlüsselwort zur Definition eines Ereignisblocks für ein Reporting-Ereignis.

Syntax

INITIALIZATION.

Nur in ausführbaren Programmen. Die ABAP-Laufzeitumgebung löst das Ereignis INITIALIZATION vor der Selektionsbildverarbeitung aus und der entsprechende Ereignisblock wird ausgeführt.
 
 

INSERT für Datenbanktabellen

Fügt Zeilen in Datenbanktabellen ein.

Syntax

INSERT <dbtab> FROM <wa>.

INSERT <dbtab> FROM TABLE <itab> [ACCEPTING DUPLICATE KEYS].

Es werden eine Zeile aus dem Arbeitsbereich <wa> bzw. mehrere Zeilen aus der internen Tabelle <itab> in die Datenbanktabelle <dbtab> eingefügt. Der Zusatz ACCEPTING DUPLICATE KEYS verhindert einen Laufzeitfehler bei doppelten Primärschlüsseln und verwirft doppelte Einträge lediglich.
 
 

INSERT für Feldgruppen

Definiert die Struktur von Feldgruppen für Extraktdatenbestände

Syntax

INSERT <f1> ... <f n> INTO <fg>.

Nimmt die Felder <fi> in die Feldgruppe <fg> auf und definiert damit eine Zeilenstruktur für einen Extraktdatenbestand.
 
 

INSERT für beliebige interne Tabellen

Fügt Zeilen in interne Tabellen mit beliebiger Tabellenart ein.

Syntax

INSERT <line>|LINES OF <jtab> [FROM <n1>] [TO <n2>]
       INTO TABLE <itab>.

Es werden eine Zeile <line> oder mehrere Zeilen einer internen Tabelle <jtab> in die interne Tabelle <itab> eingefügt. Wenn <jtab> eine Index-Tabelle ist, können die einzufügenden Zeilen eingegrenzt werden.
 
 

INSERT für Index-Tabellen

Fügt Zeilen in Index-Tabellen ein.

Syntax

INSERT <line>|LINES OF <jtab> [FROM <n1>] [TO <n2>]
  INTO <itab> [INDEX <idx>].

Es werden eine Zeile <line> oder mehrere Zeilen einer internen Tabelle <jtab> vor der Zeile mit dem Index <idx> eingefügt. Wenn <jtab> eine Index-Tabelle ist, können die einzufügenden Zeilen eingegrenzt werden. Ohne den Zusatz INDEX kann die Anweisung nur innerhalb einer LOOP-Schleife verwendet werden. Dann wird die neue Zeile vor der aktuellen Zeile eingefügt.
 
 

INSERT für Programme

Fügt ABAP-Programme in die Programmbibliothek ein.

Syntax

INSERT REPORT <prog> FROM <itab>.

Die Zeilen der internen Tabelle <itab> werden als Programm <prog> in die Programmbibliothek aufgenommen.
 
 

INTERFACE

Definiton eines Interfaces in ABAP Objects.

Syntax

INTERFACE <ifac> [DEFERRED]
                 [LOAD].

Leitet die Definition eines Interfaces <interface> ein. Die Definition wird mit ENDINTERFACE abgeschlossen und enthält die Deklaration aller Komponenten des Interaces. Mit dem Zusatz DEFERRED wird das Interface vor seiner Definition bekannt gemacht. Mit dem Zusatz LOAD wird ein Interface explizit aus der Klassenbibliothek geladen.
 
 

INTERFACES

Implementiert Interfaces in Klassen.

Syntax

INTERFACES <ifac>.

In einer Klassendeklaration werden die Komponenten der Klasse werden um die Komponenten des implementierten Interfaces erweitert. In einer Interfacedefinition werden die beiden Interfaces zusammengesetzt.
 
 

L

LEAVE für Dynpros

Verläßt ein Dynpro.

Syntax

LEAVE SCREEN.

Beendet die Verarbeitung des aktuellen Dynpros und ruft direkt das Folgedynpro. Das Folgedynpro ist entweder statisch oder zuvor mit SET SCREEN dynamisch gesetzt worden.

Syntax

LEAVE TO SCREEN <scr>.

Beendet die Verarbeitung des aktuellen Dynpros und ruft direkt das dynamische Folgedynpro <scr>.
 
 

LEAVE für Listen während der Dynproverarbeitung

Wechselt zwischen Dynpro- und Listenverarbeitung.

Syntax

LEAVE TO LIST-PROCESSING [AND RETURN TO SCREEN <scr>].

Ermöglicht Erstellung und Anzeige von Listen während der Verarbeitung von Dynprofolgen. Mit dem Zusatz kann das Folgedynpro nach Rückkehr aus der Listenverarbeitung explizit angegeben werden. Ansonsten wird zu PBO des aktuellen Dynpros verzweigt.

Syntax

LEAVE LIST-PROCESSING.

Ermöglicht die explizite Rückkehr aus der Listenverarbeitung in die Verarbeitung der Dynprofolge.
 
 

LEAVE für Programme

Verläßt ein ABAP-Programm.

Syntax

LEAVE [PROGRAM].

Beendet die Verarbeitung des aktuellen Programms und kehrt an die Aufrufstelle zurück.

Syntax

LEAVE TO TRANSACTION <tcod> [AND SKIP FIRST SCREEN].

Beendet die Verabeitung des aktuellen Programms und startet eine neue Transaktion <tcod>. Mit dem Zusatz kann das Einstiegsbild der Transaktion übersprungen werden.
 
 

LOCAL

Schützt globale Daten vor Änderung.

Syntax

LOCAL <f>.

Nur in Unterprogrammen. Bei Eintritt in das Unterprogramm wird der Wert von <f> zwischengespeichert und beim Verlassen des Unterprogramms wiederhergestellt.
 
 

LOOP über Extrakte

Leitet eine Schleife über einen Extraktdatenbestand ein.

Syntax

LOOP.

Schleife über Extraktdatenbestand. Die Schleife wird durch ENDLOOP abgeschlossen. Mit LOOP wird die Erzeugung des Extraktdatenbestands des Programms abgeschlossen und eine Schleife über seine sämtlichen Sätze ausgeführt. Es wird pro Schleifendurchlauf ein Extraktdatensatz eingelesen. Die Werte der extrahierten Daten werden innerhalb der Schleife direkt in die Ausgangsfelder der Feldgruppe zurückgestellt.
 
 

LOOP über interne Tabellen

Leitet eine Schleife über eine interne Tabellen ein.

Syntax

LOOP AT <itab> INTO <wa> WHERE <logexp>.

LOOP AT <itab> ASSIGNING <FS> WHERE <logexp>.

LOOP AT <itab> TRANSPORTING NO FIELDS WHERE <logexp>.

Schleife über beliebige interne Tabellen. Die Schleife wird durch ENDLOOP abgeschlossen. Wenn der logische Ausdruck <logexp>, bei dem in jedem Vergleich der erste Operand eine Komponente der Zeilenstruktur sein muß, wahr ist, werden bei jedem Schleifendurchgang entweder der aktuelle Zeilenunhalt dem Arbeitsbereich <wa> zugewiesen, die aktuelle Zeile einem Feldsymbol <FS> zugewiesen oder keine Zuweisung vorgenommen. Beim Namen von Feldsymbolen sind spitze Klammern Teil der Syntax.

Bei Index-Tabellen können mit den Zusätzen FROM <n> und TO <n> die zu lesenden Zeilen auch über Indexangaben eingeschränkt werden.
 
 

LOOP über Dynpro-Felder

Leitet eine Schleife über die Tabelle SCREEN ein.

Syntax

LOOP AT SCREEN ...

Wie Schleife über interne Tabellen. Die System-Tabelle SCREEN enthält die Namen aller Felder des aktuellen Dynpros und ihre Eigenschaften.
 
 

M

MESSAGE

Gibt eine Nachricht aus.

Syntax

MESSAGE <xnnn> [WITH <f1> ... <f4>] [RAISING <except>].

MESSAGE ID <mid> TYPE <x> NUMBER <nnn> .

MESSAGE <xnnn>(<mid>).

Es wird die Nachricht <nnn> der Nachrichtenklasse <mid> als Nachrichtentyp <x> ausgegeben. Der Nachrichtentyp bestimmt die Art der Nachrichtenanzeige und den weiteren Ablauf des Programms. Mit dem Zusatz WITH können Platzhalter im Nachrichtentext gefüllt werden. Mit RAISING kann in Funktionsbausteinen und Methoden die Verarbeitung der Prozedur abgebrochen und die Ausnahme <except> ausgelöst werden.
 
 

METHOD

Leitet eine die Implementierung einer Methode in Klassen ein.

Syntax

METHOD <meth>.

Nur im Implementierungsteil von Klassen. Die Anweisung beginnt einen Anweisungsblock, der mit ENDMETHOD abgeschlossen wird. Es ist keine Angabe von Schnittstellenparametern erforderlich, da diese ausschließlich bei der Deklaration der Methode festgelegt werden.
 
 

METHODS

Deklariert Methoden in Klassen und Interfaces.

Syntax

METHODS <meth>
        IMPORTING ... [VALUE(]<ii>[)] TYPE <t> [OPTIONAL] ...
        EXPORTING ... [VALUE(]<ei>[)] TYPE <t> [OPTIONAL] ...
        CHANGING  ... [VALUE(]<ci>[)] TYPE <t> [OPTIONAL] ...
        RETURNING VALUE(<r>)
        EXCEPTIONS        ... <ei> ...

Eine Methode <meth> wird innerhalb des Deklarationsteils einer Klasse oder innerhalb der Definition eines Interfaces deklariert. Die Zusätze definieren die Parameterschnittstelle und die Ausnahmen der Methode. Die Funktionalität der Methode muß mit METHOD implementiert werden.
 
 

MODIFY für Datenbanktabellen

Fügt Zeilen in Datenbanktabellen ein oder ändert sie.

Syntax

MODIFY <dbtab> FROM <wa>.

MODIFY <dbtab> FROM TABLE <itab>.

Wirkt wie INSERT für Datenbanktabellen, falls es noch keine Zeilen mit dem einzufügenden Primärschlüssel gibt. Wirkt wie UPDATE, falls es schon Zeilen mit dem einzufügenden Primärschlüsseln gibt.
 
 

MODIFY für beliebige interne Tabellen

Ändert den Inhalt von Zeilen in internen Tabellen beliebiger Tabellenart.

Syntax

MODIFY TABLE <itab> FROM <wa> [TRANSPORTING <f1> <f 2> ...].

Kopiert den Arbeitsbereich <wa> in die Zeile der internen Tabelle, deren Tabellenschlüssel mit dem von <wa> übereinstimmt. Die zu kopierenden Komponenten können durch den Zusatz TRANSPORTING spezifiziert werden.

MODIFY <itab> FROM <wa> TRANSPORTING <f1> <f 2> ... WHERE <logexp>.

Kopiert den Arbeitsbereich <wa> in die Zeilen der internen Tabelle, für welche der logische Ausdruck wahr ist. In jedem Vergleich des logischen Ausdrucks muß der erste Operand eine Komponente der Zeilenstruktur sein.
 
 

MODIFY für Index-Tabellen

Ändert den Inhalt von Zeilen in Index-Tabellen.

Syntax

MODIFY <itab> FROM <wa> [INDEX <idx>] [TRANSPORTING <f1> <f2> ...].

Kopiert den Arbeitsbereich <wa> in die Zeile der internen Tabelle mit dem Index <idx>. Ohne den Zusatz INDEX kann die Anweisung nur innerhalb einer LOOP-Schleife verwendet werden. Dann wird die aktuelle Zeile geändert.
 
 

MODIFY für Listen

Ändert eine Listenzeile.

Syntax

MODIFY LINE <n> [INDEX <idx>] [OF CURRENT PAGE|OF PAGE <p>]
      |CURRENT LINE
      LINE FORMAT <option1> <option2> ...
      FIELD VALUE <f1> [FROM <g1>] <f2> [FROM <g2>] ...
      FIELD FORMAT <f1> <options1> <f2> <options2>

Es wird entweder die Zeile <n> auf der aktuellen oder angegebenen Liste bzw. Seite oder die letzte ausgewählte Zeile geändert. Die Zusätze geben die Art der Änderung an.
 
 

MODIFY SCREEN

Ändert die Tabelle SCREEN.

Syntax

MODIFY SCREEN ...

Wie Änderung von internen Tabellen. In der System-Tabelle SCREEN können die Eigenschaften von Feldern auf dem aktuellen Dynpro geändert werden.
 
 

MODULE

Leitet ein Dialogmodul ein.

Syntax

MODULE <mod> OUTPUT |[INPUT].

Es wird ein Dialogmodul <mod> eingeleitet. Die Zusätze OUTPUT und INPUT legen fest, ob das Dialogmodul zu den Zeitpunkten PBO oder PAI aus der Dynproablauflogik aufgerufen werden kann. Das Dialogmodul muß mit ENDMODULE abgeschlossen werden.
 
 

MOVE

Weist Werte zu.

Syntax

MOVE <f1> TO <f2>.

Der Inhalt des Datenobjekts <f1> wird der Variable <f2> zugewiesen. Gegebenenfalls findet ein Typkonvertierung statt. Äquivalent ist <f2> = <f1>.
 
 

MOVE-CORRESPONDING

Weist Werte zwischen Strukturen komponentenweise zu.

Syntax

MOVE-CORRESPONDING <struc1> TO <struc2>.

Der Inhalt der Komponenten der Struktur <struc1> wird den namensgleichen Komponenten der Struktur <struc2> zugewiesen.
 
 

MULTIPLY

Multipliziert zwei Einzelfelder.

Syntax

MULTIPLY <n> BY <m>.

Der Inhalt von <n> wird mit dem von <m> multipliziert und das Ergebnis in <n> abgelegt. Äquivalent ist m=m*n.
 
 

MULTIPLY-CORRESPONDING

Multipliziert Teilfelder von Strukturen.

Syntax

MULTIPLY-CORRESPONDING <struc1> BY <struc2>.

Es werden alle gleichnamigen Teilfelder der Strukturen <struc1> und <struc2> multipliziert und die Ergebnisse den Teilfeldern in <struc1> zugewiesen.

N

NEW-LINE

Führt einen Zeilenvorschub auf einer Liste aus.

Syntax

NEW-LINE [NO-SCROLLING|SCROLLING].

Positioniert die Listenausgabe in einer neuen Zeile. Der Zusatz NO-SCROLLING verhindert das horizontale Blättern der neuen Zeile. SCROLLING hebt den Zusatz NO-SCROLLING auf.
 
 

NEW-PAGE

Führt einen Seitenvorschub auf einer Liste aus.

Syntax

NEW-PAGE [NO-TITLE|WITH-TITLE]
         [NO-HEADING|WITH-HEADING]
         [LINE-COUNT]
         [LINE-SIZE]
         [PRINT ON|OFF].

Erzeugt eine neue Seite und positioniert die Listenausgabe hinter dem Seitenkopf der Seite. Die Zusätze steuern die Ausgabe des Seitenkopfs, die Länge und Breite von Seiten und die Druckausgabe.
 
 

NODES

Deklariert einen Schnittstellen-Arbeitsbereich.

Syntax

NODES <node>.

Deklariert eine Variable mit dem gleichen Datentyp und dem gleichen Namen wie ein Datentyp aus dem ABAP Dictionary. Mit NODES in Haupt- und Unterprogrammen deklarierte Strukturen verwenden einen gemeinsamen Datenbereich. Verwendung mit logischen Datenbanken.
 
 

O

ON CHANGE

Leitet eine Verzweigung ein.

Syntax

ON CHANGE OF <f> [OR <f1> OR <f2> ...].

Öffnet eine ON-Kontrollstruktur, die mit ENDON abgeschlossen wird. Der eingeschlossene Anweisungsblock wird ausgeführt, wenn sich der Inhalt des Feldes <f> oder eines der anderen Felder <fi> seit der letzten Ausführung der Anweisung geändert hat.
 
 

OPEN CURSOR

Öffnet einen Datenbank-Cursor.

Syntax

OPEN CURSOR [WITH HOLD] <c> FOR SELECT      <result>
                                  FROM      <source>
                                  [WHERE    <condition>]
                                  [GROUP BY <fields>]
                                  [HAVING   <cond>]
                                  [ORDER BY <fields>].

Ein Cursor <c> vom Typ CURSOR wird für eine SELECT-Anweisung geöffnet. Alle Klauseln der SELECT-Anweisung bis auf die INTO-Klausel können verwendet werden. Die INTO-Klausel wird in der FETCH-Anweisung gesetzt. Der Zusatz WITH HOLD verhindert das Schließen des Cursors bei einem Datenbank-Commits.
 
 

OPEN DATASET

Öffnet eine Datei.

Syntax

OPEN DATASET <dsn> [FOR INPUT|OUTPUT|APPENDING]
                   [IN BINARY|TEXT MODE]
                   [AT POSITION <pos>]
                   [MESSAGE <mess>]
                   [FILTER <filt>].

Eine Datei <dsn> wird auf dem Applikationsserver wird geöffnet. Die Zusätze bestimmen, ob die Datei gelesen oder beschrieben wird, ob der Inhalt binär oder als Zeichen interpretiert wird, die Position in der Datei, wohin eine Betriebssystemnachricht geschrieben wird und erlauben das Absetzen von Betriebssystemkommandos.
 
 

OVERLAY

Überlagert eine Zeichenkette mit einer anderen.

Syntax

OVERLAY <c1> WITH <c2> [ONLY <str>].

Es werden alle Stellen in Feld <c1>, die Buchstaben enthalten, die in <str> vorkommen, mit dem Inhalt von <c2> überlagert. <c2> bleibt unverändert. Wenn ONLY <str> weggelassen wird, werden alle Stellen von <c1> überschrieben, die Leerstellen enthalten.
 
 

P

PACK

Konvertiert Variablen vom Typ C in Typ P.

Syntax

PACK <f> TO <g>.

Die Zeichenkette <f> wird gepackt in das Feld <g> gestellt. Umkehrung durch UNPACK.
 
 

PARAMETERS

Deklariert Parameter für ein Selektionsbild.

Syntax

PARAMETERS <p>[(<length>)] [TYPE <type>|LIKE <obj>] [DECIMALS <d>]
              [DEFAULT <f>]
              [MEMORY ID <pid>]
              [LOWER CASE]
              [OBLIGATORY]
              [VALUE CHECK]
              [AS CHECKBOX]
              [RADIOBUTTON GROUP <radi>]
              [NO-DISPLAY]
              [MODIF ID <key>].

Es wird eine Variable <p> ähnlich wie mit DATA deklariert. Für <p> wird auf dem zugehörigen Selektionsbild ein Eingabefeld angelegt. Mit den Zusätzen können Vorschlagswerte festgelegt, Eingabewerte mit Kleinschreibung akzeptiert, Mußfelder definiert, Werte überprüft, Ankreuzfelder oder Auswahlknöpfe definiert, die Anzeige auf dem Selektionsbild unterdrückt oder modifiziert werden.
 
 

PERFORM

Ruft ein Unterprogramm auf.

Syntax

PERFORM    <subr>
        |  <subr>(<prog>) [IF FOUND]
        |(<fsubr>)[IN PROGRAM (<fprog>)][IF FOUND]
        [USING   ... <pi>... ]
        [CHANGING... <pi>... ]
        [ON COMMIT].

Es wird ein internes oder externes Unterprogramm <subr>, bzw. dessen Name im Feld <fsubr> liegt, aufgerufen. Das externe Programm ist <prog> oder der Name, der in <fprog> liegt. Der Zusatz IF FOUND verhindert einen Laufzeitfehler, wenn das Unterprogramm nicht existiert. Mit USING und CHANGING muß die Parameterschnittstelle des Unterprogramms versorgt werden. Der Zusatz ON COMMIT bewirkt das spätere Ausführen des Unterprogramms bei COMMIT WORK.
 
 

POSITION

Absolute Positionierung der Ausgabe auf einer Liste.

Syntax

POSITION <col>.

Positioniert die Listenausgabe in der Spalte <col>.
 
 

PRINT-CONTROL für Druckformat.

Legt das Druckformat fest.

Syntax

PRINT-CONTROL <formats> [LINE <lin>] [POSITION <col>].

Setzt das Druckformat ab der aktuellen Listenposition oder ab Zeile <lin> und Spalte <col>.
 
 

PRINT-CONTROL für Indexzeilen

Legt Indexzeilen in der Spool-Datei an.

Syntax

PRINT-CONTROL INDEX-LINE <f>.

Schreibt den Inhalt des Felds <f> in eine Indexzeile nach Abschluß der aktuellen Druckzeile. Die Indexzeile wird beim Drucken nicht ausgegeben. Bei der optischen Ablage trennt das Spool-System die Listen in eine Datendatei und eine Beschreibungsdatei, in der die Indexzeilen stehen.
 
 

PRIVATE

Definiert den privaten Abschnitt einer Klasse.

Syntax

PRIVATE SECTION.

Leitet die Deklaration aller Klassenkomponenten ein, die nur in der Klasse selbst sichtbar sind.
 
 

PROGRAM

Leitet ein Programm ein.

Syntax

PROGRAM <prog> ...

Die erste Anweisung innerhalb bestimmter ABAP-Programme. Äquivalent zu REPORT.
 
 

PROTECTED

Definiert den geschützten Abschnitt einer Klasse.

Syntax

PROTECTED SECTION.

Leitet die Deklaration aller Klassenkomponenten ein, die nur in der Klasse und in deren Unterklassen sichtbar sind.
 
 

PROVIDE

Führt eine intervallbezogene Schleife über interne Tabellen durch.

Syntax

PROVIDE <f1> ... <fn> FROM <itab1>
<g1> ... <gm> FROM <itab2>
... FROM <itabn>
... BETWEEN <f> AND <g>.

Die Inhalte der angegebenen Felder der internen Tabellen <itab1>, ..., <itabn> werden in ihren Kopfzeilen intervallbezogen zur Verfügung gestellt. Anschließend wird pro Intervall der von PROVIDE und ENDPROVIDE eingeschlossene Verarbeitungsblock ausgeführt.
 
 

PUBLIC

Definiert den öffentlichen Abschnitt einer Klasse.

Syntax

PUBLIC SECTION.

Leitet die Deklaration aller Klassenkomponenten ein, die in der Klasse, in deren Unterklassen und für alle Verwender sichtbar sind.
 
 

PUT

Löst ein GET-Ereignis aus.

Syntax

PUT <node>.

Nur in logischen Datenbanken. Verzweigt den Programmablauf gemäß der Struktur der logischen Datenbank.
 
 

R

RAISE für Ausnahmen

Löst Ausnahmen aus.

Syntax

RAISE <except>.

Nur in Funktionsbausteinen und Methoden. Die Verarbeitung der Prozedur wird abgebrochen und die Ausnahme <except> wird ausgelöst.
 
 

RAISE für Ereignisse

Löst Ereignisse in ABAP Objects aus.

Syntax

RAISE EVENT <evt>.

Nur in Methoden. Das Ereignis <evt> wird ausgelöst und dadurch alle registrierten Behandlermethoden aufgerufen.
 
 

RANGES

Deklariert eine RANGES-Tabelle.

Syntax

RANGES <rangetab> FOR <f>.

Es wird eine RANGES-Tabelle für das Feld <f> deklariert. Eine RANGES-Tabelle hat den gleichen Datentyp wie eine Selektionstabelle, ist aber nicht mit Eingabefeldern auf einem Selektionsbild verknüpft.
 
 

READ für Dateien

Liest eine Datei.

Syntax

READ DATASET <dsn> INTO <f> [LENGTH <len>].

Der Inhalt der Datei <dsn> auf dem Applikationsserver wird in die Variable <f> geschrieben. Die Anzahl der übertragenen Bytes kann nach <len> geschrieben werden.
 
 

READ für beliebige interne Tabellen

Liest eine Zeile einer beliebigen internen Tabelle.

Syntax

READ TABLE <itab>  FROM <wa>
                  |WITH TABLE KEY <k1> = <f1> ... <kn> = <fn>
                  |WITH KEY = <f>
                  |WITH KEY <k1> = <f1> ... <kn> = <fn>
      INTO <wa> [COMPARING <f1> <f2> ... |ALL FIELDS]
                [TRANSPORTING <f1> <f2> ... |ALL FIELDS|NO FIELDS]
     |ASSIGNING <FS>.

Es wird entweder die Zeile gelesen, deren Tabellenschlüssel mit dem Schlüssel im Arbeitsbereich <wa> übereinstimmt oder der als TABLE KEY explizit angegeben ist, oder es wird die Zeile gelesen, die vollständig mit <f> übereinstimmt oder die durch den frei definierten Schlüssel KEY bestimmt wird. Der Zeileninhalt wird entweder in einen Arbeitsbereich <wa> geschrieben oder die Zeile wird einem Feldsymbol <FS> zugewiesen. Bei der Zuweisung an einen Arbeitsbereich können Vergleiche ausgeführt und die zu transportierenden Felder angegeben werden.
 
 

READ für Index-Tabellen

Liest eine Zeile einer beliebigen internen Tabelle.

Syntax

READ TABLE <itab> INDEX <idx> INTO <wa> ... | ASSIGNING <FS>.

Es wird die Zeile mit dem Index <idx> gelesen. Das Resultat wird wie bei beliebigen internen Tabellen angegeben.
 
 

READ für Listen

Liest Zeileninhalte auf Listen.

Syntax

READ LINE  <n> [INDEX <idx>] [OF CURRENT PAGE|OF PAGE <p>]
          |CURRENT LINE
          [FIELD VALUE <f1> [INTO <g1>] ... <fn> [INTO <gn>]].

Es wird entweder die Zeile <n> auf der aktuellen oder angegebenen Liste bzw. Seite oder die letzte ausgewählte Zeile gelesen. Der Zusatz gibt an, welche Felder wohin gestellt werden sollen. Die gesamte Zeile wird immer nach SY-LISEL gestellt und der HIDE-Bereich zur gelesenen Zeile in die entsprechenden Felder gestellt.
 
 

READ für Programme

Liest ABAP-Programme aus der Programmbibliothek.

Syntax

READ REPORT <prog> INTO <itab>.

Es werden die Zeilen des Programm <prog> in die interne Tabelle <itab> kopiert.
 
 

RECEIVE

Empfängt Ergebnisse eines asynchronen Funktionsbausteinaufrufs.

Syntax

RECEIVE RESULTS FROM FUNCTION <func> [KEEPING TASK]
                     [IMPORTING  ... fi = ai ... ]
                     [TABLES     ... fi = ai ... ]
                     [EXCEPTIONS ... ei = ri ... ]

Steht innerhalb eines speziellen Unterprogramms, um von einem mit STARTING NEW TASK aufgerufenen Funktionsbausteins die als IMPORTING- oder TABLES-Parameter zurückgelieferten Ergebnisse zu empfangen.
 
 

REFRESH

Initialisiert eine interne Tabelle.

Syntax

REFRESH <itab>.

Die interne Tabelle <itab> wird auf ihren Initialwert gesetzt, d.h. alle Zeilen werden gelöscht.
 
 

REFRESH CONTROL

Initialisiert ein Control.

Syntax

REFRESH CONTROL <ctrl> FROM SCREEN <scr>.

Das durch CONTROLS definierte Control <ctrl> wird gemäß der im Dynpro <scr> angegebenen Initialwerte neu initialisiert.
 
 

REJECT

Verläßt einen GET-Verarbeitungsblock.

Syntax

REJECT [<dbtab>].

Es wird die Bearbeitung der aktuellen Zeile des Knotens der logischen Datenbank abgebrochen. Mit der optionale Angabe <dbtab> liest die logische Datenbank sofort die nächste Zeile des Knotens <dbtab> ansonsten die nächste Zeile des aktuellen Knotens.
 
 

REPLACE

Ersetzt Zeichenketten in Feldern durch andere Zeichenketten.

Syntax

REPLACE <str1> WITH <str2> INTO <c> [LENGTH <l>].

Im Feld <c> wird nach dem ersten Vorkommen der ersten <l> Zeichen des Suchmusters <str1> gesucht und durch die Zeichenkette <str2> ersetzt.
 
 

REPORT

Leitet ein Programm ein.

Syntax

REPORT <rep> [MESSAGE-ID <mid>]
             [NO STANDARD PAGE HEADING]
             [LINE-SIZE <col>]
             [LINE-COUNT <n>(<m>)]
             [DEFINING DATABASE <ldb>].

Die erste Anweisung innerhalb bestimmter ABAP-Programme. <rep> kann ein frei wählbarer Name sein. Der Zusatze MESSAGE-ID bestimmt eine Nachrichtenklasse für das Programm. Der Zusatz DEFINING DATABASE leitet das Datenbankprogramm einer logischen Datenbank ein. Die übrigen Zusätze sind Aufbereitungsoptionen für die Standardliste des Programms.
 
 

RESERVE

Löst einen bedingten Seitenvorschub auf einer Liste aus.

Syntax

RESERVE <n> LINES.

Es wird ein Seitenvorschub durchgeführt, falls auf der aktuellen Seite der Liste keine <n> Zeilen zwischen aktueller Zeile und Seitenfuß mehr frei sind.
 
 

ROLLBACK

Macht Änderungen in einer SAP-LUW rückgängig.

Syntax

ROLLBACK WORK.

Diie letzten Änderungen innerhalb einer Datenbank-LUW werden bis zum Beginn der Datenbank-LUW rückgängig gemacht. Die gespeicherten Verbuchungsbausteine werden nicht ausgeführt, sondern der Protokollsatz aus der Tabelle VBLOG gelöscht.
 
 

S

SCROLL

Blättert in Listen.

Syntax

SCROLL LIST FORWARD|BACKWARD [INDEX <idx>].

SCROLL LIST TO FIRST PAGE|LAST PAGE|PAGE <pag>
            [INDEX <idx>] [LINE <lin>].

SCROLL LIST LEFT|RIGHT [BY <n> PLACES] [INDEX <idx>].

SCROLL LIST TO COLUMN <col> [INDEX <idx>].

Die aktuelle Ausgabeliste oder der Listenstufe <idx> wird gemäß der Zusätze positioniert. Möglich sind Blättern in Einheiten von Fenstern, Seiten und Spalten, sowie Blättern zum linken oder rechten Rand.
 
 

SEARCH

Sucht nach Zeichenfolgen.

Syntax

SEARCH <f>|<itab> FOR <g> [ABBREVIATED]
                          [STARTING AT <n1>]
                          [ENDING AT <n2>]
                          [AND MARK].

Das Feld <f> bzw. die Tabelle <itab> wird nach der Zeichenkette im Feld <g> durchsucht. Das Ergebnis steht in SY-FDPOS. Die Zusätze erlauben das Ausblenden von Zwischenzeichen, die Suche von und bis bestimmten Positionen sowie die Verwandlung der gefundenen Zeichen in Großbuchstaben.
 
 

SELECT

Liest Daten aus der Datenbank.

Syntax

SELECT <result>
  INTO <target>
  FROM <source>
  [WHERE <condition>]
  [GROUP BY <fields>]
  [HAVING <cond>]
  [ORDER BY <fields>].

Die SELECT-Anweisung setzt sich aus einzelnen Klauseln zusammen, die unterschiedliche Teilaufgaben haben:

SELECT-Klausel

Definiert die Struktur der Selektion.

Syntax

SELECT [SINGLE]|[DISTINCT]
       * | <si> [AS <ai>] ... <agg>( [DISTINCT] <sj> ) [AS <aj>] ...

Die Selektion kann eine einzelne Zeile SINGLE sein oder aus mehreren Zeilen bestehen. Doppelt vorkommende Zeilen können mit DISTINCT ausgeschlossen werden. Es können alle Spalten * oder einzelne Spalten <si> gelesen werden Auf einzelne Spalten können Aggregatfunktionen <agg> angewendet werden und sie können mit alternativen Spaltennamen <ai> versehen werden .

INTO-Klausel

Definiert den Zielbereich, in den die Selektion der SELECT-Klausel geschrieben wird.

Syntax

...  INTO [CORRESPONDING FIELDS OF] <wa>
   | INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
                                              [PACKAGE SIZE <n>]
   | INTO (<f1>, <f2>, ...)

Der Zielbereich kann ein flacher Arbeitsbereich <wa>, eine interne Tabelle <itab> oder eine Liste von Feldern <fi> sein. Mit CORRESPONDING FIELDS werden nur gleichnamige Felder in Zielstrukturen aus der Selektion versorgt. Mit APPENDING statt INTO werden Zeilen an eine interne angehängt, statt sie zu überschreiben. Mit PACKAGE SIZE wird die interne Tabelle paketweise überschrieben bzw. erweitert. Der Datentyp des Zielbereichs muß zur Selektion der SELECT-Klausel passen.

FROM-Klausel

Bestimmt die Datenbanktabellen, von denen die Daten in die Selektion der SELECT-Klausel gelesen werden.

Syntax

... FROM [<tab> [INNER]|LEFT [OUTER] JOIN] <dbtab> [AS <alias>]
                               [ON <cond>]
         [CLIENT SPECIFIED]
         [BYPASSING BUFFER]
         [UP TO <n> ROWS]

Es können eine einzelne Tabelle <dbtab> oder mehrere Tabellen gelesen werden. Mehr als eine Tabelle werden über innere und äußere Joins mit Bedingungen <cond> verknüpft, wobei <tab> eine einzelne Tabelle oder selbst ein Join-Ausdruck ist. Einzelne Datenbanktabellen können statisch oder dynamisch angegeben werden und ihre Namen können durch Alternativnamen <alias> ersetzt werden. Die automatische Mandantenbehandlung kann mit CLIENT SPECIFIED, die SAP-Pufferung mit BYPASSING BUFFER umgangen werden. Die Anzahl der zu lesenden Zeilen kann mit UP TO <n> ROWS eingeschränkt werden.

WHERE-Klausel

Schränkt die Anzahl der selektierten Zeilen ein.

Syntax

... [FOR ALL ENTRIES IN <itab>] WHERE <cond>

In der Bedingung <cond> können eine oder mehrere durch NOT, AND und OR verknüpfte Vergleiche, Tests auf Intervallzugehörigkeit, Überprüfungen von Wertelisten, Subqueries, Abfragen von Selektionstabellen oder Überprüfungen des Null-Werts stehen. Mit dem Zusatz FOR ALL ENTRIES, wird die Bedingung <cond> für jede einzelne Zeile der internen Tabelle überprüft, wenn in <cond> ein Feld der internen Tabelle <itab> als Operand aufgeführt ist. Für jede Zeile der internen Tabelle werden die Zeilen der Datenbanktabelle selektiert, welche die Bedingung erfüllen und die Ergebnismenge ist die Vereinigungsmenge der einzelnen Selektionen jeder Zeile.

GROUP BY-Klausel

Gruppiert Zeilen in der Selektion.

Syntax

... GROUP BY <s1> <s2>

Es werden die Zeilen gruppiert, die in den angegebenen Spalten den gleichen Inhalt haben und Aggregatfunktionen über die Zeilen aller übrigen Spalten berechnet. Alle Spalten der SELECT-Klausel, die bei Verwendung der GROUP BY-Klausel nicht in dieser aufgeführt sind, müssen in Aggregatausdrücken angegeben werden.

HAVING-Klausel

Schränkt die Anzahl von Zeilengruppen ein.

Syntax

... HAVING <cond>

Wie die WHERE-Klausel aber nur in Verbindung mit der GROUP BY-Klausel. Schränkt die Anzahl der selektierten Zeilengruppen durch Bedingungen auch auf Aggregatausdrücke ein.

ORDER BY-Klausel

Sortiert die Zeilen der Selektion.

Syntax

... ORDER BY PRIMARY KEY | ... <si> [ASCENDING|DESCENDING] ...

Die Selektion wird entweder nach dem Primärschlüssel nach dem Inhalt bestimmter Spalten aufsteigend oder absteigend sortiert.
 
 

SELECT-OPTIONS

Deklariert Selektionskriterien für ein Selektionsbild.

Syntax

SELECT-OPTIONS <sel> FOR <f>
               [DEFAULT <g> [to <h>] [OPTION <op>] SIGN <s>]
               [MEMORY ID <pid>]
               [LOWER CASE]
               [OBLIGATORY]
               [NO-DISPLAY]
               [MODIF ID <key>]
               [NO-EXTENSION]
               [NO INTERVALS]
               [NO DATABASE SELECTION].

Es wird eine Selektionstabelle <sel> für das Feld <f> deklariert. Für <sel> werden auf dem zugehörigen Selektionsbild Eingabefelder angelegt. Mit den Zusätzen können Vorschlagswerte festgelegt, Eingabewerte mit Kleinschreibung akzeptiert, Mußfelder definiert, die Anzeige auf dem Selektionsbild unterdrückt oder modifiziert, die Selektionstabelle auf eine Zeile oder die Eingabe auf Einzelfelder beschränkt, die Weitergabe von Eingaben an eine logische Datenbank verhindert werden.
 
 

SELECTION-SCREEN für Selektionsbild-Aufbereitung

Bereitet Selektionsbilder auf.

Syntax

SELECTION-SCREEN SKIP [<n>].

SELECTION-SCREEN ULINE [[/]<pos(len)>] [MODIF ID <key>].

SELECTION-SCREEN COMMENT [/]<pos(len)> <comm> [FOR FIELD <f>]
                                               [MODIF ID <key>].

SELECTION-SCREEN BEGIN OF LINE.
  ...
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF BLOCK <block>
                                [WITH FRAME [TITLE <titel>]]
                                [NO INTERVALS].
  ...
SELECTION-SCREEN END OF BLOCK <block>.

SELECTION-SCREEN FUNCTION KEY <i>.

SELECTION SCREEN PUSHBUTTON [/]<pos(len)> <push>
                            USER-COMMAND <ucom> [MODIF ID <key>].

Es können Leerzeilen, Linien und Kommentare erzeugt, Eingabefelder in Zeilen und Blöcken zusammengefaßt sowie Drucktasten angelegt werden.
 
 

SELECTION-SCREEN für Selektionsbild-Definition

Definiert Selektionsbilder.

Syntax

SELECTION-SCREEN BEGIN OF <numb> [TITLE <tit>] [AS WINDOW].
  ...
SELECTION-SCREEN END OF <numb>.

Es wird ein Selektionsbild mit der Dynpronummer <numb> definiert. Alle Anweisungen PARAMETERS, SELECT-OPTIONS und SELECTION-SCREEN, die innerhalb der beiden Anweisungen stehen, definieren die Eingabefelder und Aufbereitung dieses Selektionsbilds. Mit dem Zusatz TITLE kann ein Titel für das Selektionsbild definiert werden. Mit dem Zusatz AS WINDOW kann man das Selektionsbild als modales Dialogfenster vorsehen.
 
 

SELECTION-SCREEN für Selektionsbild-Versionen

Definiert Selektionsbildversionen.

Syntax

SELECTION-SCREEN BEGIN OF VERSION <dynnr>
  ...
  SELECTION-SCREEN EXCLUDE <f>.
  ...
SELECTION-SCREEN BEGIN OF VERSION <dynnr>.

Nur in logischen Datenbanken. Es werden Eingabefelder des Standardselektionsbilds ausgeblendet.
 
 

SELECTION-SCREEN für logische Datenbanken

Ermöglicht spezielle Funktionalität.

Syntax

SELECTION-SCREEN DYNAMIC SELECTIONS | FIELD SELECTION
                 FOR NODE|TABLE <node>.

Nur in logischen Datenbanken. Sieht Knoten für freie Abgrenzungen oder Feldselektion vor.
 
 

SET BIT

Setzt einzelne Bits.

Syntax

SET BIT <n> OF <f> [TO <b>].

Setzt das Bit an der Stelle <n> des Hexadezimalfelds <f> auf 1 bzw. auf den Wert des Felds <b>. Der Inhalt von <b> muß 0 oder 1 sein.
 
 

SET BLANK LINES

Ermöglicht Leerzeilen auf Listen.

Syntax

SET BLANK LINES ON|OFF.

Verhindert die Unterdrückung von durch die WRITE-Anweisung erzeugten Leerzeilen auf Listen, bzw. schaltet sie ein.
 
 

SET COUNTRY

Setzt Ausgabeformate.

Syntax

SET COUNTRY <c>.

Setzt die Ausgabeformate für Zahlen- und Datumsfelder entsprechend dem Länderkennzeichen <c>.
 
 

SET CURSOR

Setzt den Cursor auf dem Bildschirm.

Syntax

SET CURSOR FIELD <f> [OFFSET <off>]
                     [LINE <lin>].

SET CURSOR LINE <lin> [OFFSET <off>].

SET CURSOR <col> <line>.

Setzt den Cursor auf entweder auf eine bestimmte Position von Feldern oder von Zeilen oder in eine bestimmte Spalte und Zeile.
 
 

SET EXTENDED CHECK

Beeinflußt die erweiterte Programmprüfung aus.

Syntax

SET EXTENDED CHECK ON|OFF.

Schaltet die erweiterte Programmprüfung (SLIN) lokal aus bzw. an und unterdrückt damit entsprechende Meldungen.
 
 

SET HANDLER

Registriert Ereignisbehandler in ABAP Objects.

Syntax

SET HANDLER ... <hi> ... [FOR <ref>|FOR ALL INSTANCES].

Ohne FOR-Zusatz werden Behandler für statische Ereignisse registriert. Mit FOR-Zusatz werden Behandler für Instanzereignisse registriert.
 
 

SET HOLD DATA

Setzt ein Dynpro-Attribut.

Syntax

SET HOLD DATA ON|OFF.

Das Dynpro-Attribut zum Halten von Daten wird im Programm gesetzt.
 
 

SET LANGUAGE

Setzt die Ausgabesprache.

Syntax

SET LANGUAGE <lg>.

Alle Textsymbole werden neu mit dem Inhalt des Textpools der Sprach <lg> versorgt.
 
 

SET LEFT SCROLL BOUNDARY

Setzt linke Grenze für horizontales Blättern.

Syntax

SET LEFT SCROLL-BOUNDARY [COLUMN <col>].

Es wird die aktuelle Schreibposition bzw. die Position <col> als linke Begrenzung des blätterbaren Bereichs der aktuellen Listenseite gesetzt.
 
 

SET LOCALE LANGUAGE

Setzt die Textumgebung.

Syntax

SET LOCALE LANGUAGE <lg> [COUNTRY <c>] [MODIFIER <m>].

Setzt die Textumgebung für die Sortierung gemäß Sprache <lg>, das Land <c> und die Kennung <m>.
 
 

SET MARGIN

Setzt den Rand einer Druckseite.

SET MARGIN <x> [<y>].

bewirkt, daß die aktuelle Listenseite mit <x> Spalten Abstand von der linken Seitenbegrenzung und mit <y> Zeilen Abstand von der oberen Seitenbegrenzung ans Spool-System gesendet wird.
 
 

SET PARAMETER

Setzt einen SPA/GPA-Parameter.

Syntax

SET PARAMETER ID <pid> FIELD <f>.

Es wir der Wert des Felds <f> in den SPA/GPA-Parameter <pid> im benutzerbezogenen SAP-Memory übertragen.
 
 

SET PF-STATUS

Setzt den GUI-Status.

Syntax

SET PF-STATUS <stat> [EXCLUDING <f>|<itab>]
                     [IMMEDIATELY] [OF PROGRAM <prog>].

Setzt den GUI-Status <stat> für die folgenden Bildschirmbilder. Der Zusatz EXCLUDING beieinflußt die Funktionalität eines GUI-Status. Der Zusatz IMMEDIATELY setzt den GUI-Status der gerade angezeigten Liste. Der Zusatz OF PROGRAM verwendet einen GUI-Status eines anderen Programms.
 
 

SET PROPERTY

Setzt eine Eigenschaft eines OLE2 Automation-Objekts.

Syntax

GET PROPERTY OF <obj> <p> = <f>.

Die Eigenschaft <p> eines externen OLE2 Automation-Objekts wird gemäß des Inhalts der Variable <f> gesetzt.
 
 

SET RUN TIME ANALYZER

Beeinflußt die Laufzeitanalyse.

Syntax

SET RUN TIME ANALYZER ON|OFF.

Die Laufzeitanalyse mißt nur die Anweisungen die zwischen den beiden Anweisungen mit ON und OFF stehen.
 
 

SET RUN TIME CLOCK

Beeinflußt die Laufzeitanalyse.

Syntax

SET RUN TIME CLOCK RESOLUTION HIGH|LOW.

Die Genauigkeit der Laufzeitanalyse wird auf niedrige Meßgenauigkeit mit großem Meßintervall oder umgekehrt gesetzt.
 
 

SET SCREEN

Setzt das Folgedynpro.

Syntax

SET SCREEN <scr>.

Überschreibt temporär das statische Folgedynpro des aktuellen Dynpros mit <scr>. Im Anschluß an das aktuelle Dynpro wird das Folgedynpro <scr> verarbeitet.
 
 

SET TITLEBAR

Setzt den Bildschirmtitel.

Syntax

SET TITLEBAR <tit> [OF PROGRAM <prog>] [WITH <g1 > ... <g9>].

Setzt den Titel <tit> > für die folgenden Bildschirmbilder. Der Zusatz OF PROGRAM verwendet einen Titel eines anderen Programms. Der Zusatz WITH füllt eventuelle Platzhalter im Titel.
 
 

SET UPDATE TASK LOCAL

Schaltet lokale Verbuchung ein.

Syntax

SET UPDATE TASK LOCAL.

Die Verbuchung findet im aktuellen Workprozess statt.
 
 

SET USER-COMMAND

Löst ein Listenereignis aus.

Syntax

SET USER-COMMAND <fc>.

Es wird ein Listenereignis mit dem Funktionscode <fc> ausgelöst und der entsprechende Ereignisblock aufgerufen.
 
 

SHIFT

Verschiebt Zeichenketten.

Syntax

SHIFT <c> [BY <n> PLACES] [LEFT|RIGHT|CIRCULAR].

Das Feld <c> wird um eine Stelle bzw. <n> Stellen verschoben, dabei kann mit den Zusätzen die Richtung und die Art der Auffüllung der entstehenden Plätze bestimmt werden.
 
 

SKIP für Leerzeilen

Erzeugt Leerzeilen auf der Ausgabeliste.

Syntax

SKIP [<n>].

Erzeugt auf der aktuellen Liste <n> Leerzeilen hinter der aktuellen Zeile. Ohne <n> wird eine Leerzeile erzeugt.
 
 

SKIP für Positionierung

Absolute Positionierung der Ausgabe auf einer Liste.

Syntax

SKIP TO LINE <lin>.

Positioniert die Listenausgabe in der Zeile <lin>.
 
 

SORT für Extrakte

Sortiert einen Extraktdatenbestand.

Syntax

SORT [ASCENDING|DESCENDING] [AS TEXT] [STABLE]
     ... BY <fi> [ASCENDING|DESCENDING] [AS TEXT] ...

Schließt die Erzeugung des Extraktdatenbestands des Programms ab und sortiert gleichzeitig dessen Sätze. Ohne den Zusatz BY, wird der Datenbestand nach dem durch die Feldgruppe HEADER festgelegten Schlüssel sortiert. Mit dem Zusatz BY kann ein anderer Sortierschlüssel definiert werden. Die übrigen Zusätze legen fest, ob aufsteigend oder absteigend, und ob Zeichenketten alphabetisch sortiert werden.
 
 

SORT für interne Tabellen

Sortiert interne Tabellen.

Syntax

SORT <itab> [ASCENDING|DESCENDING] [AS TEXT] [STABLE]
            ... BY <fi> [ASCENDING|DESCENDING] [AS TEXT] ...

Sortiert die interne Tabelle <itab>. Ohne den Zusatz BY, wird nach dem Tabellenschlüssel sortiert. Mit dem Zusatz BY kann ein anderer Sortierschlüssel definiert werden. Die übrigen Zusätze legen fest, ob aufsteigend oder absteigend, und ob Zeichenketten alphabetisch sortiert werden.
 
 

SPLIT

Zerlegt eine Zeichenkette.

Syntax

SPLIT <c> AT <del> INTO <c1> ... <cn> INTO TABLE <itab>.

Durchsucht das Feld <c> nach den Trennzeichen <del> und stellt die Teile vor und nach <del> in die Zielfelder <c1> ... <cn> bzw. in jeweils eine neue Zeile der internen Tabelle <itab>.
 
 

START-OF-SELECTION

Ereignisschlüsselwort zur Definition eines Ereignisblocks für ein Reporting-Ereignis.

Syntax

START-OF-SELECTION.

Nach der Verarbeitung des Selektionsbilds löst die Laufzeitumgebung das Ereignis START-OF-SELECTION aus und der entsprechende Ereignisblock wird ausgeführt.
 
 

STATICS

Definiert statische Variablen.

Syntax

STATICS <f> ...

Wie DATA. Bewahrt den Wert lokaler Variablen über die Laufzeit einer Prozedur hinaus.
 
 

STOP

Verläßt ein Reporting-Ereignis.

Syntax

STOP.

Nur in Ereignisblöcken für Reporting-Ereignisse. Verläßt den Ereignisblock und verzweigt zu END-OF-SELECTION.
 
 

SUBMIT

Aufruf eines ausführbaren Programms vom Typ 1.

Syntax

SUBMIT <rep> [AND RETURN] [VIA SELECTION-SCREEN]
                          [USING SELECTION-SET <var>]
                          [WITH <sel> <criterion>]
                          [WITH FREE SELECTIONS <freesel>]
                          [WITH SELECTION-TABLE <rspar>]
                          [LINE-SIZE <width>]
                          [LINE-COUNT <length>].

Ruft das Programm <rep>. Ohne den Zusatz AND RETURN wird das aktuelle Programm verlassen. Mit dem Zuatz AND RETURN werden die Daten des aufrufenden Programms erhalten und am Ende des aufgerufenen Programms hinter die Aufrufstelle zurückgekehrt. Die übrigen Zusätze steuern und füllen das Selektionsbild und beeinflußen die Standardliste des aufgerufenen Programms
 
 

SUBTRACT für Einzelfelder

Subtrahiert zwei Einzelfelder.

Syntax

SUBTRACT <n> FROM <m>.

Der Inhalt von <n> wird vom Inhalt von <m> subtrahiert, und das Ergebnis wird in <m> abgelegt. Äquivalent ist: <m> = <m> - <n>.
 
 

SUBTRACT-CORRESPONDING

Subtrahiert Teilfelder von Strukturen.

Syntax

SUBTRACT-CORRESPONDING <struc1> FROM <struc2>.

Es werden alle gleichnamigen Teilfelder der Strukturen <struc1> und <struc2> voneinander subtrahiert und die Ergebnisse den Teilfeldern in <struc2> zugewiesen.
 
 

SUM

Bildet Gruppensummen.

Syntax

SUM.

Nur in Schleifen über interne Tabellen. Es werden die Summen der numerischen Felder aller Zeilen in der aktuellen Gruppenstufe berechnet und in die entsprechenden Felder des Arbeitsbereichs geschrieben.
 
 

SUPPLY

Versorgt Context-Instanzen.

Syntax

SUPPLY <key1> = <f 1> ... <key n> = <f n> TO CONTEXT <inst>.

Versorgt die Schlüsselfelder <keyn> einer Context-Instanz <inst> mit den Werten <fn>.
 
 

SUPPRESS DIALOG

Unterdrückt die Ausgabe des aktuellen Dynpros.

Syntax

SUPPRESS DIALOG.

Nur in einem PBO-Dialogmodul. Das Bildschirmbild des aktuellen Dynpros wird nicht angezeigt. Die Dynproablauflogik wird jedoch prozessiert.
 
 

T

TABLES

Deklariert einen Schnittstellen-Arbeitsbereich.

Syntax

TABLES <dbtab>.

Deklariert eine Struktur mit dem gleichen Datentyp und dem gleichen Namen wie eine Datenbanktabelle, ein View oder eine Struktur aus dem ABAP Dictionary. Mit TABLES in Haupt- und Unterprogrammen deklarierte Strukturen verwenden einen gemeinsamen Datenbereich.
 
 

TOP-OF-PAGE

Ereignisschlüsselwort zur Definition eines Ereignisblocks für ein Listen-Ereignis.

Syntax

TOP-OF-PAGE [DURING LINE-SELECTION].

Wenn während der Erstellung einer Standardliste eine neue Seite begonnen wird, löst die Laufzeitumgebung das Ereignis TOP-OF-PAGE aus und der entsprechende Ereignisblock wird ausgeführt. Mit dem Zusatz DURING LINE-SELECTION entsprechend für Verzweigungslisten.
 
 

TRANSFER

Schreibt in eine Datei.

Syntax

TRANSFER <f> TO [LENGTH <len>].

Das Feld <f> wird in die Datei <dsn> auf dem Applikationsserver geschrieben. Der Zusatz LENGTH gibt die Länge <len> der zu übertragenden Daten an.
 
 

TRANSLATE

Setzt Zeichen in Zeichenketten um.

Syntax

TRANSLATE <c>  TO UPPER|LOWER CASE
              |USING <r>.

Die Zeichen der Zeichenkette <c> werden entweder in Groß- bzw. Kleinbuchstaben oder gemäß einer Substitutionsregel in <r> umgesetzt.
 
 

TYPE-POOL

Leitet eine Typgruppe ein.

Syntax

TYPE-POOL <tpool>.

Erste Anweisung einer Typgruppe. Diese Anweisung wird nicht im ABAP Editor eingegeben, sondern vom Werkzeug Dictionary der ABAP Workbench generiert. Eine Typgruppe ist ein ABAP-Programm, das programmübergreifende Typdefinitionen und Konstantendeklarationen enthält.
 
 

TYPE-POOLS

Fügt die Typen und Konstanten einer Typgruppe ein.

Syntax

TYPE-POOLS <tpool>.

Nach Verwendung dieser Anweisung können alle Datentypen und Konstanten, die in der Typgruppe <tpool> definiert sind, im Programm verwendet werden.
 
 

TYPES für Einzelfeldtypen

Definiert Einzelfeldtypen.

Syntax

TYPES <t>[(<length>)] [TYPE <type>|LIKE <obj>] [DECIMALS <dec>].

Der programmlokale Datentyp <t> wird in der Länge <len>, mit Bezug auf einen Datentyp <type> oder ein Datenobjekt <obj> und gegebenenfalls mit <dec> Dezimalstellen definiert.

Syntax

TYPES <t> TYPE REF TO <class>|<interface>.

Der programmlokale Datentyp <t> wird als Referenz auf die Klasse <class> oder das Interface <interface> definiert.
 
 

TYPES für aggregierte Typen

Definiert aggregierte Typen.

Syntax

TYPES: BEGIN OF <structure>,
         ...
         <ti> ...,
         ...
       END OF <structure>.

Die Datentypen <ti> werden zu einer Struktur <structure> zusammengefaßt. Die einzelnen Komponenten einer Struktur werden im Programm mit einem Bindestrich zwischen Strukturname und Komponentenname benannt: <structure>-<ti>.

Syntax

TYPES <t> TYPE|LIKE <tabkind> OF <linetype> [WITH <key>].

Der programmlokale Datentyp <t> wird als interne Tabelle der Zugriffsart <tabkind>, dem Zeilentyp <linetype> und dem Schlüssel <key> definiert.
 
 

U

ULINE

Erzeugt horizontale Linien auf der Ausgabeliste.

Syntax

ULINE [AT [/][<pos>][(<len>)]].

Ohne Zusätze, wird auf der aktuellen Liste eine neue Zeile erzeugt und mit einer Linie gefüllt. Mit den Zusätzen kann der Zeilenumbruch, die Startposition und die Länge der Linie angegeben werden.
 
 

UNPACK

Konvertiert Variablen vom Typ P in Typ C.

Syntax

UNPACK <f> TO <g>.

Das gepackte Feld <f> wird entpackt und mit führenden Nullen in die Zeichenkette <g> gestellt. Umkehrung durch PACK.
 
 

UPDATE

Ändert Zeilen in Datenbanktabellen.

Syntax

UPDATE <dbtab> SET  <si> = <f>
                   |<si> = <si> + <f>
                   |<si> = <si> - <f> [WHERE <cond>].

Der Wert in Spalte <si> wird für alle selektierten Zeilen auf den Wert von <f> gesetzt, um den Wert von <f> erhöht oder um den Wert von <f> vermindert. Der Zusatz WHERE bestimmt die zu ändernden Zeilen. Ohne den Zusatz WHERE werden alle Zeilen geändert.

Syntax

UPDATE <dbtab> FROM <wa> .

UPDATE <dbtab> FROM TABLE <itab>.

Es wird die Zeile mit dem Inhalt von <wa> überschrieben, die den gleichen Primärschlüssel hat, wie der Arbeitsbereich <wa>, bzw. es werden alle Zeilen mit einer Zeile der internen Tabelle <itab> überschrieben, die den gleichen Primärschlüssel wie diese Zeilen haben. Der Arbeitsbereich <wa> bzw. die Zeilen von <itab> müssen mindestens die gleiche Länge und die gleiche Ausrichtung wie die Zeilen der Datenbanktabelle haben.
 
 

W

WHEN

Leitet einen Anweisungsblock in der CASE-Kontrollstruktur ein.

Syntax

WHEN <f1> [OR <f2> OR ...] | OTHERS.

Der Anweisungsblock nach einer WHEN-Anweisung wird ausgeführt, wenn der Inhalt des Felds <f> der CASE-Anweisung gleich dem Inhalt von einem der Felder <f i> ist. Danach wird der Programmablauf hinter ENDCASE wieder aufgenommen. Der Anweisungsblock nach WHEN OTHERS wird ausgeführt, wenn der Inhalt von <f> mit dem Inhalt von keinem der Felder <fi> übereinstimmt.
 
 

WHILE

Leitet eine Schleife ein.

Syntax

WHILE <logexp> [VARY <f> FROM <f1> NEXT <f2>].

Beginnt einen Anweisungsblock, der durch ENDWHILE abgeschlossen wird. Die Verarbeitung des Anweisungsblocks innerhalb der Anweisungen WHILE und ENDWHILE solange wiederholt, wie der logische Ausdruck <logexp> wahr ist oder bis eine Abbruchanweisung wie CHECK oder EXIT erreicht wird. Der VARY-Zusatz erlaubt es Felder, die im Speicher gleichen Abstand haben, zu bearbeiten.
 
 

WINDOW

Gibt Liste als modales Dialogfenster aus.

Syntax

WINDOW STARTING AT <x1> <y1> [ENDING AT <x2> <y2>].

Nur für Listenverarbeitung. Die aktuelle Verzweigungsliste wird als modales Dialogfenster gesendet. Die linke obere Ecke des Fensters wird in Spalte <x1> und Zeile <y1> positioniert. Die rechte untere Ecke kann als Spalte <x2> und Zeile <y2> angegeben werden.
 
 

WRITE

Erzeugt Listenausgaben.

Syntax

WRITE [AT [/][<pos>][(<len>)]] <f> [AS CHECKBOX|SYMBOL|ICON|LINE]
                                   [QUICKINFO <g>].
                                   [<format>]

Der Inhalt des Felds <f> wird typgerecht aufbereitet und auf der aktuelle Liste ausgegeben. Mit den Zusätzen vor dem Feld kann der Zeilenumbruch, die Startposition und die Länge der Linie angegeben werden. mit den Zusätzen nach dem Feld können Ankreuzfelder, Symbole, Ikonen und Sonderlinien ausgegeben werden. Der Zusatz <format> kann verschiedene Aufbereitungsoptionen enthalten. Mit QUICKINFO kann das Feld mit einer Quickinfo <g> versehen werden.
 
 

WRITE TO

Weist zeichenkettenartige Werte zu.

Syntax

WRITE <f1> TO <f2> [<format>].

Konvertiert den Inhalt des Datenobjekts <f1> nach Typ C und weist die resultierende Zeichenkette der Variablen <f2> zu. Es können Aufbereitungsoptionen der Anweisung WRITE verwendet werden.
 

Quelle: SAP AG

-->

Modifikation oder nicht?
Alle Quellcode innerhalb des SAP kannst Du Dir, passende Berechtitung vorausgesetzt, anschauen. Mit etwas Gewalt kannst Du diesen Standard auch modifizieren.
Darüber hinaus gibt es einen sog. Kunden-Namensraum. Hier kannst Du Dich austoben!
ABAP für umsonst
Es gibt da ein Buch mit dem Namen "ABAP OBJECTS".
In dem Buch sind 2 CDS drin, die ein MINI-SAP beinhalten, d.h. ein kkomplettes BASIS-System. Die komplette Entwicklungsumgebung mit Datenbank und allem drum und dran. Du kannst die gesamte SAP-Entwicklung (Programmierung, Datenbank, Berechtigungen, Formulardesign, ...) auf einem etwas kräftigeren PC LIVE üben! Verkauft wird das Buch z.B. bei AMAZON.



Copyright © 2003 Falk Gottschalk
Email an Webmaster