点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好!
此示例是否有新语法?
下表是带有两列C1/C2的内部表(itab):
C1 C2
X 1
X 2
Y 1
Y 5
Z 5
现在,我要删除发生C2 = 1的所有条目,条件是,如果C1的一个条目的C2 = 1,那么C1的所有相同条目也将被删除。/p>
结果应如下:
C1 C2
Z 5
这意味着:
C1 C2
X 1-> C2 = 1!
X 2-> C2为1,因此条目也被删除
Y 1->与X 1相同
Y 5->与X 2相同
Z 5->没有发生C2 = 1,这就是保持该记录的原因。
有什么新语法吗?
还..如何获得此结果?
亲切的问候
没有特定于您的确切要求的"新语法"(您的意思是构造函数表达式)。
但是您当然可以用构造函数表达式编写它,不确定是否大多数可读性 的开发人员),或多或少是这样的:
从同一表中获取C1和C2?
Pascal Ditzel ,
您正在使用哪个GUI版本?
< p>如果您使用的是7.5或更高版本,则可以按如下所述直接在内部表中写入select查询。1)尝试从内部表中C2 = 1
2)现在只需从内部表中删除条目,其中C1的值等于从上面获取的值。
致谢!
如果" LOOP AT GROUP BY"被认为是新语法,然后还有另一个变体:
还有一个(使用范围):
如果我理解您的要求是正确的...
将表itab放入wa1。
如果wa1-c2 NE'1'。
使用键c1 = wa1-c1 c2 = 1将表Itab放入wa2中。
IF sy-subrc NE0。"该记录的行的C2 NE 1和C1值在任何其他记录中也不包含1。
将其移动到临时的ITAB。
ENDIF。
ENDLOOP。
现在,临时itab应该具有您需要保留的记录。
使用itab1的所有条目选择itab1的查询将不起作用,因为FOR ALL ENTRIES和@itab不能一起使用。
我在这里有点吵。 不过,这不是New语法。
选择c1,c2
FROM数据库
c2 NE 1所在的位置
AND c1 NOT IN(从db中选择c1,其中c2 NE 1)
一周热门 更多>