Anfang des InhaltsbereichsBeispiele zu Datentypen und Objekten Dokument im Navigationsbaum lokalisieren

Hier finden sich einige Beispiele zu elementaren und aggregierten Datentypen und Datenobjekten, wie sie oft in ABAP-Programmen verwendet werden.

Beispiel

Dieses Beispiel zeigt die Deklaration von elementaren Datenobjekten mit Bezug auf die eingebauten ABAP-Typen.

PROGRAM demo_elementary_data_objects.

DATA text1(20) TYPE c.
DATA text2     TYPE string.
DATA number    TYPE i.

text1 = 'The number'.
number = 100.
text2 = 'is an integer.'.

WRITE: text1, number, text2.

Das Programm erzeugt folgende Bildschirmausgabe:

The number              100 is an integer.

Es werden die Datenobjekte TEXT1, TEXT2 und NUMBER mit der Anweisung DATA deklariert. Die technischen Eigenschaften werden mit Bezug auf die eingebauten ABAP-Typen C, STRING und I festgelegt. Den benannten Datenobjekten werden Werte aus unbenannten Literalen zugewiesen. Der Inhalt der benannten Datenobjekte wird auf die Ausgabeliste geschrieben.

Beispiel

Dieses Beispiel zeigt die Deklaration programmlokaler elementarer Datentypen.

REPORT demo_types_statement.

TYPES mytext(10) TYPE c.
TYPES myamount   TYPE p DECIMALS 2.

DATA text        TYPE mytext.
DATA amount      TYPE myamount.

text = ' 4 / 3 = '.
amount = 4 / 3 .

WRITE: text, amount.

Das Programm erzeugt die folgende Bildschirmausgabe:

4 / 3 =                1.33

Es werden programmlokale Datentypen MYTEXT und MYAMOUNT mit der Anweisung TYPES definiert. Die technischen Eigenschaften werden mit Bezug auf eingebaut ABAP-Typen definiert. Dann werden die Datenobjekte TEXT und AMOUNT mit der Anweisung DATA deklariert. Ihre Datentypen werden mit Bezug auf MYTEXT und MYAMOUNT festgelegt. Den Datenobjekten werden Werte zugeordnet, und der Inhalt der Datenobjekte wird auf die Ausgabeliste geschrieben.

Beispiel

Dieses Beispiel zeigt, wie Strukturen deklariert werden können.

REPORT demo_structure.

TYPES: BEGIN OF name,
         title(5)       TYPE c,
         first_name(10) TYPE c,
         last_name(10)  TYPE c,
       END OF name.

TYPES: BEGIN OF mylist,
         client         TYPE name,
         number         TYPE i,
       END OF mylist.

DATA list TYPE mylist.

list-client-title = 'Lord'.
list-client-first_name = 'Howard'.
list-client-last_name = 'Mac Duff'.
list-number = 1.

WRITE list-client-title.
WRITE list-client-first_name.
WRITE list-client-last_name.
WRITE / 'Number'.
WRITE list-number.

Das Programm erzeugt die folgende Bildschirmausgabe

Lord  Howard      Mac Duff
Number           1

Es werden die programmlokalen Datentypen NAME und MYLIST mit der Anweisung TYPES als Strukturen definiert. Die Struktur NAME enthält die drei Komponenten TITLE, FIRST_NAME und LAST_NAME mit Bezug auf den eingebauten ABAP-Typ C. Die Struktur MYLIST enthält die beiden Komponenten CLIENT und NUMBER. CLIENT ist eine Unterstruktur, da sie sich auf die Struktur NAME bezieht. NUMBER ist elementar mit dem eingebauten Typ I. Ein Datenobjekt LIST wird mit Bezug auf den Datentyp MYLIST deklariert. Den Komponenten werden Werte zugewiesen, und ihre Inhalte werden auf die Ausgabeliste geschrieben.

Beispiel

Dieses Beispielprogramm zeigt die Definition einer internen Tabelle.

PROGRAM demo_internal_table.

TYPES: BEGIN OF mytext,
         number TYPE i,
         name(10) TYPE c,
       END OF mytext.

TYPES mytab TYPE STANDARD TABLE OF mytext WITH DEFAULT KEY.

DATA text TYPE mytext.
DATA itab TYPE mytab.

text-number = 1. text-name = 'John'.
APPEND text TO itab.

text-number = 2. text-name = 'Paul'.
APPEND text TO itab.

text-number = 3. text-name = 'Ringo'.
APPEND text TO itab.

text-number = 4. text-name = 'George'.
APPEND text TO itab.

LOOP AT itab INTO text.
  WRITE: / text-number,text-name.
ENDLOOP.

Dieses Programm erzeugt die folgende Bildschirmausgabe:

         1  John

         2  Paul

         3  Ringo

         4  George

In diesem Beispiel wird ein Datentyp MYTEXT als Struktur definiert. Dann wird ein Datentyp MYTAB als interne Tabelle mit dem Zeilentyp MYTEXT definiert. Die Datenobjekte TEXT und ITAB werden mit Bezug auf die programmlokalen Datentypen MYTEXT und MYTAB deklariert. Die Zeilen der internen Tabelle ITAB werden dynamisch mit APPEND erzeugt. Über die Struktur TEXT wird der Inhalt der Tabelle ITAB auf die Ausgabeliste geschrieben. Siehe auch Interne Tabellen.

 

 

Ende des Inhaltsbereichs