fply fpxgzt cgddh *修改后的数据 fpha fpdma zwsbma fprqa gfsha xfsha jea sea *扫描数据
fph fpdm zwsbm fprq gfsh xfsh je se *其他信息
fpysry fpysrq fpyszt fpyzrq fpyzpzh * fpgzpzh yzpznd * gzpznd * fpgzrq fpsbrq fpsbje fpsbse * FPCSPC wjlj wjmc doknr
INTO CORRESPONDING FIELDS OF TABLE it_zmm_fpxx FROM zmm_fpxx
WHERE cgddh IN rs_cgddh \采购凭证号 AND fpdma IN p_fpdma \发票代码 AND fprqa IN p_fprqa \发票日期 AND xfsha IN p_xfsha \供应商税号
AND fpyszt = '1' \验审状态 AND fpysrq IN p_fpysrq \验审日期 AND fpysry IN p_fpysry. IF it_zmm_fpxx[] IS INITIAL.
MESSAGE '查询条件没有对应的数据可以显示!' TYPE 'I'. ELSE.
REFRESH: range_ebeln. LOOP AT it_zmm_fpxx. range_ebeln-sign = 'I'. range_ebeln-option = 'EQ'.
range_ebeln-low = it_zmm_fpxx-cgddh. COLLECT range_ebeln. ENDLOOP.
SELECT DISTINCT belnr
INTO CORRESPONDING FIELDS OF TABLE it_rseg FROM rseg
WHERE ebeln IN range_ebeln. *获取合同金额,不含税金额,税额 PERFORM frm_get_htje. *获取供应商号码和名称
PERFORM frm_get_gys. *获取项目类型,系统状态
PERFORM frm_get_prart. REFRESH: it_belnr, it_awkey. LOOP AT it_zmm_fpxx.
IF it_zmm_fpxx-fpyzpzh IS NOT INITIAL. it_belnr-belnr = it_zmm_fpxx-fpyzpzh. it_belnr-gjahr = it_zmm_fpxx-yzpznd. COLLECT it_belnr.
CONCATENATE it_zmm_fpxx-fpyzpzh it_zmm_fpxx-yzpznd INTO it_awkey-awkey.
COLLECT it_awkey. ENDIF. ENDLOOP.
IF it_belnr[] IS NOT INITIAL. SELECT belnr gjahr stblg stjah
INTO CORRESPONDING FIELDS OF TABLE it_rbkp FROM rbkp
FOR ALL ENTRIES IN it_belnr WHERE belnr = it_belnr-belnr
AND gjahr = it_belnr-gjahr. SELECT belnr gjahr budat stblg stjah awkey FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf FOR ALL ENTRIES IN it_awkey WHERE awkey = it_awkey-awkey AND bstat = ''. ENDIF.
LOOP AT it_zmm_fpxx INTO wa_zmm_fpxx. CLEAR: it_rbkp. CLEAR: it_bkpf.
IF wa_zmm_fpxx-fpyzpzh IS NOT INITIAL.
READ TABLE it_rbkp WITH KEY belnr = wa_zmm_fpxx-fpyzpzh gjahr = wa_zmm_fpxx-yzpznd. IF sy-subrc = 0 AND it_rbkp-stblg <> ''. CLEAR: wa_zmm_fpxx-fpyzpzh, wa_zmm_fpxx-yzpznd, wa_zmm_fpxx-fpyzrq. UPDATE zmm_fpxx SET fpyzpzh = '' yzpznd = '' fpyzrq = ''
WHERE cgddh = wa_zmm_fpxx-cgddh AND fpha = wa_zmm_fpxx-fpha.
ENDIF.
CONCATENATE wa_zmm_fpxx-fpyzpzh wa_zmm_fpxx-yzpznd INTO l_awkey.
READ TABLE it_bkpf WITH KEY awkey = l_awkey. IF sy-subrc = 0 AND it_bkpf-stblg = ''. wa_zmm_fpxx-fpgzpzh = it_bkpf-belnr. wa_zmm_fpxx-gzpznd = it_bkpf-gjahr. wa_zmm_fpxx-fpgzrq = it_bkpf-budat. ENDIF. ENDIF.
IF wa_zmm_fpxx-fpyzpzh IS NOT INITIAL.
READ TABLE it_rseg WITH KEY belnr = wa_zmm_fpxx-fpyzpzh. IF sy-subrc <> 0.
CLEAR: wa_zmm_fpxx-fpyzpzh,
wa_zmm_fpxx-yzpznd, wa_zmm_fpxx-fpyzrq. UPDATE zmm_fpxx SET fpyzpzh = '' yzpznd = '' fpyzrq = ''
WHERE cgddh = wa_zmm_fpxx-cgddh AND fpha = wa_zmm_fpxx-fpha. ENDIF. ENDIF.
READ TABLE it_htje WITH KEY ebeln = wa_zmm_fpxx-cgddh. IF sy-subrc = 0.
wa_zmm_fpxx-w_hthsje = it_htje-brtwr. wa_zmm_fpxx-w_htje = it_htje-netwr. wa_zmm_fpxx-w_se = it_htje-htse. ENDIF.
READ TABLE it_gys WITH KEY ebeln = wa_zmm_fpxx-cgddh. IF sy-subrc = 0.
wa_zmm_fpxx-lifnr = it_gys-lifnr. wa_zmm_fpxx-name1 = it_gys-name1. ENDIF.
READ TABLE it_prart WITH KEY ebeln = wa_zmm_fpxx-cgddh. IF sy-subrc = 0.
wa_zmm_fpxx-prart = it_prart-prart. wa_zmm_fpxx-anlzu = it_prart-anlzu. ENDIF.
IF wa_zmm_fpxx-fply = 'X'.
wa_zmm_fpxx-fplyms = '手工录入'. ELSE.
wa_zmm_fpxx-fplyms = '自动扫描'. ENDIF.
IF wa_zmm_fpxx-fpxgzt = 'X'. wa_zmm_fpxx-fpxgms = '已修改'. ELSE.
wa_zmm_fpxx-fpxgms = '未修改'. ENDIF.
IF wa_zmm_fpxx-fpyszt = '0'. wa_zmm_fpxx-ysztms = '未验审'. ELSEIF wa_zmm_fpxx-fpyszt = '1'. wa_zmm_fpxx-ysztms = '已验审'. ELSE.
wa_zmm_fpxx-ysztms = '拒绝'. ENDIF.
IF wa_zmm_fpxx-fpsbje = wa_zmm_fpxx-jea. wa_zmm_fpxx-w_fpsbbj = '@5B@'.

