在ABAP中,如何使用循环将所有数据选择到我的内部表中?

您可以使用多种方法来检查程序的性能。根据我的理解,您可以像这样连接所有表:

SELECT t11~orgeh t11~msty t11~mshort t12~position t13~job t14~job_grade t14~scheme
   INTO gt_my_combined_table
   FROM zgerpt_rnk_min as t11
   JOIN hrp1001 as t12
   ON t11~orgeh = t12~objid
   JOIN hrp1001 as t13
   ON t12~position = t13~objid
   JOIN hrp9003
   ON t13~job = t14~objid
WHERE t12~otype = 'O' AND
   T12~sclas = 'S' AND
   T12~begda LE p_keydt AND
   T12~endda GE p_keydt AND
   T12~plvar ='01' AND
   T12~istat = '1' AND
   T12~objid IN (pnpobjid) AND
   T13~otype = 'S' AND
   T13~sclas = 'C' AND
   T13~begda LE p_keydt AND
   T13~endda GE p_keydt AND
   T14~begda LE p_keydt AND
   T14~endda GE p_keydt.

该语句的主要问题在于,很难确定要使用哪个键或索引,从而使其效率低下。

要检查程序的运行时,可以使用T代码:SAT,它确定程序中最有效的语句,并提供提高性能的想法。

您也可以使用T代码ST05来测量程序的性能。此事务用于在SAP系统中运行性能跟踪。