ABAP中关键字TYPES与DATA

本文详细介绍了ABAP中使用TYPES关键字定义自定义数据类型的方法,以及如何利用DATA关键字来实例化这些类型,创建内表并进行操作。通过具体示例展示了不同类型的内表(含与不含HEADER LINE)的创建及数据填充过程。
摘要由CSDN通过智能技术生成

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 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,
        LAST_NAME(30) TYPE C,
        AGE TYPE I,
       END OF OTAB.


  ITAB-FIRST_NAME = 'VANCY'.
  ITAB-LAST_NAME = 'WEI'.
  ITAB-AGE = 10.
  APPEND ITAB.

  ITAB-FIRST_NAME = 'AOBAMA'.
  ITAB-LAST_NAME = 'WEI'.
  ITAB-AGE = 10.
  APPEND ITAB.


  ITAB-FIRST_NAME = 'LIKEM'.
  ITAB-LAST_NAME = 'WEI'.
  ITAB-AGE = 10.
  APPEND ITAB.


  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-LAST_NAME = 'WEI'.
  WA-AGE = 10.
  APPEND WA TO JTAB.


  WA-FIRST_NAME = 'TUESDAY'.
  WA-LAST_NAME = 'WEI'.
  WA-AGE = 10.
  APPEND WA TO JTAB.

  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.
  ENDLOOP.

  OTAB-FIRST_NAME = 'JANUARY'.
  OTAB-LAST_NAME = 'WEI'.
  OTAB-AGE = 1.
  APPEND OTAB.

  OTAB-FIRST_NAME = 'FEBRUARY'.
  OTAB-LAST_NAME = 'WEI'.
  OTAB-AGE = 10.
  APPEND OTAB.


  OTAB-FIRST_NAME = 'MARCH'.
  OTAB-LAST_NAME = 'WEI'.
  OTAB-AGE = 10.
  APPEND OTAB.

  LOOP AT OTAB.
    WRITE:/ 'SY-TABIX=',SY-TABIX,
          'FIRST_NAME=',OTAB-FIRST_NAME,
          'LAST_NAME=',OTAB-LAST_NAME,
          'AGE=',OTAB-AGE LEFT-JUSTIFIED.
  ENDLOOP.
  程序运行界面如下:
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值