我有一个内部表,例如:
TYPES: BEGIN OF gty_min_jobs,
orgeh TYPE zgerpt_rnk_min-orgeh1,
mnsty TYPE zgerpt_rnk_min-mnsty,
mshort TYPE zgerpt_rnk_min-mshort,
position TYPE hrp1001-sobid,
job TYPE hrp1001-sobid,
job_grade TYPE hrp9003-jobgr,
scheme TYPE hrp9003-pg,
END OF gty_min_jobs.
DATA: gt_min_jobs TYPE TABLE OF gty_min_jobs,
gwa_min_jobs TYPE gty_min_jobs.
我需要从 3 个不同的数据库表中填充此表:zgerpt_rnk_min、hrp1001 和 hrp9003。
我需要:
SELECT orgeh msty mshort FROM zgerpt_rnk_min INTO gt_table1.
SELECT position FROM hrp1001 INTO gt_table2
FOR ALL ENTRIES IN gt_table1
WHERE objid = gt_table1-orgeh AND
otype = 'O' AND
sclas = 'S' AND
begda LE p_keydt AND
endda GE p_keydt AND
plvar ='01' AND
istat = '1' AND
objid IN (pnpobjid).
SELECT job FROM hrp1001 INTO gt_table3
FOR ALL ENTRIES IN gt_table2
WHERE objid = gt_table2-position AND
otype = 'S' AND
sclas = 'C' AND
begda LE p_keydt AND
endda GE p_keydt.
SELECT job_grade scheme FROM hrp9003 INTO gt_table4
FOR ALL ENTRIES IN gt_table3
WHERE objid = gt_table3-job AND
begda LE p_keydt AND
endda GE p_keydt.
使用各种循环将我的数据组合到我的内部表中。最有效的方法是什么?是否可以使用内部连接一次性选择所有需要的数据?如果是这样,我将如何合并所有 WHERE 条件?感谢任何指针!