SAP FICO应收毛利表分享
一、报表逻辑












二、报表界面



三、报表代码
*&---------------------------------------------------------------------*
*& 程序名: ZRPFI_041
*& 创建者(公司)/日期:*
*& 程序描述:
*&
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*&
*&---------------------------------------------------------------------*
REPORT ZRPFI_041.
include ZRPFI_041_TOP.
include ZRPFI_041_SRC.
include ZRPFI_041_FRM.
*&---------------------------------------------------------------------*
*& 包含 ZRPFI_041_TOP
*&---------------------------------------------------------------------*
TABLES: VBRK,VBRP,ZTSD003,ZTSD002,LIPS,VBAP,BSEG,MATDOC,CKMLCR,CKMLPRKEPH.
TABLES: SSCRFIELDS .
DATA: BEGIN OF ITAB OCCURS 0,
BUKRS LIKE VBRK-BUKRS,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
VGBEL LIKE VBRP-VGBEL,
VGPOS LIKE VBRP-VGPOS,
AUBEL LIKE VBRP-AUBEL,
AUPOS LIKE VBRP-AUPOS,
VKORG LIKE VBRK-VKORG,
ZVKORG_TEXT LIKE TVKOT-VTEXT,
KUNAG LIKE VBRK-KUNAG,
ZNAME(100),
FKART LIKE VBRK-FKART,
ZFKART_TEXT LIKE TVFKT-VTEXT,
ERDAT LIKE VBRK-ERDAT,
FKDAT LIKE VBRK-FKDAT,
ZINVOICE_VAT LIKE VBRK-ZINVOICE_VAT,
ZINVOICE_STATUS LIKE VBRK-ZINVOICE_STATUS,
ZINVOICE_STATUS_TEXT(100),
ZINVOICE_COM LIKE VBRK-ZINVOICE_COM,
RFBSK LIKE VBRK-RFBSK,
FKSTO LIKE VBRK-FKSTO,
MATNR LIKE VBRP-MATNR,
ARKTX LIKE VBRP-ARKTX,
KDMAT LIKE LIPS-KDMAT,
ZPOSTX LIKE VBAP-ZPOSTX,
ZPROJECT LIKE VBAP-ZPROJECT,
ZTERM_KDMAT LIKE VBAP-ZTERM_KDMAT,
ZTERM_POSTX LIKE VBAP-ZTERM_POSTX,
ZTERM_PRO LIKE VBAP-ZTERM_PRO,
BSTKD LIKE VBKD-BSTKD,
POSEX LIKE VBAP-POSEX,
MATKL LIKE VBRP-MATKL,
WGBEZ LIKE T023T-WGBEZ,
WERKS LIKE VBRP-WERKS,
ZWERKS_TEXT LIKE T001W-NAME1,
LGORT LIKE VBRP-LGORT,
ZLGORT_TEXT LIKE T001L-LGOBE,
FKIMG LIKE VBRP-FKIMG,
VRKME LIKE VBRP-VRKME,
FKLMG LIKE VBRP-FKLMG,
MEINS LIKE VBRP-MEINS,
ZPRICE_TC(8) TYPE P DECIMALS 6,
ZACCOUT_TC(7) TYPE P DECIMALS 2,
WAERK LIKE VBRK-WAERK,
"begin 20231204 jc.zhou
B_KURSK TYPE P DECIMALS 5, "本位币汇率
B_PRICE(16) TYPE P DECIMALS 6, "本位币单价
B_ACCOUT TYPE WERTV13,"VBAP-WAVWR, "本位币金额 20240105 change
"end
ZKURRF(5) TYPE P DECIMALS 5,
ZPRICE_BC(6) TYPE P DECIMALS 6,
ZMWSBP(7) TYPE P DECIMALS 2,
ZPRICE_BC_NET(8) TYPE P DECIMALS 6,
ZACCOUT_BC_NET(7) TYPE P DECIMALS 2,
HKONT LIKE BSEG-HKONT,
ZHKONT_TEXT LIKE SKAT-TXT20,
ZHYCNYSR(16) TYPE P DECIMALS 2,
ZCHANNEL(10),
ZUNITCOST(9) TYPE P DECIMALS 5, "单位成本
SAKTO LIKE MATDOC-SAKTO, "成本账户
ZCOST(9) TYPE P DECIMALS 5, "成本金额
ZCOST_MAT(9) TYPE P DECIMALS 5, "其中材料
ZCOST_LAB(9) TYPE P DECIMALS 5, "其中人工
ZCOST_MAN(9) TYPE P DECIMALS 5, "其中制费
ZCOST_SUB(9) TYPE P DECIMALS 5, "其中转包
ZCOST_MOL(9) TYPE P DECIMALS 5, "其中模具成本
VBUND LIKE VBRK-VBUND,
ZPRICE_TC_RED(8) TYPE P DECIMALS 6,
ZACCOUT_TC_RED(7) TYPE P DECIMALS 2,
ZACCOUT_BC_RED(7) TYPE P DECIMALS 2,
BELNR LIKE VBRK-BELNR,
GJAHR LIKE VBRK-GJAHR,
ZTERM LIKE VBRK-ZTERM,
ZTERM_TEXT LIKE T052U-TEXT1,
ZRETURN_MONEY,
ZENDT TYPE D,
ZOVERDUE_DAY TYPE I,
ZCSPERSON LIKE VBAP-ZCSPERSON,
ZCSPERSON_TEXT LIKE ZTSD003-BEZEI,
ZSALESPERSON LIKE VBAP-ZSALESPERSON,
ZSALESPERSON_TEXT LIKE ZTSD002-BEZEI,
KONDM LIKE VBAP-KONDM,
ZKONDM_TEXT LIKE T178T-VTEXT,
* ZTERM_PRO LIKE VBAP-ZTERM_PRO,
ZMATKL LIKE ZTSD004-ZMATKL,
ZMATKL_TEXT LIKE ZTSD004-ZMATKL_TEXT,
ZSALES_DIRECTOR LIKE ZTSD004-ZSALES_DIRECTOR,
ZSALES_DIRECTOR_NAME LIKE ZTSD002-BEZEI,
ZSALES_VP LIKE ZTSD004-ZSALES_VP,
ZSALES_VP_NAME LIKE ZTSD002-BEZEI,
ZSALES_DIRECTOR_BU LIKE ZTSD004-ZSALES_DIRECTOR_BU,
ZSALES_DIRECTOR_BU_NAME LIKE ZTSD002-BEZEI,
NETWR LIKE VBRP-NETWR,
MWSBP LIKE VBRP-MWSBP,
VBTYP LIKE VBRK-VBTYP,
KNUMV LIKE VBRK-KNUMV,
ZPRICE_TYPE LIKE ZSSD_PRICE_QUERY_OUT-ZPRICE_TYPE,
ZPRICE LIKE ZSSD_PRICE_QUERY_OUT-ZPRICE,
ZPRICE_NET LIKE ZSSD_PRICE_QUERY_OUT-ZPRICE_NET,
ZPRICE_DATE LIKE ZSSD_PRICE_QUERY_OUT-ZPRICE_DATE,
ZCURRENCY_PRICE LIKE ZSSD_PRICE_QUERY_OUT-ZCURRENCY_PRICE,
ZFIRM_DISCOUNT LIKE ZSSD_PRICE_QUERY_OUT-ZFIRM_DISCOUNT,
ZMANUAL_DISCOUNT LIKE ZSSD_PRICE_QUERY_OUT-ZMANUAL_DISCOUNT,
ZDIFF_DISCOUNT LIKE ZSSD_PRICE_QUERY_OUT-ZDIFF_DISCOUNT,
ZTAX_RATE LIKE ZSSD_PRICE_QUERY_OUT-ZTAX_RATE,
ZTAX_ACCOUNT LIKE ZSSD_PRICE_QUERY_OUT-ZTAX_ACCOUNT,
ZACCOUNT_NET LIKE ZSSD_PRICE_QUERY_OUT-ZACCOUNT_NET,
ZACCOUNT_TAX LIKE ZSSD_PRICE_QUERY_OUT-ZACCOUNT_TAX,
ZCURRENCY_ACCOUNT LIKE ZSSD_PRICE_QUERY_OUT-ZCURRENCY_ACCOUNT,
ZDISCOUNT_IV LIKE ZSSD_PRICE_QUERY_OUT-ZDISCOUNT_IV,
ZPRICE_IV LIKE ZSSD_PRICE_QUERY_OUT-ZPRICE_IV,
ZKZWI1_IV LIKE ZSSD_PRICE_QUERY_OUT-ZKZWI1_IV,
WADAT_IST LIKE LIKP-WADAT_IST,
ZKZWI1_CNY LIKE ZSSD_PRICE_QUERY_OUT-ZACCOUNT_NET,
ZKZWI1_IV_CNY LIKE ZSSD_PRICE_QUERY_OUT-ZACCOUNT_NET,
PRCTR LIKE BSEG-PRCTR, "增加利润中心
KTEXT LIKE CEPCT-KTEXT,
KHFLDM LIKE ZTSD006-KHFLDM,
BEZEI2 LIKE ZTSD006-BEZEI2,
H_BLDAT LIKE BSEG-H_BLDAT,
ZSTOM LIKE ZTSD031-ZPRECUSTOM_NO,
ZDATE LIKE ZTSD031-ZPRECUSTOM_NO,
FLAG TYPE C,
KUNNR LIKE LIKP-KUNNR, "ADDED BY HELQ 20230710
ZZXMBM LIKE ZTMM_MARc-ZZXMBM, "ADDED BY HELQ 20230727
WAERS TYPE T001-WAERS, "20240103 add
END OF ITAB.
DATA: IT_SGPZ LIKE STANDARD TABLE OF ITAB WITH HEADER LINE,
IT_SGPZ_TEMP LIKE STANDARD TABLE OF ITAB WITH HEADER LINE.
DATA: LEN TYPE I.
DATA: IT_TVKOT LIKE STANDARD TABLE OF TVKOT WITH HEADER LINE,
IT_TVFKT LIKE STANDARD TABLE OF TVFKT WITH HEADER LINE,
IT_T023T LIKE STANDARD TABLE OF T023T WITH HEADER LINE,
IT_T001W LIKE STANDARD TABLE OF T001W WITH HEADER LINE,
IT_T001L LIKE STANDARD TABLE OF T001L WITH HEADER LINE,
IT_T178T LIKE STANDARD TABLE OF T178T WITH HEADER LINE,
IT_T052U LIKE STANDARD TABLE OF T052U WITH HEADER LINE,
IT_SKAT LIKE STANDARD TABLE OF SKAT WITH HEADER LINE,
IT_ZTSD002 LIKE STANDARD TABLE OF ZTSD002 WITH HEADER LINE,
IT_ZTSD003 LIKE STANDARD TABLE OF ZTSD003 WITH HEADER LINE,
IT_ZTSD004 LIKE STANDARD TABLE OF ZTSD004 WITH HEADER LINE,
IT_CEPCT LIKE STANDARD TABLE OF CEPCT WITH HEADER LINE,
BEGIN OF IT_KUNNR OCCURS 0,
KUNNR TYPE KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF IT_KUNNR.
DATA: L_LEN TYPE I,
L_BSID TYPE BSID,
L_KBETR TYPE VFPRC_ELEMENT_AMOUNT,
L_KNUMP LIKE LIKP-KNUMP,
L_KST LIKE CKMLPRKEPH-KST001,
L_EXRATE TYPE BAPI1093_0,
L_EKPO TYPE EKPO,
L_ACDOCA TYPE ACDOCA,
L_MSG(100) TYPE C.
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.
*&---------------------------------------------------------------------*
*& 包含 ZRPFI_041_SRC
*&---------------------------------------------------------------------*
SELECTION-SCREEN:BEGIN OF BLOCK b01 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
s_bukrs FOR vbrk-bukrs NO INTERVALS NO-EXTENSION,
s_vkorg FOR vbrk-vkorg, "销售组织
s_zcsp FOR vbap-zcsperson, "客服工号
s_zsale FOR ztsd002-zsalesperson,
s_kunag FOR vbrk-kunag,
s_werks FOR vbrp-werks,
s_fkart FOR vbrk-fkart,
s_vbeln FOR vbrk-vbeln,
s_vgbel FOR vbrp-vgbel,
s_aubel FOR vbrp-aubel,
s_zinv FOR vbrk-zinvoice_vat,
s_matnr FOR vbrp-matnr,
s_kdmat FOR lips-kdmat,
s_kondm FOR vbap-kondm,
s_fkdat FOR vbrk-fkdat,
s_prctr FOR vbrp-prctr,
s_hkont FOR bseg-hkont,
s_sakto FOR matdoc-sakto
.
PARAMETERS:zflag1 AS CHECKBOX,
zflag2 AS CHECKBOX,
zflag3 AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd.
PARAMETERS:p_save AS CHECKBOX. "数据保存选项 yina 2024.11.11
* SELECT-OPTIONS:
* s_bukrs FOR vbrk-bukrs NO-EXTENSION NO INTERVALS MODIF ID g1 .
SELECTION-SCREEN:END OF BLOCK b01.
SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN FUNCTION KEY 2.
AT SELECTION-SCREEN OUTPUT .
* LOOP AT SCREEN.
* IF screen-group1 EQ 'G1'.
* IF zflag3 = 'X' AND
* screen-active = 1.
* screen-required = 2.
* ELSE.
* screen-active = 0.
* ENDIF.
* MODIFY SCREEN.
* ENDIF.
* ENDLOOP .
* IF zflag3 = 'X' AND s_bukrs[] IS INITIAL.
* SET CURSOR FIELD 'S_BUKRS-LOW'.
* ENDIF.
INITIALIZATION.
sscrfields-functxt_01 = '公司间折点配置表'.
sscrfields-functxt_02 = '会计凭证终端信息维护表'.
AT SELECTION-SCREEN.
DATA lv_vname TYPE dd02v-tabname .
CHECK sscrfields-ucomm+0(2) = 'FC' .
lv_vname
