天天看點

ABAP中關鍵字TYPES與DATA

  TYPES關鍵字用于建立自定義資料類型,就像JAVA裡面建立類一樣,用TYPES建立的資料類型可以被其它變量引用(類似于執行個體化對象),而本身不能直接引用或者指派。

  DATA關鍵字用于定義結構體,可以自定義結構體或者參考某一個自定義類型建立對象,我把它稱為執行個體化對象。

  [For Example]

  TYPES:BEGIN OF ILINE,  "創建一個類型,包含三個字段  TYPES:定義的是類型  DATA:則為對象 

        FIRST_NAME(30) TYPE C,

        LAST_NAME(30) TYPE C,

        AGE TYPE I,

        END OF ILINE.

  DATA WA TYPE ILINE. "定義一個結構

  DATA ITAB TYPE ILINE OCCURS 0 WITH HEADER LINE. "參數某個結構創建的包含HEADER LINE的內表

  DATA JTAB TYPE ILINE OCCURS 0. "參照某個結構創建的無表HEADER LINE的內表,如果單獨創建(不參照某個結構)則包含表頭,如下建立自定義結構.

  DATA: BEGIN OF OTAB OCCURS 0, "以此種方式自定義的結構預設帶HEADER LINE

        FIRST_NAME(30) TYPE C,

       END OF OTAB.

  ITAB-FIRST_NAME = 'VANCY'.

  ITAB-LAST_NAME = 'WEI'.

  ITAB-AGE = 10.

  APPEND ITAB.

  ITAB-FIRST_NAME = 'AOBAMA'.

  ITAB-FIRST_NAME = 'LIKEM'.

  LOOP AT ITAB.

    WRITE:/ 'SY-TABIX=',SY-TABIX,

          'FIRST_NAME=',ITAB-FIRST_NAME,

          'LAST_NAME=',ITAB-LAST_NAME,

          'AGE=',ITAB-AGE LEFT-JUSTIFIED.

  ENDLOOP.

  *無表頭的隻能通過WORK AREA來添加數據進入內表,而有表頭的兩種方式都可以用

  WA-FIRST_NAME = 'SUNDAY'.

  WA-LAST_NAME = 'WEI'.

  WA-AGE = 10.

  APPEND WA TO JTAB.

  WA-FIRST_NAME = 'MONDAY'.

  WA-FIRST_NAME = 'TUESDAY'.

  LOOP AT JTAB INTO WA.

    WRITE:/ 'SY-TABIX=',SY-TABIX,

           'FIRST_NAME=',WA-FIRST_NAME,

           'LAST_NAME=',WA-LAST_NAME,

           'AGE=',WA-AGE LEFT-JUSTIFIED.

  OTAB-FIRST_NAME = 'JANUARY'.

  OTAB-LAST_NAME = 'WEI'.

  OTAB-AGE = 1.

  APPEND OTAB.

  OTAB-FIRST_NAME = 'FEBRUARY'.

  OTAB-AGE = 10.

  OTAB-FIRST_NAME = 'MARCH'.

  LOOP AT OTAB.

          'FIRST_NAME=',OTAB-FIRST_NAME,

          'LAST_NAME=',OTAB-LAST_NAME,

          'AGE=',OTAB-AGE LEFT-JUSTIFIED.

  程式運作界面如下:

  

繼續閱讀