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.
  程序运行界面如下:
  

目录
相关文章
|
数据库
SAP ABAP——数据类型(五)【LIKE系列关键字】
本文主要介绍一下SAP ABAP中的声明数据类型的LIKE系列关键字,主要包括了LIKE、LIKE TABLE OF、LIKE LINE OF、LIKE REF TO。LIKE系列语句是与TYPE系列所对应的语句,前者主要是参照数据类型进行定义,而后者则是参照实例化的数据对象进行定义,在下一章中笔者将对数据对象进行详细的讲述。
896 0
SAP ABAP——数据类型(五)【LIKE系列关键字】
SAP ABAP——数据类型(四)【TYPE系列关键字】
本文主要介绍一下SAP ABAP中的声明数据类型的TYPE系列关键字,主要包括了TYPE、TYPE TABLE OF、TYPE LINE OF、TYPE REF TO
782 0
SAP ABAP——数据类型(四)【TYPE系列关键字】
ABAP开发基础知识:1) ABAP基础程序类型(ABAP Elementary Data Types)
ABAP程序共包含8种基本数据类型定义,下表 数据类型名称 描述 属性 C Character Text(字符类型) 默认长度=1,默认值=blank,最大长度无限制 N Numeric Text(数字类型) 默认长度=1,默认值=“0.
851 0
ABAP开发基础知识:3) 自定义数据类型(User-Defined Data Types)
在前面曾经介绍过,ABAP共有8种基本数据类型,但是这些数据类型属性太为单一,为了方便开发人员操作和理解,SAP还提供自定义数据类型,让用户能自行定义数据类型的名称及属性,通过关键字TYPES能够实现自定义功能,其语法格式与变量定义类似,通过TYPES声明的参数可以被其它常量、变量引用,不能直接赋值。
1065 0
|
7月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1615 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
225 0
|
前端开发 JavaScript 数据库
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。
158 0
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
|
程序员 BI
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
abap开发function module时使用tables传递参数报错过时的解决方法
如下图,我写了一个Function Module我要在tables中添加一个参数TABLES参数已过时不管怎么点击保存按钮,一直报错,怎么办呢?不管是不是过时,狂点回车,就保存了
1745 0