SAP FICO应付暂估款账龄分析表
一、报表逻辑





二、报表界面



三、报表代码
*&---------------------------------------------------------------------*
*& 程序名: ZRPFI_027
*& 创建者(公司)/日期:
*& 程序描述:
*& 应付暂估账龄分析表
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*&
*&---------------------------------------------------------------------*
REPORT ZRPFI_027.
TABLES: ACDOCA.
TYPES: BEGIN OF TY_ALV,
LX(10),
LIFNR TYPE ACDOCA-LIFNR, "供应商代码
NAME1 TYPE LFA1-NAME1, "供应商名称
PRCTR TYPE ACDOCA-PRCTR, "利润中心
ZTERM TYPE LFB1-ZTERM, "付款条件
RHCUR TYPE ACDOCA-RHCUR, "币别【本币】
ZQC TYPE ACDOCA-HSL, "期初余额(贷方)【小于期间的ZDP_HSL - ZCP_HSL】
ZDP TYPE ACDOCA-HSL, "本期借方发生额【查询期间】
ZCP TYPE ACDOCA-HSL, "本期贷方发生额【查询期间】
ZQM TYPE ACDOCA-HSL, "期末余额发生额【期初+本期!】
HL TYPE BAPI1093_0-EXCH_RATE, "评估汇率
RWCUR TYPE ACDOCA-RWCUR, "币别【原币】
ZQC_WSL TYPE ACDOCA-WSL, "期初余额交易额【小于期间的ZDP_WSL - ZCP_HSL】
ZDP_WSL TYPE ACDOCA-WSL, "期初借方交易额
ZCP_WSL TYPE ACDOCA-WSL, "期初贷方交易额
ZDP_HSL TYPE ACDOCA-HSL, "期初借方发生额【不显示】
ZCP_HSL TYPE ACDOCA-HSL, "期初贷方发生额【不显示】
ZQM_WSL TYPE ACDOCA-WSL, "期末余额交易额【期初+本期!】
ZD1 TYPE ACDOCA-HSL, "1个月
ZD2 TYPE ACDOCA-HSL, "2个月
ZD3 TYPE ACDOCA-HSL, "3个月
ZD4 TYPE ACDOCA-HSL, "4-6个月
ZD5 TYPE ACDOCA-HSL, "7-12个月
ZD6 TYPE ACDOCA-HSL, "1-2年
ZD7 TYPE ACDOCA-HSL, "2-3年
ZD8 TYPE ACDOCA-HSL, "3年以上
ZTYPE1 TYPE ACDOCA-HSL, "费用
ZTYPE2 TYPE ACDOCA-HSL, "资产
ZTYPE3 TYPE ACDOCA-HSL, "标准采购
ZTYPE4 TYPE ACDOCA-HSL, "委外加工
ZTYPE5 TYPE ACDOCA-HSL, "模具类
ZTYPE6 TYPE ACDOCA-HSL, "公司间采购
ZTYPE7 TYPE ACDOCA-HSL, "工序外包
ZTYPE8 TYPE ACDOCA-HSL, "其他
END OF TY_ALV.
DATA: GT_ALV TYPE TABLE OF TY_ALV,
GS_ALV TYPE TY_ALV,
GT_ALV_TEMP TYPE TABLE OF TY_ALV.
DATA: GT_FCAT TYPE LVC_T_FCAT,
GS_FCAT TYPE LVC_S_FCAT,
GS_LAYO TYPE LVC_S_LAYO,
GT_SORT TYPE LVC_T_SORT,
GS_SORT TYPE LVC_S_SORT.
DATA: BEGIN OF IT_INFO OCCURS 0,
BELNR LIKE ACDOCA-BELNR,
DOCLN LIKE ACDOCA-DOCLN,
GJAHR LIKE ACDOCA-GJAHR,
POPER LIKE ACDOCA-POPER,
ZUONR LIKE ACDOCA-ZUONR,
RHCUR LIKE ACDOCA-RHCUR,
DRCRK LIKE ACDOCA-DRCRK,
RWCUR LIKE ACDOCA-RWCUR,
BUDAT LIKE ACDOCA-BUDAT,
PRCTR LIKE ACDOCA-PRCTR,
HSL LIKE ACDOCA-HSL,
WSL LIKE ACDOCA-WSL,
EBELN LIKE ACDOCA-EBELN,
EBELP LIKE ACDOCA-EBELP,
AUGBL LIKE ACDOCA-AUGBL,
AUGDT LIKE ACDOCA-AUGDT,
REBZJ LIKE ACDOCA-REBZJ,
REBZG LIKE ACDOCA-REBZG,
REBZZ LIKE ACDOCA-REBZZ,
END OF IT_INFO.
SELECTION-SCREEN BEGIN OF BLOCK B_01 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_RBUKRS TYPE ACDOCA-RBUKRS OBLIGATORY DEFAULT '1000'.
"_gjahr TYPE acdoca-gjahr,
"p_poper TYPE acdoca-poper,.
SELECT-OPTIONS: S_LIFNR FOR ACDOCA-LIFNR,
S_BUDAT FOR ACDOCA-BUDAT OBLIGATORY NO-EXTENSION..
* parameters: p_ue as checkbox default 'X'.
SELECTION-SCREEN END OF BLOCK B_01.
AT SELECTION-SCREEN.
"权限检查
DATA: LV_MESSAGE TYPE STRING.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD P_RBUKRS.
IF SY-SUBRC <> 0.
LV_MESSAGE = '没有' && P_RBUKRS && '公司代码权限!'.
MESSAGE LV_MESSAGE TYPE 'E'.
ENDIF.
START-OF-SELECTION.
READ TABLE S_BUDAT INDEX 1.
IF S_BUDAT-HIGH IS INITIAL.
S_BUDAT-OPTION = 'BT'.
S_BUDAT-HIGH = S_BUDAT-LOW.
MODIFY S_BUDAT INDEX 1.
ENDIF.
IF S_LIFNR[] IS INITIAL.
ELSE.
LOOP AT S_LIFNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = S_LIFNR-LOW
IMPORTING
OUTPUT = S_LIFNR-LOW.
COLLECT S_LIFNR.
ENDLOOP.
ENDIF.
PERFORM FRM_GET_DATA.
* if p_ue = 'X'.
PERFORM FRM_GET_DATA_UE.
* endif.
PERFORM FRM_BUILD_FIELDCAT.
PERFORM FRM_BUILD_SORT.
PERFORM FRM_DISPLAY_DATA.
*&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_GET_DATA .
DATA: LV_NUM TYPE I,
LV_BUDAT TYPE ACDOCA-BUDAT,
LV_DATE TYPE ACDOCA-BUDAT.
DATA: LV_ZDP TYPE ACDOCA-HSL,
LV_ZCP TYPE ACDOCA-HSL,
LV_TYPE TYPE STRING.
DATA: LS_RATE TYPE BAPI1093_0.
DATA: BEGIN OF LT_LIFNR OCCURS 0,
LIFNR TYPE ACDOCA-LIFNR,
ZUONR TYPE ACDOCA-ZUONR,
PRCTR TYPE ACDOCA-PRCTR,
RHCUR TYPE ACDOCA-RHCUR, "币别【本币】
RWCUR TYPE ACDOCA-RWCUR, "币别【原币】
END OF LT_LIFNR.
"本期期间
* SELECT lifnr,rhcur,drcrk,rwcur,SUM( hsl ) AS hsl
* FROM acdoca
* WHERE rbukrs = @p_rbukrs
* AND lifnr IN @s_lifnr
** AND gjahr = @sy-datum+0(4)
** AND poper = @p_poper
* AND budat IN @s_budat
* AND racct LIKE '2204%'
* AND augbl = ''
* GROUP BY lifnr,rhcur,drcrk,rwcur
* INTO TABLE @DATA(lt_ac_bqqj).
SELECT BELNR,DOCLN,GJAHR,POPER,ZUONR,RHCUR,DRCRK,RWCUR,BUDAT,PRCTR,
HSL AS HSL,WSL AS WSL,
EBELN,EBELP,AUGBL,AUGDT
FROM ACDOCA
WHERE RBUKRS = @P_RBUKRS
AND ZUONR IN @S_LIFNR
AND BUDAT <= @S_BUDAT-HIGH
* AND racct LIKE '2204%'
AND RACCT = '2204000001'
