SAP ABAP——内表(三)【工作区与表头】

简介: 本文主要介绍一下SAP ABAP中内表的工作区和表头

本文主要介绍一下SAP ABAP中内表的工作区和表头



工作区

工作区的含义

        工作区就是一个与对应内表结构完全一致的结构体,但是工作区内只能存储至多一条数据。对于内表中数据的增删查改都需要通过工作区去进行操作

PS:注意!最好给每一个内表都设置对应的工作区,并且每次数据操作完毕后都要清空工作区!除此之外,工作区的数据都需要先APPEND进内表,否则内表中不会有任何数据!!!下面用两个案例来进行演示!(使用的表为索引表)


案例代码演示(使用APPEND语句)

DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT. "参照数据库表sflight定义内表
DATA:GS_SFLIGHT TYPE SFLIGHT. "参照数据库表sflight定义工作区
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20221031'.
GS_SFLIGHT-PRICE = 1500.
APPEND GS_SFLIGHT TO GT_SFLIGHT. "将工作区中数据插入内表中
MODIFY SFLIGHT FROM TABLE GT_SFLIGHT.

效果演示(使用APPEND语句)

0dde8c6e7e7c387e71cc01a71221d11.png


案例代码演示(不使用APPEND语句)

DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT. "参照数据库表sflight定义内表
DATA:GS_SFLIGHT TYPE SFLIGHT. "参照数据库表sflight定义工作区
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20221031'.
GS_SFLIGHT-PRICE = 1500.
MODIFY SFLIGHT FROM TABLE GT_SFLIGHT.

效果演示(不使用APPEND语句)

edd89748f5b6566bf0bc179304557bf.png



表头

表头的含义

        表头是一个与内表名字相同的工作区,需要在创建内表时最后使用【WITH HEADER LINE】语句进行定义,对于拥有表头的内表来说,其增删查改语句相较没有表头的内表可以进行简化,下面会列出常用的对比

含表头内表的创建


下面用一个案例来进行演示:

DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT WITH HEADER LINE. "参照数据库表sflight定义含表头内表

1fd988c1d4abe284fabd98ceacb9062.png

PS:

1)表头行的符号是一顶帽子;

2)指定内表需要在后面加上"[]",比如指定GT_SFLIGHT内表需要写成"GT_SFLIGHT[]",否则系统会认为GT_SFLIGHT是同名工作区



带表头内表与不带表头内表语句比较

PS:【wa】代表工作区,【itab】代表内表

- 所有内表(Standard,Sorted,Hashed Type)

不带表头时使用的语句 带表头时使用的语句
INSERT wa INTO TABLE itab. INSERT TABLE itab.
COLLECT wa INTO itab COLLECT itab.
READ TABLE itab... INTO wa. READ TABLE itab...
MODIFY TABLE itab FROM wa. MODIFY TABLE itab...
MODIFY itab FROM wa... WHERE... MODIFY itab... WHERE...
DELETE TABLE itab FROM wa. DELETE TABLE itab.
LOOP AT itab INTO wa... LOOP AT itab...

- INDEX表(Standard,Sorted Type)

不带表头时使用的语句 带表头时使用的语句
APPEND wa TO itab. APPEND itab.
INSERT wa INTO itab... INSERT itab.
MODIFY itab FROM wa... MODIFY itab...
目录
相关文章
|
8月前
|
存储 人工智能 JSON
用 SAP ABAP 接入国内 AI 产品通用接口技术指南 1、调用AI接口
SAP 系统与国内先进的 AI 产品(如百度文心一言、阿里通义千问、字节跳动云雀模型、华为盘古大模型、豆包、Deepsheek 等)集成通用接口技术指南
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
719 0
SAP ABAP 内表排序 动态字段排序
对于动态内表排序引用ABAP_SORTORDER_TAB
521 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
217 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
436 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
1168 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
317 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
412 0
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
365 0
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
2682 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录