FOR ALL ENTRIES IN itab WHERE cond使用注意事项:
1.SELECT CARRID
CONNID
PRICE
FROM SFLIGHT
INTO TABLE IT_PRICE
FOR ALL ENTRIES IN IT_SFLIGHT
WHERE CARRID = IT_SFLIGHT-CARRID
AND CONNID = IT_SFLIGHT-CONNID'.
在 WHERE 条件中,IT_SFLIGHT-CARRID和IT_SFLIGHT-CONNID这些列将用作占位符。
该 SELECT 语句的结果集是 SELECT 语句的所有结果集的联合,
这些结果集是用内部表 IT_SFLIGHT 中的相应值在每一行上替换占位符的结果。
实际上该WHERE子句的特殊变式就是下面WHERE基本语句的简略写法。
SELECT DISTINCT CARRID
CONNID
PRICE
FROM SFLIGHT
INTO TABLE IT_PRICE
WHERE ( CARRID = 'LH' AND
CONNID = '2415' ) OR
( CARRID = 'SQ' AND
CONNID = '0026' ) OR
( CARRID = 'LH' AND
CONNID = '0400' ) .
2.使用该语句,对于最后得出的结果集系统会自动删除重复行。
因此如果你要保留重复行记录时,记得在SELECT语句中添加足够键值项目
(有必要时,增加全部键值项目),
以保证结果集中所需重复项目不会被删除。
(例如选取支付金额时,支付事件可能不同,但金额可能相同,
此时一定要注意,以避免错误删除结果记录。)
3.FOR ALL ENTRIES IN后面使用的内部表itab如果为空,系统将视为无条件选取,
将当前CLIENT下所有记录选出。因此为避免无意义的全件检索,
在使用该语句前一定要判断内部表itab是否为空,为空时不执行包含该语句的数据库检索处理。
4.由于itab-f实际上是作为占位符被替换,所以内部表itab中不要包含HEADER行(项目标识名称行),
以免造成混淆,检索出错。
5.内部表itab中作为条件替换用项目的类型和长度,
一定要和检索数据库中对应的项目相同,否则编译不能通过。
6.对于内部表itab中作为条件替换用项目,不能使用LIKE,BETWEEN,IN比较操作符。
因为这些比较操作符都是不确定比较操作符(将选择条件设定在一个范围内),
而FOR ALL ENTRIES IN语句的作用相当于将选择条件块全部并列开来,用OR连接,
如果每个OR分支中又是不确定的范围,那么系统性能将大大降低,
因此R/3系统在使用该语句时禁止使用不确定比较操作符。
7.使用该语句时,ORDER BY语句和HAVING语句将不能使用。
8.使用该语句时,除COUNT( * )以外的所有合计函数(MAX,MIN,AVG,SUM)都不能使用。
分享到:
相关推荐
这个东西是从别人的成果,我只是把它从网页上面复制到word里面了。不过根据本人实际测试for all entries 能不用就尽量不要用,如果是key field的时候可以考虑一下
ABAP for all entries使用中注意的问题
用FOR ALL ENTRIES IN 语句搜索 与用 IN语句搜索数据库效率对比
sap press doc 解压密码:abap_developer
ABAP中SQL语法详细介绍,包括基础语法和各种聚合函数,如MAX,MIN,AVG,COUNT,SUM,DIV,MOD,CEIL,FLOOR,DIVSION,ROUND,FOR ALL ENTRIES IN.除了各种聚合函数还有字段拆分,连接,子语句查询,字段类型转换,分情况赋值...
ABAP-FOR ALL ENTRIES IN 注意点 ABAP-根据T-CODE找BADI ABAP-根据T-CODE找BAPI ABAP-UPLOAD文件时常用的数据转换 关于using和changing 程序之间的调用 报表中所用到的事件以及作用 SAP-ABAP SELECT-SCREEN 的几...
Registry entries and MFC class that associates a file extension with a program.(20KB)
PDF to Word Converter是一款享有良好口碑的能将PDF格式转到Word格式的软件。并且能分离出BMP,JPG,PNG等格式的图片。 Pro版带有45种语言的选择和7种外观选择。
yalmip解决电力系统机组组合问题范例1的资源分为详细介绍yalmip解决机组组合问题的文档和相应的代码。后续将继续推出相关范例
rcvlist_all - list for unfiltered entries (no filter operations) rcvlist_eff - list for single extended frame (EFF) entries rcvlist_err - list for error message frames masks rcvlist_fil - list for ...
日志条目设置docker 镜像是一台 Linux 机器,就像任何其他机器一样,因此设置 LogEntries 就像在标准服务器上一样简单。 诀窍是知道在哪里输入命令。 如果您宁愿跳过该示例,而是在您自己的 Docker 容器上设置 Log...
Mask for Windows - PRWin98 v4.00 November 1998 (c) Copyright Peter R. Jupp, 1994-98 ------------------------------------ --------------------- HOW TO VIEW THIS FILE --------------------- To view ...
这是Hadoop实战手册中提供的例子所需要的数据
执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 ... ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。...
Add entries to combo box.
用作容器将您所有容器的日志转发到Logentries的最简单方法是使用以下容器作为容器运行此存储库: docker run -v /var/run/docker.sock:/var/run/docker.sock \ --read-only \ --security-opt=no-new-privileges \ ...
allEntries 意思是:是否删除整个缓存(value中指定的值),默认是false 当为true时,会把所有value对应的缓存全部删除 当为false时,此时只会删除该key值的缓存 beforeInvocation参数 beforeInvocation的意思是...
It by provides formatted HTML display of the log messages, merges multi-line entries while preserving whitespace formating, adds some highlighting for common elements (such as file paths, quoted ...
All entries of the table must have an absolute error less than 10-10. This problem is based on a problem from Hamming (1962), when mainframes were very slow by today's microcomputer standards.
NULL 博文链接:https://zhenghuazhi.iteye.com/blog/1553347