循环更快?

2020-08-27 11:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 是否有一种方法可以使循环...

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

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


你好

是否有一种方法可以使循环更快或以更快的速度替换循环? 我知道"所有条目",但是如果两个字段不兼容怎么办?

 SELECT rqposname RQIDENT
 进入表t_output
 来自tsp01
 在哪里rqposname EQ lv_email。

 在t_output ASSIGNING FIELD-SYMBOL()处循环。
 选择单作业名程序名变体listident
 INTO(-职位名称,-程序名称,-变体, -listident)
 来自tbtcp
 在哪里listident EQ  -rqident
 AND listident NE'0'。
 ENDLOOP。

即使t_output中只有" 1300"行,这也需要几分钟。

有什么提示吗?

谢谢。

11条回答
wang628962
2020-08-27 12:04

你好Nils Bla

如果不是CDS视图,则可以使用以下代码作为解决方案。

 TYPES:BEGIN OF ty_tsp01,
          rqposname TYPE tsp01-rqposname,
          rqident TYPE tbtcp-listident,
        结束于ty_tsp01。

 数据:lv_email TYPE tsp01-rqposname,
       ls_tsp01 TYPE ty_tsp01,
       lt_tsp01 ty_tsp01的类型标准表。

 SELECT rqposname,rqident
 来自tsp01
 在哪里rqposname EQ @lv_email
 插入表@DATA(t_tsp01)。
 如果sy-subrc EQ 0。
   按rqident排序t_tsp01。
   循环t_tsp01 INTO DATA(ls_temp)。
     清除:ls_tsp01。
     ls_tsp01-rqposname = ls_temp-rqposname。
     ls_tsp01-rqident = ls_temp-rqident。
     附加ls_tsp01至lt_tsp01。
   结局。
 万一。

 选择工作名称,
        姓
        变体
        Listident
 来自tbtcp
 对于@ lt_tsp01中的所有条目
 在哪里listident = @ lt_tsp01-rqident和
       listident NE 0
 插入表@DATA(t_tbtcp)。
 如果sy-subrc EQ 0。
   SORT t_tbtcp BY listident。
 ENDIF。

致谢!

一周热门 更多>