关于 SAP 内表及工作区
> 内表(internal table)和工作区(work area)的区别
ABAP/4 的 Internal Table 如同其他语言的数组结构,在操作上可以有复制,
删除,新增等功能,可以存很多条记录,并且 ABAP 的这种用法,对行数没什
么限制。
WORK AREA 就是其他语言的结构,象自定义的一个类型一样,但一旦创建一
个 Internal Table 之后,WORK AREA 就成了外界跟 Intertal Table 的交流
口,每条记录的进入和取出都得通过它。并且在清除它们的时候要分开来清除。
要用 MODIFY 语句更改行 ,请使用:
语法
MODIFY <itab> [FROM <wa>] [INDEX <idx>].
FROM 选项中指定 的工作区域 <wa> 代替 <itab> 中的行。如 果表格有表
头行,可以 忽略 FROM 选项。这样 ,表格工作 区域就代替 行。
如果使用 INDEX 选项,则新 行代替索引 为 <idx> 的现有行。 如果替换成
功,则将 SY-SUBRC 设置为 0。 如果内表包 含的行少于 <idx>, 则不更改
任 何行并且 SY-SUBRC 包含 4。
如果使用没 有 INDEX 选项的 MODIFY 语句,则系 统只能在 LOOP -
ENDLOOP 块中通过更 改当前行( 例如由 SY-TABIX 返回其索引 的行)来处
理它。
modify 是用来更新内表的!
评论0
最新资源