ABAP工作区与表工作区的区别

2016-08-29 浏览
请教大家一个问题:ABAP工作区与表工作区的区别?1.比如data:begin of txt
x type i,
y type c,
end of txt.txt就是一个工作区是吗?into时只能记录一条信息,append就可以多条信息是吧,date txt1 type table of txt如果Tables txt1.就是一个表区域是不?Tables txt这个是不是一个表工作区呢?然后modify txt1 from txt就是修改一条数据modify txt1 from table txt就是修改多条数据是吗?
答:内表(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 选项。这样 ,表格工作 区域就代替 行。
免费注册