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

在ABAP中常用的SQL是SAP自带的OPEN SQL,它与NATIVE SQL不同,还要多一层解析的过程。因此,在ABAP中使用多表JOIN(>3)的效率远小于将数据存储到内表后,再对内表进行后续的操作。
而内表,实际上就是一个临时存储空间,有效的范围是当前程序;
而工作区,实际上就是一个结构,它与内表的区别就是,内表存放的是多条记录,而工作区是一条;
1.为什么对于内表的操作要在工作区进行?
1:对于大多数的处理内表是无法批量更新的,因此内表的操作要将数据放在工作区进行,然 后处理完后更新到内表。
2.SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MARA
WHERE xxxxxxxxx
这样的语句不就是在直接对ITAB这个内表进行了直接的操作吗?

2:你的这个SQL只是将数据存放到内表中,并没有做任何其他的操作。

猜你喜欢

转载自blog.csdn.net/weixin_43734184/article/details/104040443