在FOR循环表达式中添加CHECK或CONTINUE

2020-08-17 20:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尝试。 et_agen...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尝试。
     et_agents = VALUE#(基础et_agents
                          在l_agents中使用ls_agent
                  LET check = NEW zcl_te_pos_deleg(CONV#(ls_agent-objid)
                               )-> is_within_limit(CONV#(iv_amount))
                  在
                   (COND#(当check = abap_true时
                             然后对应#(ls_agent)
                             其他抛出恢复zcx_swf_no_agent_found()
                           )
                   )
                       )。
 取消缠绕之前捕获zcx_swf_no_agent_found。
   恢复。
 ENDTRY。

 在表_行为INITIAL的地方删除et_agents。" <-我想避免这样做
 

问题在于,在引发异常并将其恢复后,在处理下一个IT_AGENTS迭代之前,在表ET_AGENTS中附加了空行。

FOR LOOP表达式中是否有一种方法像CHECK或CONTINUE语句一样,就像在传统的LOOP/ENDLOOP语句中一样?

谢谢

So田。

3条回答
闻人可可
2020-08-17 21:34

你好Sougata,

出于好奇。

为什么只用几行就可以使用旧语法来实现新语法呢?

在it_agents中循环引用数据(ld_source_agent  )。
   检查新的zcl_te_pos_deleg(CONV#(ls_agent-objid))-> is_within_limit(CONV#(iv_amount))。
   将初始行附加到et_agents参考到DATA(ld_result_agent)。
   将ld_source_agent-> *移动到ld_result_agent-> *。
 ENDLOOP。

亲切的问候,
Mateusz

一周热门 更多>