ABAP中关键字TYPES与DATA

简介:   TYPES关键字用于创建自定义数据类型,就像JAVA里面创建类一样,用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 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.
  程序运行界面如下:
  

目录
相关文章
|
19天前
|
数据处理 开发者
ABAP AT NEW 关键字的用法
ABAP AT NEW 关键字的用法
20 0
|
1月前
|
存储 自然语言处理 BI
ABAP 关键字 READ TEXTPOOL 的用法介绍
ABAP 关键字 READ TEXTPOOL 的用法介绍
24 0
|
7月前
|
SQL 缓存 Linux
什么是 SAP ABAP FDA - Fast Data Access 技术?
什么是 SAP ABAP FDA - Fast Data Access 技术?
32 0
|
6月前
|
XML 存储 中间件
根据指定关键字搜索指定时间范围内的 SAP CRM 中间件 BDOC 的 ABAP 小工具分享
根据指定关键字搜索指定时间范围内的 SAP CRM 中间件 BDOC 的 ABAP 小工具分享
55 0
|
6月前
|
数据处理
SAP ABAP 里 FILTER 关键字的用法举例
SAP ABAP 里 FILTER 关键字的用法举例
52 0
|
6月前
关于 SAP ABAP 事务码 SM30 里的 Restrict Data Range
关于 SAP ABAP 事务码 SM30 里的 Restrict Data Range
36 0
|
6月前
|
数据库
ABAP MESSAGE 关键字的使用方法
ABAP MESSAGE 关键字的使用方法
41 0
|
7月前
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
68 1
|
7月前
|
存储 测试技术
SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南试读版
SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南试读版
35 0
|
7月前
|
监控 IDE Devops
有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?
有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?
56 0

热门文章

最新文章