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.
目录
相关文章
|
5月前
|
存储 安全 数据库
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
|
5月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
5月前
|
SQL 负载均衡 监控
SAP ABAP DBSQL_SQL_ERROR 错误
SAP ABAP DBSQL_SQL_ERROR 错误
|
5月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
5月前
|
SQL 监控 Oracle
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
|
5月前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
|
5月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
5月前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析