DATA: BEGIN OF wa_esll,
srvpos LIKE esll-srvpos,
ktext1 LIKE esll-ktext1,
packno LIKE esll-packno,
extrow LIKE esll-extrow, "服务行号
END OF wa_esll.
DATA: it_esll LIKE TABLE OF wa_esll WITH HEADER LINE.
SELECT srvpos ktext1 packno extrow INTO CORRESPONDING FIELDS OF TABLE it_esll FROM esll FOR ALL ENTRIES IN it_essr WHERE packno = it_essr-sub_packno.
SORT it_esll BY packno.
LOOP AT it_essr INTO wa_essr.
READ TABLE it_esll WITH KEY packno = wa_essr-sub_packno BINARY SEARCH.
IF sy-subrc EQ 0.
wa_essr-srvpos = it_esll-srvpos.
wa_essr-ktext1 = it_esll-ktext1.
wa_essr-extrow = it_esll-extrow.
ENDIF.
IF wa_essr-nplnr IS NOT INITIAL. *网络号不为空
SELECT SINGLE aufnr pspel INTO it_caufv FROM aufk WHERE autyp = 20 AND aufnr = wa_essr-nplnr. *取AUFK对应的WBS编号
IF sy-subrc EQ 0.
SELECT SINGLE pspnr psphi post1 prart INTO it_prps FROM prps WHERE pspnr = it_caufv-pspel. *取WBS对应的项目编号
IF sy-subrc EQ 0.
wa_essr-pspnr = it_prps-pspnr.
wa_essr-post1 = it_prps-post1.
SELECT SINGLE pspnr post1 pspid profl INTO it_proj FROM proj WHERE pspnr = it_prps-psphi. *取项目编号对应的项目名称
IF sy-subrc EQ 0.
wa_essr-post2 = it_proj-post1.
wa_essr-pspid = it_proj-pspid.
ENDIF.
ENDIF.
ENDIF.
LOOP AT it_xmcbkm INTO wa_xmcbkm WHERE profl = it_proj-profl .
IF wa_xmcbkm-prart IS INITIAL OR wa_xmcbkm-prart = it_proj-pspid(2) .
wa_essr-sakto = wa_xmcbkm-hkont .
ENDIF .
ENDLOOP .
"}
ENDIF.
SELECT SINGLE txt20 INTO wa_essr-saktotxt FROM skat WHERE spras = ‘1’
AND saknr = wa_essr-sakto .
MODIFY it_essr FROM wa_essr.
CLEAR: it_caufv[],it_prps[],it_proj[],wa_essr.
ENDLOOP.