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)都不能使用。
分享到:
相关推荐
"SAP For All Entries 的效率分析" 在 SAP 系统中,有一个常用的语句是 "for all entries”,它通常用来在 ABAP 程序中实现表的Join 操作。但是,这个语句也存在一些缺陷,特别是在大型表格中使用时,性能会下降。...
在ABAP编程环境中,"ABAP for all entries使用中注意的问题"这一主题深入探讨了在进行数据处理和数据库查询时,使用FOR ALL ENTRIES IN语句的一些关键注意事项和潜在陷阱。FOR ALL ENTRIES IN是一种强大的工具,允许...
在SAP ABAP编程中,查询数据库记录时,有两个主要的搜索方法:`FOR ALL ENTRIES IN` 和 `IN` 语句。本文件通过一个实际的代码示例比较了这两种方法在执行效率上的差异。 首先,让我们了解两种语句的基本概念: 1. ...
### SAP命令大全之ABAP "FOR ALLENTRIES IN" 使用指南 #### 一、引言 在SAP的ABAP编程环境中,为了处理复杂的数据库查询和数据管理任务,开发人员经常需要利用各种高级功能和技术。其中之一就是“FOR ALLENTRIES IN...
SQL 优化是 SAP 系统性能调优的重要部分,包括 For all entries in、执行顺序、索引等多个方面。正确的索引和字段顺序可以大大提高 SQL 语句的执行效率。 多进程处理是 SAP 系统性能调优的另一个重要方面,包括 SAP...
3. 该语句使用了FOR ALL ENTRIES子句,这是SAP SQL的一个特性,它允许在内部表(I_BADD)中的每一行上执行外部查询,这里检查了AUFNR和DWERK字段以获取匹配的AFPO记录。 4. 计数查询用于计算满足特定条件的记录数量...
根据给定的SAP PA考试样题及其描述,我们可以从中提炼出关于SAP PA(Performance Analysis)考试的关键知识点,特别是与SAP Business All-in-One中Incident Management相关的部分。以下是对这些样题所涵盖的核心概念...
(1)必须要判断For All Entries In后面的内表是否为空,如果它为空的话,那么在where条件中的与内表中字段进行比较的结果全部为真,也就是全部满足条件,这会导致取出非常多的数据,极大地影响系统的性能。...
APPEND ( VALUE rs_exTab ) FOR ALL ENTRIES OF rt_exTab WHERE rs_exTab-fcode IN ('&EB9', '&AQW', '%SL', '&ABC', '&RNT_PREV'). SET_PF-STATUS 'S100' EXCLUDING rs_exTab. ``` 这里,我们首先清空了`rs_exTab`...
ABAP中SQL语法详细介绍,包括基础语法和各种聚合函数,如MAX,MIN,AVG,COUNT,SUM,DIV,MOD,CEIL,FLOOR,DIVSION,ROUND,FOR ALL ENTRIES IN.除了各种聚合函数还有字段拆分,连接,子语句查询,字段类型转换,分情况赋值...
常用的 SQL 优化方法包括索引的正确使用、执行顺序的优化、For all entries in 语句的优化等。 SAP 系统性能指标 SAP 系统性能指标是指对 SAP 系统性能的评估和监控。常用的 SAP 系统性能指标包括 Response Time、...
点击“NewEntries”,然后定义新客户端,例如790,设置相关参数,如Logical system: QAS(之前定义的逻辑系统)、City: Henan.zhenzhou、Std currency: RMB、Client role: Customizing(可根据需求选择其他角色)、...
sap press doc 解压密码:abap_developer
### SAP Community Network Wiki - Process Integration - XI Tables 在SAP Process Integration (PI)或SAP Cloud Platform Integration (Integration Suite)的上下文中,了解SAP系统内部使用的表结构对于解决技术...
在“New Entries”中设置Client ID为790,指定逻辑系统、描述、币别、角色和其他参数。 4. **自动记录变化**:确保“Automatic recording of changes”和“Cross-Client Object Changes”的设置,允许对资源库和跨...
使用SELECT...FOR ALL ENTRIES代替多个SELECT或SELECT SINGLE;使用INSERT、UPDATE、MODIFY和DELETE的数组变体;减少搜索开销,例如定义和使用合适的辅助索引;并且保持数据库负载合理,避免不必要的数据冗余读取,...
**Journal Entries (SBO)** - **功能**:用于管理日记账。 - `Add`: 添加新的日记账。 - `GetByKey`: 获取指定日记账的信息。 - `Remove`: 删除指定日记账。 - `SaveXML`: 将日记账信息保存为XML格式。 - `Update`...
Understanding the structure and functionality of these tables is essential for anyone working with SAP BW. Below, we will explore each table, discussing its purpose, typical use cases, and how it ...
### SAP常用TCODE详解 #### 一、资产会计(Asset Accounting) **TCODE:** AARC **功能描述:** 档案资产会计(Archiving Asset Accounting) **用途:** 用于执行资产会计数据的归档操作。 **TCODE:** AAVN **功能...
例如,对于10万行的订单行项目内表,通过FOR ALL ENTRIES查询交货单行项目可能不如使用SELECT SINGLE并直接在循环中修改内表高效。 4. **其他性能优化技巧**: - 使用`INTO CORRESPONDING FIELDS OF TABLE`结构来...