什么是工作区?
什么是工作区?简单来说,工作区是单行数据。它们应具有与任何内部表相同的格式。它用于一次处理一行内部表中的数据。
内表和工作区的区别 ?
一图胜千言
内表的类型
有两种类型的内表:
- 带 Header 行的内表
- 不带 Header 行的内表
带 header 行的内表
-
这种类型下,系统会自动创建工作区。
-
工作区的数据类型与内表相同。此工作区称为 Header 行。
-
对内表内容的所有更改或任何操作都完成了。因此,可以直接将记录插入到表中,也可以直接从内表中访问。
不带标题行的内表
-
这种类型,此处没有与表关联的工作区
-
当我们需要访问此类内表时,需要显示指定工作区
-
因此,无法直接访问这些内表。
创建内表
创建内表的方法有很多,我们一起来看看:
1. 通过使用 type
语句
现在让我们使用 TYPE
语句创建一个内表 itab
,语法是:
TYPES begin of line,empno type i,empname(20)type c,
end of line.
TYPES 语句将创建定义的结构行。要实际创建内部表 itab,请使用以下命令。数据 itab 类型行出现 10.
DATA itab TYPE line OCCURS 10.
使用 line 的结构创建内部表 itab。除了声明内部表的结构外,OCCURS 子句还定义了在主存储中维护了多少个表条目(在本例中为 10 个)。额外的记录将写出到分页区域,并可能影响性能。
2. 通过引用另一个表
您可以参考已有的 Table 创建内表。现有表可以是标准 SAP 表、Z 表或其他内表。
DATA itab TYPE line occurs 10 with header line.
这里创建了一个内表 itab
,类型为带标题行的行。请注意 with header line”是可选项
3. 通过引用存在的结构体
DATA itab LIKE sline OCCURS 10.
这里创建的表 itab
的结构与 sline
的结构相同
4. 通过创建一个新的结构体
现在,让我们用自己的结构创建一个内部表格。默认情况下,创建的表格带有标题行。
Data : Begin of itab occurs 10,column1 type I,column2(4) type C,column3 like mara-ernam,End of itab.
参考链接:
- https://www.guru99.com/all-about-sap-internal-tables.html