SAP ABAP——数据类型(四)【TYPE系列关键字】

简介: 本文主要介绍一下SAP ABAP中的声明数据类型的TYPE系列关键字,主要包括了TYPE、TYPE TABLE OF、TYPE LINE OF、TYPE REF TO

本文主要介绍一下SAP ABAP中的声明数据类型的TYPE系列关键字,主要包括了TYPE、TYPE TABLE OF、TYPE LINE OF、TYPE REF TO


TYPE

         TYPE关键字是数据类型定义中最重要的关键字,可以参照预定义数据类型全局数据字典数据类型或者用户自定义数据类型。关于【TYPE】关键字的使用此前已经详细尽述,在此不再赘述。具体可以参考下面两文:

SAP ABAP——数据类型(一)【数据类型概要及分类】

SAP ABAP——数据类型(二)【TYPES自定义数据类型详解】



TYPE LINE OF

         TYPE LINE OF主要用来参照表类型中的一行定义结构体类型,表类型可以是数据字典表类型也可以是用户自定义的表类型

TYPES <ty_name> TYPE LINE OF <ty_tab_name>.

参照数据字典表类型

TYPES:ty_hrhcp00 TYPE LINE OF hrhcp00_dc_orginfo.
DATA:gs_hrhcp00  TYPE ty_hrhcp00.

         上面给出了参照数据字典表类型定义一行结构体类型的代码示例,并且最后使用了【DATA】语句将结构体类型实例化并且加入断点进行观察,具体效果如下图所示:

7ccb57503711664029faa112e18eab9.png


参照用户自定义表类型

TYPES:ty_tab_sflight TYPE TABLE  OF sflight,
      ty_sflight     TYPE LINE OF ty_tab_sflight.
DATA gv_sflight TYPE ty_sflight.

         上面给出了参照用户自定义表类型定义一行结构体类型的代码示例,并且最后使用了【DATA】语句将结构体类型实例化并且加入断点进行观察,具体效果如下图所示:

47abc71dd34c2f11d47ce519339800b.png


TYPE TABLE OF

          【TYPE TABLE OF】语句是用来定义内表数据类型的语句。在SAP ABAP中拥有标准表类型排序表类型哈希表类型三种内表数据类型。关于内表数据的相关知识可以参考笔者的第七章系列文章:SAP ABAP——内表

*定义标准表类型
TYPES: <ty_tab_standard_name> TYPE [STANDARD] TABLE OF <type> [WITH NON-UNIQUE KEY <k1 k2 ... kn>] [INITIAL SIZE <n>].
*定义排序表类型
TYPES: <ty_tab_sorted_name> TYPE SORTED TABLE OF <type> [WITH [NON-UNIQUE|UNIQUE] KEY <k1 k2 ... kn>][INITIAL SIZE <n>].
*定义哈希表类型
TYPES: <ty_tab_hashed_name> TYPE HASHED TABLE OF <type> [WITH UNIQUE KEY <k1 k2 ... kn>] [INITIAL SIZE <n>].

定义标准表类型

*参照数据库表sflight定义标准表
TYPES:ty_tab_sflight TYPE TABLE OF sflight WITH NON-UNIQUE KEY carrid connid fldate.

定义排序表类型

*参照数据库表sflight定义排序表
TYPES:ty_tab_sflight TYPE SORTED TABLE OF sflight WITH NON-UNIQUE KEY carrid connid fldate.

定义哈希表类型

*参照数据库表sflight定义哈希表
TYPES:ty_tab_sflight TYPE HASHED TABLE OF sflight WITH UNIQUE KEY carrid connid fldate.

TYPE REF TO

         【TYPE REF TO】语句是用来参照类自定义类的语句,可以参照的类包括全局类和本地类。关于该语句的的讲解在此只做简单的介绍,具体面向对象的知识将在该系列文章后续章节【面向对象ABAP程序设计(ABAP OOP)】中讲解!

TYPES:<cl_name> TYPE REF TO <type>.

参照本地类

*本地类 lcl_data定义
CLASS lcl_data DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
      get_data IMPORTING iv_date TYPE d.
ENDCLASS.                    "lcl_data DEFINITION
*本地类 lcl_data实例化
CLASS lcl_data IMPLEMENTATION.
  METHOD get_data.
*   do something
  ENDMETHOD.                    "get_Data
ENDCLASS.                    "lcl_data IMPLEMENTATION
TYPES:cl_data_ty TYPE REF TO lcl_data.

参照全局类

TYPES:cl_alv_ty TYPE REF TO  CL_GUI_ALV_GRID.
目录
相关文章
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
517 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
139 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
209 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
652 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
171 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
157 0
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
225 0
|
6月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1582 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
|
前端开发 JavaScript 数据库
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。
156 0
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)