【正文】
zbuzei = fmmpvo_buzei. Fi documents WHEN OTHERS. g_t_fmmpzbuzei = fmmpkblpos. funds mitments 6539。 g_t_fmmpzbelnr = fmmpkblnr. . WHEN 39。g_t_fmmpzbuzei = fmmpebelp. purchase order 5139。5039。 MOVECORRESPONDING fmmp TO g_t_fmmp. g_t_fpospname = fpospname. APPEND g_t_fkrs. GET fpos. g_t_fkrsfikrs = fkrsfikrs. END OF itb0, txt(70) TYPE c, 現(xiàn)金等價物期末余額 LIKE bsegdmbtr, z_cashs_end z_cashs_init 貨幣資金期初余額 LIKE bsegdmbtr, 一年內到期的可轉換公司債券 LIKE bsegdmbtr, z_bond_due z_debit_equit z_debit_short 融資租賃固定資產 z_asset_rented LIKE bsegdmbtr, z_stock_debit 以投資償還債務 z_invest_debit LIKE bsegdmbtr, z_asset_debit 經營活動產生的現(xiàn)金凈額 LIKE bsegdmbtr, 其他 LIKE bsegdmbtr, z_other z_ap z_ar 遞延稅款貸項 LIKE bsegdmbtr, z_defer_tax z_invest_loss 固定資產報廢損失 LIKE bsegdmbtr, z_asset_scr 預提費用增加 LIKE bsegdmbtr, 待攤費用減少 LIKE bsegdmbtr, z_paid_dec 無形資產攤銷 LIKE bsegdmbtr, 固定資產折舊 LIKE bsegdmbtr, z_asset_dep 凈利潤 LIKE bsegdmbtr, LIKE fmmpbukrs, z_bukrs LIKE sydatum, z_min_budat max_budat cashflow_detail. DATA : min_budat num_of_bukrs TYPE i VALUE 0. DATA TYPE i VALUE 0, END OF g_t_t001. DATA: LIKE fmmpfwaer, fi_fwaer LIKE fmmpfkbtr, fi_fkbtr LIKE fmmpfkbtr, _fkbtr TYPE c, sortl LIKE kna1sortl, kunnr LIKE kna1kunnr, END OF g_t_lfa1. DATA: BEGIN OF g_t_kna1 OCCURS 200, pname LIKE fpospname, fipos LIKE fposfipos, END OF g_t_fkrs. DATA: BEGIN OF g_t_fpos OCCURS 200, LIKE fmmpwtext, wtext LIKE fpospname, pname LIKE fctrame, ame LIKE ffndfname, fname LIKE fkrsfitxt, fitxt vo_gjahr LIKE fmmpvo_gjahr, vo_bukrs LIKE fmmpvo_bukrs, LIKE cooirfpos, zbelnr LIKE fmsubtr001, fkbtr LIKE fmmpfwaer, fwaer LIKE fmmpkunnr, kunnr LIKE fmmplifnr, lifnr vo_saknr LIKE fmmpvo_saknr, LIKE fmmpgsber, gsber LIKE fmmpbudat, budat LIKE fmmpzhldt, zhldt LIKE fmmpperio, perio LIKE fmmpgjahr, gjahr LIKE fmmpwrttp, wrttp LIKE fmmpfipos, fipos LIKE fmmpbukrs, bukrs LIKE fmmpfikrs, fikrs t001, usr21, adrp, bkpf, bseg, glt0. DATA: BEGIN OF g_t_fmmp OCCURS 300, NO STANDARD PAGE HEADING LINESIZE 220. TABLES: fkrs, fpos, fmmp, lfa1, kna1 ,bsis, 計算的基本思路是對表G_T_FMMP進行循環(huán),查找其中每條記錄的承諾項目屬于INT_CASHFLOW的 表項后,把其金額累計到相應表項。 這部分是邏輯數(shù)據庫裝入,屬于SAP標準程序,數(shù)據關系比較復雜,建議不要做任何改動。 直接法: 裝入金流量表定義參數(shù)(FORM fill_item_direct) 公司代碼主記錄表 usr21 總帳未清項表 t001 客戶主記錄表 bsis 供應商主記錄表 kna1 現(xiàn)金預算管理行項目表 lfa1 承諾項目主記錄表 fmmp 財務管理范圍主記錄表 fops 在SAP中用承諾項目出現(xiàn)金流量表(報表開發(fā)源代碼)可能使用到的外部數(shù)據 或 SAP數(shù)據表數(shù)據的格式、字段等: fkrs 用戶主記錄表 adrp 用戶地址表 bkpf 財務憑證抬頭表 bseg 財務憑證行項目表 glt0 總帳科目期間余額表 直接法通過分析憑證的承諾項目來取數(shù),SAP為該項功能定義了一個邏輯數(shù)據庫C1F. 本程序 開始部分的邏輯數(shù)據庫取數(shù)部分是SAP的標準程序,其功能是將與現(xiàn)金流量相關的數(shù)據裝入內部表 G_T_FMMP, 這部分程序禁止修改。 該子程序將的現(xiàn)金流量表項和其對應的承諾項目裝入內部表INT_CASHFLOW. 裝入與現(xiàn)金流量相關的數(shù)據 計算現(xiàn)金流量 REPORT zcmrp001 LIKE cooirefbn, zbuzei END OF g_t_fmmp. DATA: BEGIN OF g_t_fkrs OCCURS 20, fikrs LIKE fkrsfikrs, fitxt LIKE fkrsfitxt, END OF g_t_fpos. DATA: BEGIN OF g_t_lfa1 OCCURS 200, lifnr LIKE lfa1lifnr, sortl LIKE lfa1sortl, END OF g_t_kna1. RANGES: r_kunnr FOR kna1kunnr, r_lifnr FOR lfa1lifnr, r_fipos FOR fmmpfipos. DATA: BEGIN OF int_cashflow OCCURS 100, desc(66) TYPE c, r_fipos(66) END OF int_cashflow. DATA: BEGIN OF g_t_t001 OCCURS 300, bukrs LIKE t001bukrs, butxt LIKE t001butxt, pos LIKE fmmpbudat, LIKE fmmpbudat, z_max_budat LIKE sydatum, z_profit z_bad_debit LIKE bsegdmbtr, 壞帳準備及計提的資產減值準備 z_intang_dep z_longpaid_dep LIKE bsegdmbtr, 長期待攤費用攤銷 z_accrul_inc z_asset_pro LIKE bsegdmbtr, 固定資產,長期資產處置損失 z_fi_expen LIKE bsegdmbtr, 財務費用 LIKE bsegdmbtr, 投資損失 z_stock LIKE bsegdmbtr, 存貨減少 LIKE bsegdmbtr, 經營性應收減少 LIKE bsegdmbtr, 經營性應付增加 z_production z_loss LIKE bsegdmbtr, 總公司下?lián)軓浹a虧損 LIKE bsegdmbtr, 以固定資產償還債務 z_asset_invest LIKE bsegdmbtr, 以固定資產投資 LIKE bsegdmbtr, 以存貨償還債務 z_donation LIKE bsegdmbtr, 接受捐贈非現(xiàn)金資產 LIKE bsegdmbtr, 償還的經營性債務 LIKE bsegdmbtr, 債務轉為資本 z_money_init z_money_end LIKE bsegdmbtr, 貨幣資金期末余額 LIKE bsegdmbtr, 現(xiàn)金等價物期初余額 z_all_money LIKE bsegdmbtr. 貨幣資金及現(xiàn)金等價物凈變動 DATA: BEGIN OF itb0 OCCURS 0, num LIKE bsegdmbtr, mtxt(70) TYPE c. **INITIALIZATION. PERFORM fill_item_direct. *STARTOFSELECTION. GET fkrs. g_t_fkrsfitxt = fkrsfitxt. g_t_fposfipos = fposfipos. COLLECT g_t_fpos. GET fmmp. CASE fmmpwrttp. WHEN 39。 OR 39。. g_t_fmmpzbelnr = fmmpebeln. 6439。 payment transfer g_t_fmmpzbuzei = fmmpkblpos. WHEN 39。. g_t_fmmpzbelnr = fmmpkblnr. g_t_fmmpzbelnr = fmmpvo_belnr. ENDCASE. IF NOT fmmpkunnr IS INITIAL. r_kunnrsign I39。 EQ39。 ENDIF. = 39。. r_lifnroption = 39。. r_lifnrlow = fm