如主题中所述,我希望在另一个内部表中拥有一个内部表的条件子集。
让我们先看看,它可能看起来像老式的方式。
DATA: lt_hugeresult TYPE tty_mytype,
lt_reducedresult TYPE tty_mytype.
SELECT "whatever" FROM "wherever"
INTO CORRESPONDING FIELDS OF TABLE lt_hugeresult
WHERE "any_wherecondition".
IF sy-subrc = 0.
lt_reducedresult[] = lt_hugeresult[].
DELETE lt_reducedresult WHERE col1 EQ 'a value'
AND col2 NE 'another value'
AND col3 EQ 'third value'.
.
.
.
ENDIF.
我们都可能知道这一点。
现在我正在阅读有关减少表格的内容,它是由abap 7.40引入的,似乎是SP8。
表格理解——功能性地构建表格
表驱动:
VALUE tabletype( FOR line IN tab WHERE ( … )
(……线-…………线-…………))
对于源表中的每个选定行,在结果表中构造一行。值构造函数从静态行数到动态行数的泛化。
我正在对此进行试验,但结果似乎并不适合,也许我做错了,或者我什至可能需要条件驱动的方法。
那么,如果我想用表格理解技术编写上述语句,它会是什么样子?
到现在为止,我有这个,而不是提供我需要的东西,而且我已经看到,似乎“不相等”是不可能的......
DATA(reduced) = VALUE tty_mytype( FOR checkline IN lt_hugeresult
WHERE ( col1 = 'a value' )
( col2 = 'another value' )
( col3 = space )
).
有人有一些提示吗?
编辑:似乎仍然无法正常工作。这是,就像我这样做:
可执行行:
调试器结果:
错误减少:
现在怎么办 ???