您好,欢迎来到年旅网。
搜索
您的当前位置:首页SAP项目现金流量表开发源代码

SAP项目现金流量表开发源代码

来源:年旅网
在SAP中用承诺项目出现金流量表(报表开发源代码)

可能使用到的外部数据 或 SAP数据表数据的格式、字段等: fkrs 财务管理范围主记录表 fops 承诺项目主记录表 fmmp 现金预算管理行项目表 lfa1 供应商主记录表 kna1 客户主记录表 bsis 总帐未清项表 t001 公司代码主记录表 usr21 用户主记录表 adrp 用户地址表 bkpf 财务凭证抬头表 bseg 财务凭证行项目表 glt0 总帐科目期间余额表

直接法通过分析凭证的承诺项目来取数,SAP为该项功能定义了一个逻辑数据库C1F. 本程序

开始部分的逻辑数据库取数部分是SAP的标准程序,其功能是将与现金流量相关的数据装入内部表 G_T_FMMP, 这部分程序禁止修改。 直接法:

1、装入金流量表定义参数(FORM fill_item_direct)

该子程序将的现金流量表项和其对应的承诺项目装入内部表INT_CASHFLOW.

2、装入与现金流量相关的数据

这部分是逻辑数据库装入,属于SAP标准程序,数据关系比较复杂,建议不要做任何改动。 3、计算现金流量

计算的基本思路是对表G_T_FMMP进行循环,查找其中每条记录的承诺项目属于INT_CASHFLOW的 表项后,把其金额累计到相应表项。

REPORT zcmrp001 NO STANDARD PAGE HEADING LINE-SIZE 220.

TABLES: fkrs, fpos, fmmp, lfa1, kna1 ,bsis, t001, usr21, adrp, bkpf, bseg, glt0.

DATA: BEGIN OF g_t_fmmp OCCURS 300, fikrs LIKE fmmp-fikrs, bukrs LIKE fmmp-bukrs, fipos LIKE fmmp-fipos, wrttp LIKE fmmp-wrttp, gjahr LIKE fmmp-gjahr,

perio LIKE fmmp-perio, zhldt LIKE fmmp-zhldt, budat LIKE fmmp-budat, gsber LIKE fmmp-gsber, vo_saknr LIKE fmmp-vo_saknr, lifnr LIKE fmmp-lifnr, kunnr LIKE fmmp-kunnr, fwaer LIKE fmmp-fwaer, fkbtr LIKE fmsu-btr001, zbelnr LIKE cooi-refbn, zbuzei LIKE cooi-rfpos, vo_bukrs LIKE fmmp-vo_bukrs, vo_gjahr LIKE fmmp-vo_gjahr, fitxt LIKE fkrs-fitxt, fname LIKE ffnd-fname, cname LIKE fctr-cname, pname LIKE fpos-pname, wtext LIKE fmmp-wtext, END OF g_t_fmmp.

DATA: BEGIN OF g_t_fkrs OCCURS 20,

fikrs LIKE fkrs-fikrs, fitxt LIKE fkrs-fitxt, END OF g_t_fkrs.

DATA: BEGIN OF g_t_fpos OCCURS 200, fipos LIKE fpos-fipos, pname LIKE fpos-pname, END OF g_t_fpos.

DATA: BEGIN OF g_t_lfa1 OCCURS 200, lifnr LIKE lfa1-lifnr, sortl LIKE lfa1-sortl, END OF g_t_lfa1.

DATA: BEGIN OF g_t_kna1 OCCURS 200, kunnr LIKE kna1-kunnr, sortl LIKE kna1-sortl, END OF g_t_kna1.

RANGES: r_kunnr FOR kna1-kunnr, r_lifnr FOR lfa1-lifnr,

r_fipos FOR fmmp-fipos.

DATA: BEGIN OF int_cashflow OCCURS 100, desc(66) TYPE c, r_fipos(66) TYPE c,

com_fkbtr LIKE fmmp-fkbtr, fi_fkbtr LIKE fmmp-fkbtr, fi_fwaer LIKE fmmp-fwaer, END OF int_cashflow.

DATA: BEGIN OF g_t_t001 OCCURS 300, bukrs LIKE t001-bukrs, butxt LIKE t001-butxt, END OF g_t_t001.

DATA: pos TYPE i VALUE 0, num_of_bukrs TYPE i VALUE 0.

DATA cashflow_detail.

DATA : min_budat LIKE fmmp-budat, max_budat LIKE fmmp-budat,

z_min_budat LIKE sy-datum, z_max_budat LIKE sy-datum, z_bukrs LIKE fmmp-bukrs,

z_profit LIKE bseg-dmbtr, \"净利润

z_bad_debit LIKE bseg-dmbtr, \"坏帐准备及计提的资产减值准备

z_asset_dep LIKE bseg-dmbtr, z_intang_dep LIKE bseg-dmbtr, z_longpaid_dep LIKE bseg-dmbtr, z_paid_dec LIKE bseg-dmbtr, z_accrul_inc LIKE bseg-dmbtr, z_asset_pro LIKE bseg-dmbtr, 置损失

z_asset_scr LIKE bseg-dmbtr, z_fi_expen LIKE bseg-dmbtr, z_invest_loss LIKE bseg-dmbtr, z_defer_tax LIKE bseg-dmbtr, z_stock LIKE bseg-dmbtr, z_ar LIKE bseg-dmbtr, z_ap LIKE bseg-dmbtr, z_other LIKE bseg-dmbtr, z_production LIKE bseg-dmbtr, \"固定资产折旧 \"无形资产摊销 \"长期待摊费用摊销 \"待摊费用减少 \"预提费用增加 \"固定资产,长期资产处\"固定资产报废损失 \"财务费用 \"投资损失 \"递延税款贷项 \"存货减少 \"经营性应收减少 \"经营性应付增加 \"其他

\"经营活动产生的现金

净额

z_loss LIKE bseg-dmbtr, \"总公司下拨弥补亏损 z_asset_debit LIKE bseg-dmbtr, \"以固定资产偿还债务 z_invest_debit LIKE bseg-dmbtr, \"以投资偿还债务 z_asset_invest LIKE bseg-dmbtr, \"以固定资产投资 z_stock_debit LIKE bseg-dmbtr, z_asset_rented LIKE bseg-dmbtr, z_donation LIKE bseg-dmbtr, z_debit_short LIKE bseg-dmbtr, z_debit_equit LIKE bseg-dmbtr, z_bond_due LIKE bseg-dmbtr, 公司债券

z_money_init LIKE bseg-dmbtr, z_money_end LIKE bseg-dmbtr, z_cashs_init LIKE bseg-dmbtr, z_cashs_end LIKE bseg-dmbtr, z_all_money LIKE bseg-dmbtr. 物净变动

DATA: BEGIN OF itb0 OCCURS 0, txt(70) TYPE c,

num LIKE bseg-dmbtr,

\"以存货偿还债务 \"融资租赁固定资产 \"接受捐赠非现金资产 \"偿还的经营性债务 \"债务转为资本 \"一年内到期的可转换 \"货币资金期初余额 \"货币资金期末余额 \"现金等价物期初余额 \"现金等价物期末余额 \"货币资金及现金等价 END OF itb0, mtxt(70) TYPE c.

**INITIALIZATION. PERFORM fill_item_direct. *START-OF-SELECTION.

GET fkrs.

g_t_fkrs-fikrs = fkrs-fikrs. g_t_fkrs-fitxt = fkrs-fitxt. APPEND g_t_fkrs.

GET fpos.

g_t_fpos-fipos = fpos-fipos. g_t_fpos-pname = fpos-pname. COLLECT g_t_fpos.

GET fmmp.

MOVE-CORRESPONDING fmmp TO g_t_fmmp. CASE fmmp-wrttp.

WHEN '50' OR '51'. \" purchase order g_t_fmmp-zbelnr = fmmp-ebeln.

g_t_fmmp-zbuzei = fmmp-ebelp.

WHEN ''. \" payment transfer g_t_fmmp-zbelnr = fmmp-kblnr. g_t_fmmp-zbuzei = fmmp-kblpos.

WHEN '65'. \" funds commitments g_t_fmmp-zbelnr = fmmp-kblnr. g_t_fmmp-zbuzei = fmmp-kblpos.

WHEN OTHERS. \" Fi documents g_t_fmmp-zbelnr = fmmp-vo_belnr. g_t_fmmp-zbuzei = fmmp-vo_buzei. ENDCASE. APPEND g_t_fmmp.

IF NOT fmmp-kunnr IS INITIAL. r_kunnr-sign = 'I'. r_kunnr-option = 'EQ'. r_kunnr-low = fmmp-kunnr. COLLECT r_kunnr. ENDIF.

IF NOT fmmp-lifnr IS INITIAL. r_lifnr-sign = 'I'.

r_lifnr-option = 'EQ'. r_lifnr-low = fmmp-lifnr. COLLECT r_lifnr. ENDIF.

END-OF-SELECTION.

SORT g_t_fmmp BY fikrs bukrs fipos wrttp gjahr perio zhldt zbelnr zbuzei bukrs vo_saknr.

RANGES: lr_lifnr FOR lfa1-lifnr, lr_kunnr FOR kna1-kunnr.

DATA: l_cnt_from LIKE sy-tabix VALUE 1, l_cnt_to LIKE sy-tabix VALUE 50, l_cnt_lines LIKE sy-tabix.

* \"/ Lesen Kreditoren-Texte aus Stammdaten-Tabelle IF NOT r_lifnr IS INITIAL.

LOOP AT r_lifnr WHERE low = '*'. DELETE r_lifnr. ENDLOOP.

DESCRIBE TABLE r_lifnr LINES l_cnt_lines. \"<- insert

IF l_cnt_lines <= 50. \"<- insert

* \"/ Lieferanten-Kurztexte auf einmal einlesen \"<- insert SELECT lifnr sortl FROM lfa1

INTO CORRESPONDING FIELDS OF TABLE g_t_lfa1 WHERE lifnr IN r_lifnr.

ELSE. \"<- insert

* \"/ Lieferanten-Kurztexte in Bloecken einlesen \"<- insert DO. \"<- insert

* \"/ Bloecke zu je 50 Leferanten bilden \"<- insert

REFRESH lr_lifnr. \"<- insert

LOOP AT r_lifnr FROM l_cnt_from TO l_cnt_to. \"<- insert

lr_lifnr = r_lifnr. \"<- insert APPEND lr_lifnr. \"<- insert

ENDLOOP. \"<- insert

IF sy-subrc NE 0. \"<- insert

EXIT. \"<- insert

ENDIF. \"<- insert

l_cnt_from = l_cnt_to + 1. insert

l_cnt_to = l_cnt_from + 50. insert

* \"/ Lieferanten-Kurztexte lesen insert

SELECT lifnr sortl FROM lfa1 insert

APPENDING CORRESPONDING

\"<- insert

OF TABLE g_t_lfa1 insert

WHERE lifnr IN lr_lifnr. \"<- \"<- \"<- \"<- FIELDS \"<- \"<-

insert

ENDDO. \"<- insert

ENDIF. \"<- insert ENDIF.

* \"/ Lesen Debitoren-Texte aus Stammdaten-Tabelle IF NOT r_kunnr IS INITIAL.

LOOP AT r_kunnr WHERE low = '*'. DELETE r_kunnr. ENDLOOP. DESCRIBE TABLE

r_kunnr

LINES

\"<- insert

IF l_cnt_lines <= 50. insert

* \"/ Kunden-Kurztexte auf einmal einlesen insert

SELECT kunnr sortl FROM kna1

INTO CORRESPONDING FIELDS g_t_kna1

WHERE kunnr IN r_kunnr.

l_cnt_lines. \"<- \"<- OF TABLE

ELSE. \"<- insert

* \"/ Kunden-Kurztexte in Bloecken einlesen \"<- insert

DO. \"<- insert

* \"/ Bloecke zu je 50 Kunden bilden insert

REFRESH lr_kunnr. insert

LOOP AT r_kunnr FROM l_cnt_from TO l_cnt_to. insert

lr_kunnr = r_kunnr. insert

APPEND lr_kunnr. insert

ENDLOOP. \"<- insert

IF sy-subrc NE 0. insert

EXIT. insert

\"<- \"<- \"<- \"<- \"<- \"<- \"<- ENDIF. \"<- insert

l_cnt_from = l_cnt_to + 1. \"<- insert

l_cnt_to = l_cnt_from + 50. \"<- insert

* \"/ Kunden-Kurztexte lesen insert

SELECT kunnr sortl FROM kna1 insert

APPENDING CORRESPONDING

\"<- insert

OF TABLE

\"<- insert

WHERE kunnr IN lr_kunnr. insert

ENDDO. \"<- insert

ENDIF. \"<- insert ENDIF.

\"<- \"<- FIELDS g_t_kna1 \"<-

SELECT bukrs butxt FROM t001

INTO CORRESPONDING FIELDS OF TABLE g_t_t001.

DATA: l_sav_wrttp_text(30),

l_sav_fwaer LIKE fmmp-fwaer, l_sav_butxt LIKE t001-butxt, l_sav_hide_row_type(4).

num_of_bukrs = 0. max_budat = 0. min_budat = '99991231' . LOOP AT g_t_fmmp.

IF min_budat > g_t_fmmp-budat . min_budat = g_t_fmmp-budat . ENDIF.

IF max_budat < g_t_fmmp-budat . max_budat = g_t_fmmp-budat . ENDIF.

l_sav_fwaer = g_t_fmmp-fwaer.

AT NEW fikrs.

LOOP AT int_cashflow. CLEAR int_cashflow-fi_fkbtr. MODIFY TABLE int_cashflow. CLEAR int_cashflow. ENDLOOP. ENDAT.

AT NEW bukrs.

PERFORM read_bukrs_text USING g_t_fmmp-bukrs CHANGING g_t_t001-butxt. l_sav_butxt = g_t_t001-butxt. LOOP AT int_cashflow.

CLEAR int_cashflow-com_fkbtr. MODIFY TABLE int_cashflow. CLEAR int_cashflow. ENDLOOP. ENDAT.

LOOP AT int_cashflow.

PERFORM input_range USING int_cashflow-r_fipos. LOOP AT r_fipos. IF r_fipos-option = 'EQ'.

IF r_fipos-low = g_t_fmmp-fipos.

int_cashflow-fi_fkbtr = int_cashflow-fi_fkbtr + g_t_fmmp-fkbtr. int_cashflow-com_fkbtr = int_cashflow-com_fkbtr + g_t_fmmp-fkbtr. ENDIF. ENDIF.

IF r_fipos-option = 'BT'.

IF g_t_fmmp-fipos >= r_fipos-low AND g_t_fmmp-fipos <= r_fipos-high. int_cashflow-fi_fkbtr = int_cashflow-fi_fkbtr + g_t_fmmp-fkbtr. int_cashflow-com_fkbtr = int_cashflow-com_fkbtr + g_t_fmmp-fkbtr. ENDIF. ENDIF. ENDLOOP.

MODIFY TABLE int_cashflow.

CLEAR int_cashflow. CLEAR r_fipos. REFRESH r_fipos. ENDLOOP .

AT END OF bukrs.

PERFORM cal_indirect USING g_t_fmmp-bukrs. PERFORM output_info USING 'COM'. num_of_bukrs = num_of_bukrs + 1. ENDAT.

AT END OF fikrs. IF num_of_bukrs NE 1. CLEAR l_sav_butxt.

PERFORM output_info USING 'FI'. ENDIF.

WRITE : / text-103. ENDAT.

ENDLOOP. TOP-OF-PAGE.

IF NOT ( s_budat-low IS INITIAL ).

min_budat = s_budat-low. ENDIF.

IF NOT ( s_budat-high IS INITIAL ). max_budat = s_budat-high. ENDIF.

SKIP 2.

WRITE: /100 '现 金 流 量 表'. WRITE: /.

WRITE: /210 '会年企03表'.

* IF min_budat(6) = max_budat(6).

* WRITE: /104 min_budat(4), '年', min_budat+4(2), '月', * 202 '报表编号: 会商03表'. * ELSE.

* WRITE: /097 '日期:',

* 103 min_budat, 113 '-' , 115 max_budat, * 202 '报表编号: 会商03表'. * ENDIF. *

WRITE: /012 '编制单位: ', l_sav_butxt,

100 max_budat(4), '年', max_budat+4(2), '月', max_budat+6(2), '日', 212 '单位: 元'.

WRITE: /011 sy-uline.

WRITE : /011 sy-vline, 040 ' 项 目',

085 sy-vline, 087 '行次', 093 sy-vline, 095 ' 金 额 ',

116 sy-vline, 148 '补充资料',

190 sy-vline, 192 '行次', 198 sy-vline, ' 金 额', 220 sy-vline. WRITE: /011 sy-uline.

*********************************************************************** *

AT LINE-SELECTION.

CHECK l_sav_hide_row_type = 'EPOS'.

CALL FUNCTION 'FM_DOCUMENT_DISPLAY' EXPORTING

i_wrttp = g_t_fmmp-wrttp

i_belnr = g_t_fmmp-zbelnr i_blpos = g_t_fmmp-zbuzei i_bukrs = g_t_fmmp-vo_bukrs i_gjahr = g_t_fmmp-vo_gjahr.

*********************************************************************** *

AT USER-COMMAND. CASE sy-ucomm. WHEN 'SELE'.

SET PF-STATUS 'SELE'.

CALL FUNCTION 'FM_SELECTION_CRITERIA_PRINT' EXPORTING

i_report_name = 'RFFMIEP5' EXCEPTIONS

OTHERS = 1. ENDCASE.

*&--------------------------------------------------------------------- *

*& Form READ_FIKRS_TEXT

*&--------------------------------------------------------------------- *

FORM read_fikrs_text USING u_fikrs CHANGING c_fitxt. g_t_fkrs = space. g_t_fkrs-fikrs = u_fikrs. READ TABLE g_t_fkrs. IF sy-subrc = 0. c_fitxt = g_t_fkrs-fitxt. ENDIF.

ENDFORM. \" READ_FIKRS_TEXT

*&--------------------------------------------------------------------- *

*& Form READ_FIPOS_TEXT

*&--------------------------------------------------------------------- *

FORM read_fipos_text USING u_fipos CHANGING c_pname. g_t_fpos = space. g_t_fpos-fipos = u_fipos.

READ TABLE g_t_fpos. IF sy-subrc = 0.

c_pname = g_t_fpos-pname. ENDIF.

ENDFORM. \" READ_FIPOS_TEXT

*&--------------------------------------------------------------------- *

*& Form READ_BUKRS_TEXT

*&--------------------------------------------------------------------- *

FORM read_bukrs_text USING u_bukrs CHANGING c_butxt. g_t_t001 = space. g_t_t001-bukrs = u_bukrs. READ TABLE g_t_t001. IF sy-subrc = 0.

c_butxt = g_t_t001-butxt. ENDIF.

ENDFORM. \" READ_FIPOS_TEXT

*&--------------------------------------------------------------------- *

*& Form GET_KUNNR_LIFNR_TEXT

*&--------------------------------------------------------------------- *

FORM get_kunnr_lifnr_text USING value(u_kunnr) value(u_lifnr) CHANGING c_text. CLEAR c_text.

IF NOT u_kunnr IS INITIAL. IF u_kunnr = '*'. c_text = '*'. ELSE.

* \"/ Lesen Debitor-Text aus interner Tabelle g_t_kna1 = space. g_t_kna1-kunnr = u_kunnr. READ TABLE g_t_kna1. IF sy-subrc = 0.

c_text = g_t_kna1-sortl. ENDIF. ENDIF. ENDIF.

IF NOT u_lifnr IS INITIAL. IF u_lifnr = '*'. c_text = '*'. ELSE.

* \"/ Lesen Kreditor-Text aus interner Tabelle g_t_lfa1 = space. g_t_lfa1-lifnr = u_lifnr. READ TABLE g_t_lfa1. IF sy-subrc = 0. c_text = g_t_lfa1-sortl. ENDIF. ENDIF. ENDIF.

ENDFORM. \" GET_KUNNR_LIFNR_TEXT

*********************************************************** FORM input_range USING value(rfipos).

DATA: off TYPE i, offset TYPE i, doing TYPE i. DATA: item(20), str(10).

off = 0. offset = 0. doing = 1.

WHILE doing <> 0.

SHIFT rfipos BY offset PLACES. SEARCH rfipos FOR ','. IF sy-subrc = 0. offset = sy-fdpos.

MOVE rfipos(offset) TO item. offset = offset + 1.

ELSE.

MOVE rfipos TO item. doing = 0. ENDIF.

SEARCH item FOR '-'. IF sy-subrc = 0. off = sy-fdpos. MOVE item(off) TO str. off = off + 1. r_fipos-sign = 'I'.

r_fipos-option = 'BT'. r_fipos-low = str.

SHIFT item BY off PLACES. MOVE item TO str. r_fipos-high = str. ELSE.

MOVE item TO str. r_fipos-sign = 'I'. r_fipos-option = 'EQ'. r_fipos-low = str.

ENDIF.

APPEND r_fipos. ENDWHILE. ENDFORM. *******

FORM output_info USING fi_value. DATA zcashflow LIKE fmmp-fkbtr.

DATA: i LIKE sy-tabix, j LIKE sy-tabix, k LIKE sy-tabix, l LIKE sy-tabix.

i = 0. j = 0. k = 32.

LOOP AT int_cashflow FROM 1 TO 32. IF fi_value = 'COM'.

zcashflow = int_cashflow-com_fkbtr. ELSEIF fi_value = 'FI'.

zcashflow = int_cashflow-fi_fkbtr. ENDIF.

i = i + 1. j = j + 1. k = k + 1.

WRITE : /011 sy-vline, 014 int_cashflow-desc, 085 sy-vline, 088(2) i,093 sy-vline. IF zcashflow <> 0.

WRITE: 099 zcashflow CURRENCY g_t_fmmp-fwaer. ENDIF.

IF i < 3.

l = i + 32.

READ TABLE int_cashflow INDEX l.

IF fi_value = 'COM'.

zcashflow = int_cashflow-com_fkbtr. ELSEIF fi_value = 'FI'.

zcashflow = int_cashflow-fi_fkbtr. ENDIF.

WRITE: 116 sy-vline, 118(60) int_cashflow-desc, 190 sy-vline, 193(2) k, 198 sy-vline. IF zcashflow <> 0.

WRITE: 204 zcashflow CURRENCY g_t_fmmp-fwaer. ENDIF. ELSE. l = i - 2.

READ TABLE itb0 INDEX l. IF sy-subrc <> 0. CLEAR itb0. ENDIF.

WRITE: 116 sy-vline, 118(60) itb0-txt, 190 sy-vline, 193(2) k, 198 sy-vline.

IF itb0-num <> 0.

WRITE: 204 itb0-num CURRENCY g_t_fmmp-fwaer. ENDIF. ENDIF.

WRITE: 220 sy-vline. WRITE: /011 sy-uline.

IF j >= 25. j = 0.

PERFORM out_footer. NEW-PAGE. ENDIF. ENDLOOP.

PERFORM out_footer. ENDFORM.

*---------------------------------------------------------------------* *

FORM

*

*---------------------------------------------------------------------* *

out_footer ........

*

*---------------------------------------------------------------------* FORM out_footer.

DATA: usrname(80) TYPE c.

SELECT SINGLE * FROM usr21 WHERE bname = sy-uname. SELECT SINGLE * FROM adrp WHERE persnumber = usr21-persnumber AND

date_from AND

date_to >= sy-datum. CONCATENATE adrp-name_last adrp-name_first INTO usrname. CONDENSE usrname NO-GAPS. WRITE: /012 '制表人员:', (12) usrname, 110 '打印日期:', sy-datum, 202 '打印时间:', sy-uzeit. ENDFORM.

***********************************************************************

******************* 计算科目段在指定日期的起始余额 ********************

***********************************************************

<=

sy-datum

************

***** ***** ***** *****

***** mdate2 结束日期(不含此天) *****

***** mstrin 科目编号的匹配模式字符串 ***** ***** *****

***** 算法:某日余额 = 年初余额 + 一月余额 + ...+ *****

***** 上月余额 + 本月到mdate2余额 *****

***** *****

***********************************************************************

FORM cal_dates_amount USING mdate1 mdate2 mstring CHANGING znum. DATA: BEGIN OF iglt0 OCCURS 0.

znum

参数:mdate1

开始日期(含此天)

INCLUDE STRUCTURE glt0. DATA: END OF iglt0.

DATA: BEGIN OF itmp OCCURS 0, num LIKE bseg-dmbtr, END OF itmp.

DATA: i LIKE sy-tabix.

SELECT * FROM glt0 INTO TABLE iglt0 WHERE bukrs = z_bukrs AND ryear = mdate1(4) AND racct LIKE mstring.

LOOP AT iglt0. REFRESH itmp.

itmp-num = iglt0-hslvt. APPEND itmp. itmp-num = iglt0-hsl01. APPEND itmp. itmp-num = iglt0-hsl02. APPEND itmp. itmp-num = iglt0-hsl03. APPEND itmp. itmp-num = iglt0-hsl04. APPEND itmp. itmp-num = iglt0-hsl05. APPEND itmp.

itmp-num = iglt0-hsl06. APPEND itmp. itmp-num = iglt0-hsl07. APPEND itmp. itmp-num = iglt0-hsl08. APPEND itmp. itmp-num = iglt0-hsl09. APPEND itmp. itmp-num = iglt0-hsl10. APPEND itmp. itmp-num = iglt0-hsl11. APPEND itmp.

LOOP AT itmp FROM 1 TO mdate1+4(2). znum = znum + itmp-num. ENDLOOP. ENDLOOP.

SELECT * FROM bkpf WHERE bukrs = z_bukrs AND budat >= mdate1 AND budat < mdate2.

SELECT * FROM bsis WHERE gjahr = bkpf-gjahr AND belnr = bkpf-belnr AND hkont LIKE mstring. IF bsis-shkzg = 'S'.

znum = znum + bsis-dmbtr. ELSE.

znum = znum - bsis-dmbtr.

ENDIF. ENDSELECT. ENDSELECT. ENDFORM.

DEFINE cal_data. types: begin of datatype,

dnum like bseg-dmbtr, \"借方金额 cnum like bseg-dmbtr, \"贷方金额 end of datatype.

data: masset type datatype, \"固定资产数据 minvest type datatype, \"投资数据 mlib type datatype, \"短期负债数据 mstock type datatype, \"库存数据 mllib type datatype, \"长期负债数据 mequit type datatype. \"权益数据

loop at tab2. case tab2-hkont(4).

when '1501' or '1701'. \"固定资产和无形资产 if tab2-shkzg = 'S'.

add tab2-dmbtr to masset-dnum.

else.

add tab2-dmbtr to masset-cnum. endif.

when '1101' or '1401' or '1402'. \"短期投资与长期投资 if tab2-shkzg = 'S'.

add tab2-dmbtr to minvest-dnum. else.

add tab2-dmbtr to minvest-cnum. endif.

when '1221' or '1231' or '1243'. \"库存科目 if tab2-shkzg = 'S'.

add tab2-dmbtr to mstock-dnum. else.

add tab2-dmbtr to mstock-cnum. endif.

when '2111' or '2121' or '2181'. \"经营性负债 if tab2-shkzg = 'S'.

add tab2-dmbtr to mlib-dnum. else.

add tab2-dmbtr to mlib-cnum. endif.

when '2321'. \"长期负债 if tab2-shkzg = 'S'.

add tab2-dmbtr to mllib-dnum. else.

add tab2-dmbtr to mllib-cnum. endif.

when '3105' or '3111'. \"所有者权益 if tab2-shkzg = 'S'.

add tab2-dmbtr to mequit-dnum. else.

add tab2-dmbtr to mequit-cnum. endif. endcase. endloop.

if masset-dnum > 0. \"固定资产增加 if mllib-cnum > 0. \"融资租赁固定资产 if masset-dnum < mllib-cnum.

z_asset_rented = z_asset_rented + masset-dnum. mllib-cnum = mllib-cnum - masset-dnum. masset-dnum = 0. else.

z_asset_rented = z_asset_rented + mllib-cnum. masset-dnum = masset-dnum - mllib-cnum. mllib-cnum = 0. endif. endif. endif.

if masset-cnum > 0. \"固定资产减少

if mlib-dnum > 0. \"固定资产偿还债务(经营性) if masset-cnum > mlib-dnum.

z_asset_debit = z_asset_debit + mlib-dnum. z_debit_short = z_debit_short + mlib-dnum. masset-cnum = masset-cnum - mlib-dnum. mlib-dnum = 0. else.

z_asset_debit = z_asset_debit + masset-cnum. z_debit_short = z_debit_short + masset-cnum. mlib-dnum = mlib-dnum - masset-cnum. masset-cnum = 0. endif. endif.

if mllib-dnum > 0. \"固定资产偿还债务(长期) if masset-cnum > mllib-dnum.

z_asset_debit = z_asset_debit + mllib-dnum. masset-cnum = masset-cnum - mllib-dnum. mllib-dnum = 0. else.

z_asset_debit = z_asset_debit + masset-cnum. mllib-dnum = mllib-dnum - masset-cnum. masset-cnum = 0. endif. endif.

if minvest-dnum > 0. \"以固定资产投资 if masset-cnum > minvest-dnum.

z_asset_invest = z_asset_invest + minvest-dnum. masset-cnum = masset-cnum - minvest-dnum. minvest-dnum = 0. else.

z_asset_invest = z_asset_invest + masset-cnum. minvest-dnum = minvest-dnum - masset-cnum. masset-cnum = 0. endif.

endif. endif.

if minvest-dnum > 0. \"投资增加 if masset-cnum > 0. \"以固定资产投资 if masset-cnum > minvest-dnum.

z_asset_invest = z_asset_invest + minvest-dnum. masset-cnum = masset-cnum - minvest-dnum. minvest = 0. else.

z_asset_invest = z_asset_invest + masset-cnum. minvest-dnum = minvest-dnum - masset-cnum. masset-cnum = 0. endif. endif. endif.

if minvest-cnum > 0. \"投资减少

if mlib-dnum > 0. \"以投资偿还债务(经营性) if mlib-dnum > minvest-cnum.

z_invest_debit = z_invest_debit + minvest-cnum. z_debit_short = z_debit_short + minvest-cnum.

mlib-dnum = mlib-dnum - minvest-cnum. minvest-cnum = 0. else.

z_invest_debit = z_invest_debit + mlib-dnum. z_debit_short = z_debit_short + mlib-dnum. minvest-cnum = minvest-cnum - mlib-dnum. mlib-dnum = 0. endif. endif.

if mllib-dnum > 0. \"以投资偿还债务(长期) if mllib-dnum > minvest-cnum.

z_invest_debit = z_invest_debit + minvest-cnum. mllib-dnum = mllib-dnum - minvest-cnum. minvest-cnum = 0. else.

z_invest_debit = z_invest_debit + mllib-dnum. minvest-cnum = minvest-cnum - mllib-dnum. mllib-dnum = 0. endif. endif. endif.

if mstock-cnum > 0. \"存货减少

if mlib-dnum > 0. \"以存货偿还债务(经营性) if mlib-dnum > mstock-cnum.

z_stock_debit = z_stock_debit + mstock-cnum. z_debit_short = z_debit_short + mstock-cnum. mlib-dnum = mlib-dnum - mstock-cnum. mstock-cnum = 0. else.

z_stock_debit = z_stock_debit + mlib-dnum. z_debit_short = z_debit_short + mlib-dnum. mstock-cnum = mstock-cnum - mlib-dnum. mlib-dnum = 0. endif. endif.

if mllib-dnum > 0. \"以存货偿还债务(长期) if mllib-dnum > mstock-cnum.

z_stock_debit = z_stock_debit + mstock-cnum. mllib-dnum = mllib-dnum - mstock-cnum. mstock-cnum = 0. else.

z_stock_debit = z_stock_debit + mllib-dnum. mstock-cnum = mstock-cnum - mllib-dnum. mllib-dnum = 0. endif. endif. endif.

if mequit-cnum > 0. \"资本增加 if mlib-dnum > 0.

if mlib-dnum > mequit-cnum.

z_debit_equit = z_debit_equit + mequit-cnum. z_debit_short = z_debit_short + mequit-cnum. mlib-dnum = mlib-dnum - mequit-cnum. mequit-cnum = 0. else.

z_debit_equit = z_debit_equit + mlib-dnum. z_debit_short = z_debit_short + mlib-dnum. mequit-cnum = mequit-cnum - mlib-dnum. mlib-dnum = 0. endif. endif.

if mllib-dnum > 0.

if mllib-dnum > mequit-cnum.

z_debit_equit = z_debit_equit + mequit-cnum. mllib-dnum = mllib-dnum - mequit-cnum. mequit-cnum = 0. else.

z_debit_equit = z_debit_equit + mllib-dnum. mequit-cnum = mequit-cnum - mllib-dnum. mlib-dnum = 0. endif. endif. endif.

END-OF-DEFINITION.

*---------------------------------------------------------------------* *

FORM

*

*---------------------------------------------------------------------* *

*

*---------------------------------------------------------------------* *

-->

*

cal_indirect ........ pbukrs

*---------------------------------------------------------------------* FORM cal_indirect USING pbukrs LIKE fmmp-bukrs. DATA: BEGIN OF tab1 OCCURS 0, gjahr LIKE bkpf-gjahr, belnr LIKE bkpf-belnr, END OF tab1,

BEGIN OF tab2 OCCURS 0, gjahr LIKE bseg-gjahr, belnr LIKE bseg-belnr, hkont LIKE bseg-hkont, shkzg LIKE bseg-shkzg, dmbtr LIKE bseg-dmbtr, END OF tab2,

BEGIN OF tab3 OCCURS 0, gjahr LIKE bseg-gjahr, belnr LIKE bseg-belnr, hkont LIKE bseg-hkont, shkzg LIKE bseg-shkzg, dmbtr LIKE bseg-dmbtr, END OF tab3.

IF NOT ( s_budat-low IS INITIAL ). z_min_budat = s_budat-low. ELSE.

z_min_budat = min_budat. ENDIF.

IF NOT ( s_budat-high IS INITIAL ). z_max_budat = s_budat-high. ELSE.

z_max_budat = max_budat. ENDIF.

z_bukrs = pbukrs.

SELECT gjahr belnr FROM bkpf

INTO CORRESPONDING FIELDS OF TABLE tab1 WHERE bukrs = z_bukrs AND budat >= z_min_budat AND budat <= z_max_budat.

LOOP AT tab1.

SELECT hkont shkzg dmbtr FROM bseg INTO CORRESPONDING FIELDS OF tab2 WHERE gjahr = tab1-gjahr AND belnr = tab1-belnr. tab2-gjahr = tab1-gjahr. tab2-belnr = tab1-belnr. APPEND tab2. ENDSELECT. ENDLOOP.

REFRESH tab1.

LOOP AT tab2. \"挑出与补充资料相关的凭证号

IF tab2-hkont(4) = '1501' OR \"固定资产原值科目 tab2-hkont(4) = '1701' OR \"固定资产清理 tab2-hkont(4) = '1101' OR \"短期投资 tab2-hkont(4) = '1401' OR \"长期股权投资 tab2-hkont(4) = '1402' OR \"长期债权投资 tab2-hkont(4) = '1221' OR \"包装物 tab2-hkont(4) = '1231' OR \"低值易耗品 tab2-hkont(4) = '1243' OR \"库存商品

tab2-hkont(4) = '3105' OR \"上级拨入 tab2-hkont(4) = '3111'. \"资本公积 tab1-gjahr = tab2-gjahr. tab1-belnr = tab2-belnr. APPEND tab1. ENDIF. *

IF tab2-shkzg = 'H'. tab2-dmbtr = 0 - tab2-dmbtr. ENDIF. IF tab2-hkont(1) = '5'. \"净利润 ADD tab2-dmbtr TO z_profit. ENDIF.

IF tab2-hkont = '5501037000'. \"管理费用-坏帐损失 ADD tab2-dmbtr TO z_bad_debit. ENDIF.

IF tab2-hkont = '1102000000' OR \"短期投资减值准备 tab2-hkont = '1281000000' OR \"存 货跌价准备 tab2-hkont = '1421000000' OR \"长期投资减值准备 tab2-hkont = '1505000000' OR \"固定资产减值准备 tab2-hkont = '1605000000' OR \"在建工程减值准备 tab2-hkont = '1281000000'. \"无形资产减值准备

z_bad_debit = z_bad_debit - tab2-dmbtr. ENDIF.

IF tab2-hkont(7) = '5501020'. \"固定资产折旧 ADD tab2-dmbtr TO z_asset_dep. ENDIF.

IF tab2-hkont(7) = '5501043'. \"无形资产摊销 ADD tab2-dmbtr TO z_intang_dep. ENDIF.

IF tab2-hkont(4) = '1301'. \"待摊费用 ADD tab2-dmbtr TO z_paid_dec. ENDIF.

IF tab2-hkont(4) = '2191'. \"预提费用 ADD tab2-dmbtr TO z_accrul_inc. ENDIF.

IF tab2-hkont = '5301001000' OR \"营业外收入-处置长期资产净收入

tab2-hkont = '5301002000' OR \"营业外收入-固定资产盘

tab2-hkont = '5601001000' OR \"营业外支出-处置长期资产净损失

tab2-hkont = '5601002000'. \"营业外支出-固定资产盘亏 ADD tab2-dmbtr TO z_asset_pro. ENDIF.

IF tab2-hkont(4) = '5503'. \"财务费用 ADD tab2-dmbtr TO z_fi_expen. ENDIF.

IF tab2-hkont(4) = '1221' OR \"包装物 tab2-hkont(4) = '1231' OR \"低值易耗品 tab2-hkont(4) = '1243'. \"库存商品 ADD tab2-dmbtr TO z_stock. ENDIF.

IF tab2-hkont(4) = '1111' OR \"应收票据 tab2-hkont(4) = '1131' OR \"应收帐款 tab2-hkont(4) = '1133' OR \"其他应收帐款 tab2-hkont(4) = '1141'. \"坏帐准备 ADD tab2-dmbtr TO z_ar.

ENDIF.

IF tab2-hkont(4) = '2111' OR \"应付票据 tab2-hkont(4) = '2121' OR \"应付帐款 tab2-hkont(4) = '2151' OR \"应付工资 tab2-hkont(4) = '2153' OR \"应付福利费 tab2-hkont(4) = '2171' OR \"应交税金 tab2-hkont(4) = '2176' OR \"其他应缴款 tab2-hkont(4) = '2181'. \"其他应付款 ADD tab2-dmbtr TO z_ap. ENDIF. ENDLOOP.

SORT tab1 BY gjahr belnr.

DELETE ADJACENT DUPLICATES FROM tab1 COMPARING gjahr belnr.

LOOP AT tab2.

READ TABLE tab1 WITH KEY gjahr = tab2-gjahr belnr SEARCH. IF sy-subrc = 0.

=

tab2-belnr

BINARY

tab3 = tab2. APPEND tab3. ENDIF. ENDLOOP.

REFRESH tab2.

SORT tab3 BY gjahr belnr.

LOOP AT tab3.

tab2 = tab3. APPEND tab2.

AT END OF belnr.

cal_data. \"计算每张凭证中的补充资料 REFRESH tab2. ENDAT. ENDLOOP.

z_stock = z_stock + z_stock_debit. z_ap = z_ap - z_debit_short.

LOOP AT int_cashflow.

IF int_cashflow-desc CP '*经营活动产生的现金流量净额*'. z_other = z_profit - z_bad_debit - z_asset_dep - z_intang_dep

- z_longpaid_dep + z_paid_dec + z_accrul_inc - z_asset_pro - z_asset_scr - z_fi_expen - z_invest_loss + z_defer_tax + z_stock + z_ar + z_ap.

z_production = int_cashflow-com_fkbtr. z_other = int_cashflow-com_fkbtr + z_other. EXIT. ENDIF. ENDLOOP.

z_profit = 0 - z_profit. z_defer_tax = 0 - z_defer_tax. z_stock = 0 - z_stock. z_ar = 0 - z_ar. z_ap = 0 - z_ap. z_paid_dec = 0 - z_paid_dec. z_accrul_inc = 0 - z_accrul_inc.

DATA: mdate1 LIKE sy-datum, mdate2 LIKE sy-datum. mdate1 = z_min_budat. mdate1+6(2) = '01'.

PERFORM cal_dates_amount USING mdate1 币资金余额

\"计算期初货 z_min_budat '100%'

CHANGING z_money_init.

mdate1 = z_max_budat. mdate1+6(2) = '01'. mdate2 = z_max_budat + 1.

PERFORM cal_dates_amount USING mdate1 \"计算期末货币资金余额

mdate2 '100%'

CHANGING z_money_end.

z_all_money = z_money_end - z_money_init + z_cashs_end - z_cashs_init.

PERFORM fill_item. ENDFORM.

*---------------------------------------------------------------------* * *

FORM

fill_item

*---------------------------------------------------------------------* * *

*---------------------------------------------------------------------* FORM fill_item. REFRESH itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = 0. APPEND itb0.

mtxt = '1、将净利润调节为经营活动的现金流量 ' .

itb0-txt = mtxt. itb0-num = 0. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_profit. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_bad_debit. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_asset_dep. APPEND itb0. mtxt

=

'

=

'

=

'

加:计提的资产减值准备 =

'

=

'

........

' .

itb0-txt = mtxt. itb0-num = z_intang_dep. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_longpaid_dep. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_paid_dec. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_accrul_inc. APPEND itb0.

mtxt = ' 处置固定资产、无形资产和其它长期资产的损失(减:收益) ' .

itb0-txt = mtxt. itb0-num = z_asset_pro. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_asset_scr. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_fi_expen. APPEND itb0. mtxt ' .

=

'

(

)

=

'

=

'

=

'

预提费用的增加(减:减少)

=

'

待摊费用的减少(减:增加)

=

'

itb0-txt = mtxt. itb0-num = z_invest_loss. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_defer_tax. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_stock. APPEND itb0.

mtxt = ' 经营性应收项目的减少(减:增加) ' .

itb0-txt = mtxt. itb0-num = z_ar. APPEND itb0.

mtxt = ' 经营性应付项目的增加(减:减少) ' .

itb0-txt = mtxt. itb0-num = z_ap. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_other. APPEND itb0.

mtxt = ' 经营活动产生的现金流量净额 ' .

itb0-txt = mtxt. itb0-num = z_production. APPEND itb0.

=

'

=

'

(减

)

=

'

递延税款贷项(减:借项)

mtxt = '2、不涉及现金收支的投资活动和筹资活动: ' .

itb0-txt = mtxt. itb0-num = 0. APPEND itb0.

* mtxt = ' 以固定资产偿还债务 ' .

* itb0-txt = mtxt. itb0-num = z_asset_debit. APPEND itb0.

* mtxt = ' 以投资偿还债务 ' .

* itb0-txt = mtxt. itb0-num = z_invest_debit. APPEND itb0.

* mtxt = ' 以固定资产进行投资 ' .

* itb0-txt = mtxt. itb0-num = z_asset_invest. APPEND itb0.

* mtxt = ' 以存货偿还债务 ' .

* itb0-txt = mtxt. itb0-num = z_stock_debit. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_debit_equit. APPEND itb0.

mtxt = ' 一年内到期的可转换公司债券 ' .

itb0-txt = mtxt. itb0-num = z_bond_due. APPEND itb0. mtxt

=

'

=

'

' .

itb0-txt = mtxt. itb0-num = z_asset_rented. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = 0. APPEND itb0.

* mtxt = ' 接受捐赠的非现金资产 ' .

* itb0-txt = mtxt. itb0-num = z_donation. APPEND itb0.

mtxt = '3、现金及现金等价物净增加情况: ' .

itb0-txt = mtxt. itb0-num = 0. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_money_end. APPEND itb0.

mtxt = ' 减:货币资金的期初余额 ' .

itb0-txt = mtxt. itb0-num = z_money_init. APPEND itb0. mtxt ' .

itb0-txt = mtxt. itb0-num = z_cashs_end. APPEND itb0.

=

'

=

'

=

'

mtxt = ' 减:现金等价物的期初余额 ' .

itb0-txt = mtxt. itb0-num = z_cashs_init. APPEND itb0.

mtxt = ' 现金及现金等价物的净增加额 ' .

itb0-txt = mtxt. itb0-num = z_all_money. APPEND itb0. ENDFORM.

*---------------------------------------------------------------------* * *

*---------------------------------------------------------------------* * *

*---------------------------------------------------------------------* FORM fill_item_direct. DATA: s1(66) TYPE c, s2(66) TYPE c.

CLEAR: int_cashflow, s1, s2.

s1 = '一、经营活动产生的现金流量: '. s2 = ' '. int_cashflow-desc = s1. int_cashflow-r_fipos = s2.

........

FORM

fill_item_direct

APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 销售商品、提供劳务收到的现金 '. s2 = 'A1000-A1999,A8000-A8299,A00-A10,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 收到的税费返还 '. s2 = 'A3100,A3110,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 收到的其它与经营活动有关的现金 '. s2 = 'A2000-A2999,A3500-A3910,A8300-A8410,A9999,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 现金流入小计 '.

s2 = 'A1000-A3910,A8000-A9999,C9000,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 购买商品、接受劳务支付的现金 '. s2 = 'B1000-B2999,B8000-B8200,B00-B99,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 支付给职工以及为职工支付的现金 '. s2 = 'B3100,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 支付的各项税费 '. s2 = 'B3110,B3211,B3212,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 支付的其它与经营活动有关的现金 '. s2 = 'B3000,B3300-B3910,B8300,B9999,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 现金流出小计 '. s2 = 'B1000-B3910,B8000-B9999,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '经营活动产生的现金流量净额 '.

s2 = 'A1000-A3999,A8000-A9999,B1000-B3999,B8000-B9999,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '二、投资活动产生的现金流量: '. s2 = ''.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2.

APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 收回投资所收到的现金 '. s2 = 'A4000,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 取得投资收益所收到的现金 '. s2 = 'A4100,A4200,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 处置固定资产、无形资产和其他长期资产'. s2 = '而收到的现金净额 '. DATA: xtx(150) TYPE c. CONCATENATE s1 s2 INTO xtx. CONDENSE xtx NO-GAPS. int_cashflow-desc = xtx. CLEAR s2.

s2 = 'A4300,'.

int_cashflow-desc = xtx. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 收到的其它与投资活动有关的现金 '. s2 = 'A4400,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 现金流入小计 '. s2 = 'A4000-A4400'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 购建固定资产、无形资产和其他长期资产所支付的现金'. s2 = 'B4000,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 投资支付的现金 '. s2 = 'B4100,B4200,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 支付的其它与投资活动有关的现金 '. s2 = 'B4300,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

s1 = ' 现金流出小计 '. s2 = 'A4000-A4400,B4000-B4300,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '投资活动产生的现金流量净额 '. s2 = 'A4000-A4400,B4000-B4300,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '三、筹资活动产生的现金流量: '. s2 = ''.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 吸收投资所收到的现金 '. s2 = 'A5000,A5100,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 借款所收到的现金 '. s2 = 'A5200,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 收到的其它与筹资活动有关的现金 '. s2 = 'A5300,A5500,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 现金流入小计 '. s2 = 'A5000-A5300,A5500'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 偿还债务所支付的现金 '. s2 = 'B5000,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 分配股利或利润所支付的现金 '. s2 = 'B5200,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = ' 支付的其它与筹资活动有关的现金 '. s2 = 'B5100,B00,B5500,B5600,B5800,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = ' 现金流出小计 '. s2 = 'B5000-B5600,B5800,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2. s1 = '筹资活动产生的现金流量净额'.

s2 = 'A5000-A5300,A5500,B5000-B5600,B5800,'. int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '四、汇率变化对现金的影响额 '. s2 = 'A00,B5700,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow.

CLEAR: int_cashflow, s1, s2.

s1 = '五、现金及现金等价物净增加额 '. s2 = 'A0000-C9000,'.

int_cashflow-desc = s1. int_cashflow-r_fipos = s2. APPEND int_cashflow. ENDFORM.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务