SAP SD客户对账开票功能分享
一、功能逻辑


























二、功能界面


三、功能代码
*&---------------------------------------------------------------------*
*& 程序名: ZRPSD045
*& 创建者(公司)/日期:
*& 程序描述:
*& 客户对账开票功能
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*&
*&---------------------------------------------------------------------*
REPORT zrpsd045s.
INCLUDE zrpsd045s_top.
INCLUDE zrpsd045s_scr.
INCLUDE zrpsd045s_f01. "主程序处理逻辑
START-OF-SELECTION.
PERFORM frm_init.
IF r_khdz = 'X'.
CLEAR:gt_alv[],gs_alv,gt_excel[].
REFRESH:gt_price_in,gt_price_out.
PERFORM frm_get_excel.
PERFORM frm_khdz.
PERFORM frm_check_date ."检查开票日期
ELSEIF r_gsjxs = 'X'.
CLEAR:gt_alv[],gs_alv,gt_excel[].
REFRESH:gt_price_in,gt_price_out.
PERFORM frm_get_excel.
PERFORM frm_gsjxs.
PERFORM frm_check_date ."检查开票日期
ELSEIF r_hwjsyt = 'X'.
CLEAR:gt_alv[],gs_alv.
REFRESH:gt_price_in,gt_price_out.
PERFORM frm_hwjsyt.
PERFORM frm_check_date ."检查开票日期
ELSEIF r_gsjcg = 'X'.
CLEAR:gt_alv[],gs_alv.
PERFORM frm_gsjcg.
ELSEIF r_dsfxs = 'X'.
CLEAR:gt_alv[],gs_alv.
REFRESH:gt_price_in,gt_price_out.
PERFORM frm_dsfxs.
ENDIF.
SORT gt_alv BY vbeln posnr.
"20231124 add by jc.zhou
"价格主数据单价:货币=VND时,ALV界面扩大两位小数显示
"税率:货币=VND时,ALV界面缩小两位显示
PERFORM UPDAT_DATA CHANGING GT_ALV.
"end
PERFORM frm_build_fieldcat.
PERFORM frm_display_data.
*&---------------------------------------------------------------------*
*& 包含 ZRPSD045_TOP
*&---------------------------------------------------------------------*
TABLES: LIKP,VBAP,LIPS,VKDFS, SSCRFIELDS.
DATA: BEGIN OF ITAB_KFGH OCCURS 0 ,
ZCSPERSON LIKE ZTSD003-ZCSPERSON,
BEZEI LIKE ZTSD003-BEZEI,
END OF ITAB_KFGH.
TYPES: BEGIN OF TY_ALV,
PRSDT TYPE SY-DATUM, "定价日期
ZSEQ TYPE I, "生成发票序号
EBELP TYPE EKPO-EBELP,
CELL_COLOR TYPE LVC_T_SCOL. "颜色控制
INCLUDE STRUCTURE ZSSD045.
TYPES END OF TY_ALV.
DATA: GT_ALV TYPE TABLE OF TY_ALV,
GS_ALV TYPE TY_ALV,
GS_ALV_TEMP TYPE TY_ALV.
DATA: GT_FCAT TYPE LVC_T_FCAT,
GS_FCAT TYPE LVC_S_FCAT,
GS_LAYO TYPE LVC_S_LAYO,
GS_COLOR TYPE LVC_S_SCOL,
GS_SETTINGS TYPE LVC_S_GLAY.
DATA: BEGIN OF GT_TVLKT OCCURS 0,
VBART TYPE VKDFS-VBART,
VTEXT TYPE TVLKT-VTEXT,
END OF GT_TVLKT.
DATA: GT_TVKOT TYPE TABLE OF TVKOT WITH HEADER LINE,
GT_T001W TYPE TABLE OF T001W WITH HEADER LINE.
DATA: BEGIN OF GT_ZTSD003 OCCURS 0,
ZCSPERSON TYPE ZTSD003-ZCSPERSON,
BEZEI TYPE ZTSD003-BEZEI,
END OF GT_ZTSD003.
DATA: BEGIN OF GT_ZTSD002 OCCURS 0,
ZSALESPERSON TYPE ZTSD002-ZSALESPERSON,
BEZEI TYPE ZTSD002-BEZEI,
END OF GT_ZTSD002.
DATA: BEGIN OF GT_T178T OCCURS 0,
KONDM TYPE T178T-KONDM,
VTEXT TYPE T178T-VTEXT,
END OF GT_T178T.
DATA: FUNCTXT TYPE SMP_DYNTXT.
DATA:GT_PRICE_IN TYPE TABLE OF ZSSD_PRICE_QUERY_IN WITH HEADER LINE,
GT_PRICE_OUT TYPE TABLE OF ZSSD_PRICE_QUERY_OUT WITH HEADER LINE.
DATA:BEGIN OF GS_EXCEL,
VBELN TYPE LIPS-VBELN,
POSNR TYPE LIPS-POSNR,
LFIMG TYPE LIPS-LFIMG,
END OF GS_EXCEL,
BEGIN OF GS_BWB,
VKORG TYPE TVKO-VKORG,
WAERS TYPE T001-WAERS,
END OF GS_BWB.
DATA:GT_EXCEL LIKE TABLE OF GS_EXCEL,
GS_EXRATE TYPE BAPI1093_0,
GT_BWB LIKE TABLE OF GS_BWB.&nb
