SAP ABAP——内表(二)【创建内表】

简介: 本文主要介绍一下SAP ABAP中创建内表的几种方式

本文主要介绍一下SAP ABAP中创建内表的几种方式


参照局部结构体类型定义内表


创建流程

1.首先定义结构体类型

TYPES:BEGIN OF <t_str>,
     ...
      END OF <t_str>.

2.其次参照上一步创建的局部结构体类型定义内表

DATA:itab TYPE [STANDARD|SORTED|HASHED] TABLE OF <t_str> WITH {UNIQUE|NON-UNIQUE} KEY <keys> 
[INTIAL SIZE <n>].


示例代码

TYPES:BEGIN OF S_SFLIGHT,
  Z_CARRID TYPE SFLIGHT-CARRID,
  Z_CONNID TYPE SFLIGHT-CONNID,
  Z_FLDATE TYPE SFLIGHT-FLDATE,
  Z_PRICE  TYPE SFLIGHT-PRICE,
  END OF S_SFLIGHT.
  DATA:GT_SFLIGHT TYPE TABLE OF S_SFLIGHT WITH NON-UNIQUE DEFAULT KEY.


效果演示

a0fcdc93e036e33fcd4e3f081a28320.png



参照局部表类型定义内表


创建流程

1. 首先定义结构体类型

TYPES:BEGIN OF <t_str>,
     ...
      END OF <t_str>.

2.其次参照上一步创建的局部结构体类型定义表类型

TYPES:t_itab TYPE [STANDARD|SORTED|HASHED] TABLE OF <t_str> WITH {UNIQUE|NON-UNIQUE} KEY <keys> 
[INTIAL SIZE <n>].
  • [STANDARD|SORTED|HASHED]为可选参数,从左到右分别对应标准表,排序表和哈希表;若不指定该参数则默认为标准表
  • [INTIAL SIZE ]为可选参数,可以指定定义的内表的大小

3.最后参照上一步创建的局部表类型定义内表

DATA:itab TYPE <t_itab> [WITH HEADER LINE].
  • [WITH HEADER LINE]为可选参数,可以指定内表附带工作区,将在下一篇文章中讲解


示例代码

TYPES:BEGIN OF S_SFLIGHT,
  Z_CARRID TYPE SFLIGHT-CARRID,
  Z_CONNID TYPE SFLIGHT-CONNID,
  Z_FLDATE TYPE SFLIGHT-FLDATE,
  Z_PRICE  TYPE SFLIGHT-PRICE,
  END OF S_SFLIGHT.
  TYPES:T_SFLIGHT TYPE TABLE OF S_SFLIGHT WITH NON-UNIQUE DEFAULT KEY.
  DATA:GT_SFLIGHT TYPE T_SFLIGHT.


效果演示

7edf19e36f3f05cd8d3eefebef5736a.png



参照全局表定义内表


创建流程

DATA:itab TYPE <target> WITH [UNIQUE|NON-UNIQUE] KEY <keys> [INTIAL SIZE <n>] [WITH HEADER LINE].


示例代码

DATA:GT_SFLIGHT TYPE STANDARD TABLE OF SFLIGHT WITH NON-UNIQUE DEFAULT  KEY.


效果演示

b5a346f19c74ed3003a14b07ae35922.png



参照全局表类型定义内表


创建流程

DATA:itab TYPE <T_itab> [WITH HEADER LINE].
  • 为数据字典中全局表类型


全局表类型参数

ae468f88b43ffc1959ed2305c026c93.png


示例代码

DATA:GT_SFLIGHT TYPE ZT_SFLIGHT.


效果演示

1946681d1d3b68727c6a6d76bd7dba2.png



旧式内表定义法


创建流程

DATA:BEGIN OF <itab> OCCURS 0,
    f1,
    f2,
    f3
    ......
      END OF <itab>.
  • 旧式内表定义法即使没有使用[WITH HEADER LINE]语句,也默认包含表头行
  • 旧式内表定义法只能用于标准表的创建


示例代码

DATA:BEGIN OF GT_SFLIGHT OCCURS 0,
  CARRID TYPE SFLIGHT-CARRID,
  CONNID TYPE SFLIGHT-CONNID,
  FLDATE TYPE SFLIGHT-FLDATE,
  PRICE  TYPE SFLIGHT-PRICE,
 END OF GT_SFLIGHT.


效果演示

ce61745942b9d80ed9ed98f0206f4f1.png

649c161aefa7b2014b4965a4fe2fa68.png

目录
相关文章
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
516 0
SAP ABAP 内表排序 动态字段排序
对于动态内表排序引用ABAP_SORTORDER_TAB
292 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
139 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
209 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
651 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
171 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
157 0
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
225 0
SAP ABAP字符串拼接保留空格
字符串操作保留空格
1083 0
SAP MM/FI_运费处理方式
常见的采购运费处理方式