完全拒绝abap中的GET事件
Completely reject a GET event in abap
我想知道 GET
事件在没有真正调用它(或只调用它一次)的情况下会发生多少次。
到现在为止,我知道如何获得迭代总数:lines( (ldb_include)node_table[] )
,但这只有在调用了 GET
并且调用了 GET
时才有效调用,它将遍历 node_table,如果它有 8798237 个条目,它们都将是 PUT
,但由于我已经有了迭代次数(这就是我所需要的),我不想把所有的值都放好。
我可以使用REJECT
离开GET
,但它只会进入下一次迭代...目前,我不知道如何完全退出GET。
我试过使用 STOP
,但它会立即引发 end-of-selection
的事件,这不是我想要的...
at selection-screen output.
"process the selection screen
start-of-selection.
get <node_tab>
"lv_total = lines( (ldb_include)node_table[] )
"some sort of REJECT to all get events
"continue processing the rest of the code, using the lv_total
end-of-selection.
"display the output
我可以使用像
这样的标志来实现它
if first execution = abap_true. "process it
else reject <node_tab>.
但在所有情况下,它都会遍历所有 GET 事件,这与这个想法背道而驰。我想知道是否有更聪明(可能更优雅)的方法来只迭代第一个 GET,并跳过所有其他的。
这就像说有一个连接了table的数据库视图,但是不需要一个table,如何让程序读取视图但告诉数据库不读取一个table...
不可能!
唯一的解决办法是复制和改编Logical Database。就这么简单。
当然,逻辑数据库已经过时很长时间了,所以更喜欢使用数据库连接,或者其他更好的方法。
我想知道 GET
事件在没有真正调用它(或只调用它一次)的情况下会发生多少次。
到现在为止,我知道如何获得迭代总数:lines( (ldb_include)node_table[] )
,但这只有在调用了 GET
并且调用了 GET
时才有效调用,它将遍历 node_table,如果它有 8798237 个条目,它们都将是 PUT
,但由于我已经有了迭代次数(这就是我所需要的),我不想把所有的值都放好。
我可以使用REJECT
离开GET
,但它只会进入下一次迭代...目前,我不知道如何完全退出GET。
我试过使用 STOP
,但它会立即引发 end-of-selection
的事件,这不是我想要的...
at selection-screen output.
"process the selection screen
start-of-selection.
get <node_tab>
"lv_total = lines( (ldb_include)node_table[] )
"some sort of REJECT to all get events
"continue processing the rest of the code, using the lv_total
end-of-selection.
"display the output
我可以使用像
这样的标志来实现它if first execution = abap_true. "process it
else reject <node_tab>.
但在所有情况下,它都会遍历所有 GET 事件,这与这个想法背道而驰。我想知道是否有更聪明(可能更优雅)的方法来只迭代第一个 GET,并跳过所有其他的。
这就像说有一个连接了table的数据库视图,但是不需要一个table,如何让程序读取视图但告诉数据库不读取一个table...
不可能!
唯一的解决办法是复制和改编Logical Database。就这么简单。
当然,逻辑数据库已经过时很长时间了,所以更喜欢使用数据库连接,或者其他更好的方法。