




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在SAP中用承诺项目出现金流量表(报表开发源代码)可能使用到的外部数据或SAP数据表数据的格式、字段等:fkrs
财务管理范围主记录表fops
承诺项目主记录表fmmp
现金预算管理行项目表lfa1
供应商主记录表kna1
客户主记录表bsis
总帐未清项表t001
公司代码主记录表usr21
用户主记录表adrp
用户地址表bkpf
财务凭证抬头表bseg
财务凭证行项目表glt0
总帐科目期间余额表
直接法通过分析凭证的承诺项目来取数,SAP为该项功能定义了一个逻辑数据库C1F.本程序开始部分的逻辑数据库取数部分是SAP的标准程序,其功能是将与现金流量相关的数据装入内部表G_T_FMMP,这部分程序禁止修改。
直接法:1、装入金流量表定义参数(FORMfill_item_direct)该子程序将的现金流量表项和其对应的承诺项目装入内部表INT_CASHFLOW.2、装入与现金流量相关的数据这部分是逻辑数据库装入,属于SAP标准程序,数据关系比较复杂,建议不要做任何改动。3、计算现金流量计算的基本思路是对表G_T_FMMP进行循环,查找其中每条记录的承诺项目属于INT_CASHFLOW的表项后,把其金额累计到相应表项。REPORTzcmrp001
NOSTANDARDPAGEHEADINGLINE-SIZE220.TABLES:fkrs,fpos,fmmp,lfa1,kna1,bsis,
t001,usr21,adrp,bkpf,bseg,glt0.DATA:BEGINOFg_t_fmmpOCCURS300,
fikrs
LIKEfmmp-fikrs,
bukrs
LIKEfmmp-bukrs,
fipos
LIKEfmmp-fipos,
wrttp
LIKEfmmp-wrttp,
gjahr
LIKEfmmp-gjahr,
perio
LIKEfmmp-perio,
zhldt
LIKEfmmp-zhldt,
budat
LIKEfmmp-budat,
gsber
LIKEfmmp-gsber,
vo_saknrLIKEfmmp-vo_saknr,
lifnr
LIKEfmmp-lifnr,
kunnr
LIKEfmmp-kunnr,
fwaer
LIKEfmmp-fwaer,
fkbtr
LIKEfmsu-btr001,
zbelnr
LIKEcooi-refbn,
zbuzei
LIKEcooi-rfpos,
vo_bukrsLIKEfmmp-vo_bukrs,
vo_gjahrLIKEfmmp-vo_gjahr,
fitxt
LIKEfkrs-fitxt,
fname
LIKEffnd-fname,
cname
LIKEfctr-cname,
pname
LIKEfpos-pname,
wtext
LIKEfmmp-wtext,
ENDOFg_t_fmmp.DATA:BEGINOFg_t_fkrsOCCURS20,
fikrsLIKEfkrs-fikrs,
fitxtLIKEfkrs-fitxt,
ENDOFg_t_fkrs.DATA:BEGINOFg_t_fposOCCURS200,
fiposLIKEfpos-fipos,
pnameLIKEfpos-pname,
ENDOFg_t_fpos.DATA:BEGINOFg_t_lfa1OCCURS200,
lifnrLIKElfa1-lifnr,
sortlLIKElfa1-sortl,
ENDOFg_t_lfa1.DATA:BEGINOFg_t_kna1OCCURS200,
kunnrLIKEkna1-kunnr,
sortlLIKEkna1-sortl,
ENDOFg_t_kna1.RANGES:r_kunnrFORkna1-kunnr,
r_lifnrFORlfa1-lifnr,
r_fiposFORfmmp-fipos.DATA:BEGINOFint_cashflowOCCURS100,
desc(66)
TYPEc,
r_fipos(66)
TYPEc,
com_fkbtr
LIKEfmmp-fkbtr,
fi_fkbtr
LIKEfmmp-fkbtr,
fi_fwaer
LIKEfmmp-fwaer,
ENDOFint_cashflow.DATA:BEGINOFg_t_t001OCCURS300,
bukrsLIKEt001-bukrs,
butxtLIKEt001-butxt,
ENDOFg_t_t001.DATA:
pos
TYPEiVALUE0,
num_of_bukrsTYPEiVALUE0.DATA
cashflow_detail.DATA:min_budat
LIKEfmmp-budat,
max_budat
LIKEfmmp-budat,
z_min_budat
LIKEsy-datum,
z_max_budat
LIKEsy-datum,
z_bukrs
LIKEfmmp-bukrs,
z_profit
LIKEbseg-dmbtr,
"净利润
z_bad_debit
LIKEbseg-dmbtr,
"坏帐准备及计提的资产减值准备
z_asset_dep
LIKEbseg-dmbtr,
"固定资产折旧
z_intang_dep
LIKEbseg-dmbtr,
"无形资产摊销
z_longpaid_depLIKEbseg-dmbtr,
"长期待摊费用摊销
z_paid_dec
LIKEbseg-dmbtr,
"待摊费用减少
z_accrul_inc
LIKEbseg-dmbtr,
"预提费用增加
z_asset_pro
LIKEbseg-dmbtr,
"固定资产,长期资产处置损失
z_asset_scr
LIKEbseg-dmbtr,
"固定资产报废损失
z_fi_expen
LIKEbseg-dmbtr,
"财务费用
z_invest_loss
LIKEbseg-dmbtr,
"投资损失
z_defer_tax
LIKEbseg-dmbtr,
"递延税款贷项
z_stock
LIKEbseg-dmbtr,
"存货减少
z_ar
LIKEbseg-dmbtr,
"经营性应收减少
z_ap
LIKEbseg-dmbtr,
"经营性应付增加
z_other
LIKEbseg-dmbtr,
"其他
z_production
LIKEbseg-dmbtr,
"经营活动产生的现金净额
z_loss
LIKEbseg-dmbtr,
"总公司下拨弥补亏损
z_asset_debit
LIKEbseg-dmbtr,
"以固定资产偿还债务
z_invest_debitLIKEbseg-dmbtr,
"以投资偿还债务
z_asset_investLIKEbseg-dmbtr,
"以固定资产投资
z_stock_debit
LIKEbseg-dmbtr,
"以存货偿还债务
z_asset_rentedLIKEbseg-dmbtr,
"融资租赁固定资产
z_donation
LIKEbseg-dmbtr,
"接受捐赠非现金资产
z_debit_shortLIKEbseg-dmbtr,
"偿还的经营性债务
z_debit_equit
LIKEbseg-dmbtr,
"债务转为资本
z_bond_due
LIKEbseg-dmbtr,
"一年内到期的可转换公司债券
z_money_init
LIKEbseg-dmbtr,
"货币资金期初余额
z_money_end
LIKEbseg-dmbtr,
"货币资金期末余额
z_cashs_init
LIKEbseg-dmbtr,
"现金等价物期初余额
z_cashs_end
LIKEbseg-dmbtr,
"现金等价物期末余额
z_all_money
LIKEbseg-dmbtr.
"货币资金及现金等价物净变动DATA:BEGINOFitb0OCCURS0,
txt(70)TYPEc,
num
LIKEbseg-dmbtr,
ENDOFitb0,
mtxt(70)TYPEc.**INITIALIZATION.PERFORMfill_item_direct.*START-OF-SELECTION.GETfkrs.g_t_fkrs-fikrs=fkrs-fikrs.g_t_fkrs-fitxt=fkrs-fitxt.APPENDg_t_fkrs.GETfpos.g_t_fpos-fipos=fpos-fipos.g_t_fpos-pname=fpos-pname.COLLECTg_t_fpos.GETfmmp.MOVE-CORRESPONDINGfmmpTOg_t_fmmp.CASEfmmp-wrttp.
WHEN'50'OR'51'.
"purchaseorder
g_t_fmmp-zbelnr=fmmp-ebeln.
g_t_fmmp-zbuzei=fmmp-ebelp.
WHEN'64'.
"paymenttransfer
g_t_fmmp-zbelnr=fmmp-kblnr.
g_t_fmmp-zbuzei=fmmp-kblpos.
WHEN'65'.
"fundscommitments
g_t_fmmp-zbelnr=fmmp-kblnr.
g_t_fmmp-zbuzei=fmmp-kblpos.WHENOTHERS.
"Fidocuments
g_t_fmmp-zbelnr=fmmp-vo_belnr.
g_t_fmmp-zbuzei=fmmp-vo_buzei.ENDCASE.APPENDg_t_fmmp.IFNOTfmmp-kunnrISINITIAL.
r_kunnr-sign='I'.
r_kunnr-option='EQ'.
r_kunnr-low
=fmmp-kunnr.COLLECTr_kunnr.ENDIF.IFNOTfmmp-lifnrISINITIAL.r_lifnr-sign
='I'.
r_lifnr-option='EQ'.
r_lifnr-low=fmmp-lifnr.
COLLECTr_lifnr.ENDIF.END-OF-SELECTION.SORTg_t_fmmpBYfikrs
bukrs
fipos
wrttp
gjahrperio
zhldt
zbelnr
zbuzeibukrs
vo_saknr.RANGES:lr_lifnrFORlfa1-lifnr,
lr_kunnrFORkna1-kunnr.DATA:l_cnt_from
LIKEsy-tabixVALUE1,
l_cnt_to
LIKEsy-tabixVALUE50,
l_cnt_linesLIKEsy-tabix.*"/LesenKreditoren-TexteausStammdaten-TabelleIFNOTr_lifnrISINITIAL.LOOPATr_lifnrWHERElow='*'.
DELETEr_lifnr.
ENDLOOP.DESCRIBETABLEr_lifnrLINESl_cnt_lines.
"<-insert
IFl_cnt_lines<=50.
"<-insert*
"/Lieferanten-Kurztexteaufeinmaleinlesen
"<-insertSELECTlifnrsortlFROMlfa1
INTOCORRESPONDINGFIELDSOFTABLEg_t_lfa1
WHERElifnrINr_lifnr.
ELSE.
"<-insert*
"/Lieferanten-KurztexteinBloeckeneinlesen
"<-insert
DO.
"<-insert*
"/Bloeckezuje50Leferantenbilden
"<-insert
REFRESHlr_lifnr.
"<-insert
LOOPATr_lifnrFROMl_cnt_fromTOl_cnt_to.
"<-insert
lr_lifnr=r_lifnr.
"<-insert
APPENDlr_lifnr.
"<-insert
ENDLOOP.
"<-insert
IFsy-subrcNE0.
"<-insert
EXIT.
"<-insert
ENDIF.
"<-insert
l_cnt_from=l_cnt_to
+1.
"<-insert
l_cnt_to
=l_cnt_from+50.
"<-insert*
"/Lieferanten-Kurztextelesen
"<-insert
SELECTlifnrsortlFROMlfa1
"<-insert
APPENDINGCORRESPONDINGFIELDS
"<-insert
OFTABLEg_t_lfa1
"<-insert
WHERElifnrINlr_lifnr.
"<-insert
ENDDO.
"<-insert
ENDIF.
"<-insertENDIF.*"/LesenDebitoren-TexteausStammdaten-TabelleIFNOTr_kunnrISINITIAL.
LOOPATr_kunnrWHERElow='*'.
DELETEr_kunnr.
ENDLOOP.
DESCRIBETABLEr_kunnrLINESl_cnt_lines.
"<-insert
IFl_cnt_lines<=50.
"<-insert*
"/Kunden-Kurztexteaufeinmaleinlesen
"<-insert
SELECTkunnrsortlFROMkna1
INTOCORRESPONDINGFIELDSOFTABLEg_t_kna1
WHEREkunnrINr_kunnr.
ELSE.
"<-insert*
"/Kunden-KurztexteinBloeckeneinlesen
"<-insert
DO.
"<-insert*
"/Bloeckezuje50Kundenbilden
"<-insert
REFRESHlr_kunnr.
"<-insert
LOOPATr_kunnrFROMl_cnt_fromTOl_cnt_to.
"<-insert
lr_kunnr=r_kunnr.
"<-insert
APPENDlr_kunnr.
"<-insert
ENDLOOP.
"<-insert
IFsy-subrcNE0.
"<-insert
EXIT.
"<-insert
ENDIF.
"<-insert
l_cnt_from=l_cnt_to
+1.
"<-insert
l_cnt_to
=l_cnt_from+50.
"<-insert*
"/Kunden-Kurztextelesen
"<-insert
SELECTkunnrsortlFROMkna1
"<-insert
APPENDINGCORRESPONDINGFIELDS
"<-insert
OFTABLEg_t_kna1
"<-insert
WHEREkunnrINlr_kunnr.
"<-insert
ENDDO.
"<-insert
ENDIF.
"<-insertENDIF.SELECTbukrsbutxtFROMt001
INTOCORRESPONDINGFIELDSOFTABLEg_t_t001.DATA:l_sav_wrttp_text(30),
l_sav_fwaerLIKEfmmp-fwaer,
l_sav_butxtLIKEt001-butxt,
l_sav_hide_row_type(4).num_of_bukrs=0.max_budat=0.min_budat='99991231'.LOOPATg_t_fmmp.
IFmin_budat>g_t_fmmp-budat.
min_budat=g_t_fmmp-budat.
ENDIF.
IFmax_budat<g_t_fmmp-budat.
max_budat=g_t_fmmp-budat.
ENDIF.
l_sav_fwaer=g_t_fmmp-fwaer.
ATNEWfikrs.
LOOPATint_cashflow.
CLEARint_cashflow-fi_fkbtr.
MODIFYTABLEint_cashflow.
CLEARint_cashflow.
ENDLOOP.
ENDAT.
ATNEWbukrs.PERFORMread_bukrs_textUSINGg_t_fmmp-bukrs
CHANGINGg_t_t001-butxt.
l_sav_butxt=g_t_t001-butxt.
LOOPATint_cashflow.
CLEARint_cashflow-com_fkbtr.
MODIFYTABLEint_cashflow.
CLEARint_cashflow.
ENDLOOP.
ENDAT.
LOOPATint_cashflow.
PERFORMinput_rangeUSINGint_cashflow-r_fipos.
LOOPATr_fipos.
IFr_fipos-option='EQ'.
IFr_fipos-low=g_t__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.
IFr_fipos-option='BT'.
IFg_t_fmmp-fipos>=r_fipos-lowAND
g_t_fmmp-fipos<=r__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.MODIFYTABLEint_cashflow.
CLEARint_cashflow.
CLEARr_fipos.
REFRESHr_fipos.
ENDLOOP.
ATENDOFbukrs.PERFORMcal_indirectUSINGg_t_fmmp-bukrs.
PERFORMoutput_infoUSING'COM'.
num_of_bukrs=num_of_bukrs+1.
ENDAT.
ATENDOFfikrs.
IFnum_of_bukrsNE1.
CLEARl_sav_butxt.PERFORMoutput_infoUSING'FI'.
ENDIF.
WRITE:/text-103.
ENDAT.ENDLOOP.TOP-OF.IFNOT(s_budat-lowISINITIAL).
min_budat=s_budat-low.ENDIF.IFNOT(s_budat-highISINITIAL).max_budat=s_budat-high.ENDIF.SKIP2.WRITE:/100'现
金流
量
表'.WRITE:/.WRITE:/210'会年企03表'.*
IFmin_budat(6)=max_budat(6).*
WRITE:/104min_budat(4),'年',min_budat+4(2),'月',*
202'报表编号:会商03表'.*
ELSE.*
WRITE:/097'日期:',*
103min_budat,113'-',115max_budat,*
202'报表编号:会商03表'.*
ENDIF.*WRITE:/012'编制单位:',l_sav_butxt,
100
max_budat(4),'年',max_budat+4(2),'月',
max_budat+6(2),'日',
212'单位:元'.WRITE:
/011sy-uline.WRITE:/011sy-vline,
040'
项
目',
085sy-vline,
087'行次',
093sy-vline,
095'
金
额
',116sy-vline,
148'补充资料',
190sy-vline,
192'行次',
198sy-vline,
'
金
额',
220sy-vline.WRITE:/011sy-uline.************************************************************************ATLINE-SELECTION.CHECKl_sav_hide_row_type='EPOS'.CALLFUNCTION'FM_DOCUMENT_DISPLAY'
EXPORTINGi_wrttp=g_t_fmmp-wrttp
i_belnr=g_t_fmmp-zbelnri_blpos=g_t_fmmp-zbuzei
i_bukrs=g_t_fmmp-vo_bukrs
i_gjahr=g_t_fmmp-vo_gjahr.************************************************************************ATUSER-COMMAND.CASEsy-ucomm.
WHEN'SELE'.
SETPF-STATUS'SELE'.
CALLFUNCTION'FM_SELECTION_CRITERIA_PRINT'
EXPORTING
i_report_name='RFFMIEP5'
EXCEPTIONS
OTHERS
=1.ENDCASE.*&**&
Form
READ_FIKRS_TEXT*&*FORMread_fikrs_textUSINGu_fikrs
CHANGINGc_fitxt.g_t_fkrs=space.g_t_fkrs-fikrs=u_fikrs.READTABLEg_t_fkrs.IFsy-subrc=0.
c_fitxt=g_t_fkrs-fitxt.ENDIF.ENDFORM.
"READ_FIKRS_TEXT*&**&
Form
READ_FIPOS_TEXT*&*FORMread_fipos_textUSINGu_fipos
CHANGINGc_pname.g_t_fpos=space.g_t_fpos-fipos=u_fipos.READTABLEg_t_fpos.IFsy-subrc=0.
c_pname=g_t_fpos-pname.ENDIF.ENDFORM.
"READ_FIPOS_TEXT*&**&
Form
READ_BUKRS_TEXT*&*FORMread_bukrs_textUSINGu_bukrs
CHANGINGc_butxt.g_t_t001=space.g_t_t001-bukrs=u_bukrs.READTABLEg_t_t001.IFsy-subrc=0.
c_butxt=g_t_t001-butxt.ENDIF.ENDFORM.
"READ_FIPOS_TEXT*&**&
Form
GET_KUNNR_LIFNR_TEXT*&*FORMget_kunnr_lifnr_textUSINGvalue(u_kunnr)
value(u_lifnr)
CHANGINGc_text.CLEARc_text.IFNOTu_kunnrISINITIAL.
IFu_kunnr='*'.
c_text='*'.
ELSE.*
"/LesenDebitor-TextausinternerTabelle
g_t_kna1=space.
g_t_kna1-kunnr=u_kunnr.
READTABLEg_t_kna1.
IFsy-subrc=0.
c_text=g_t_kna1-sortl.
ENDIF.
ENDIF.ENDIF.IFNOTu_lifnrISINITIAL.IFu_lifnr='*'.
c_text='*'.
ELSE.*
"/LesenKreditor-TextausinternerTabelle
g_t_lfa1=space.g_t_lfa1-lifnr=u_lifnr.
READTABLEg_t_lfa1.
IFsy-subrc=0.
c_text=g_t_lfa1-sortl.
ENDIF.
ENDIF.ENDIF.ENDFORM.
"GET_KUNNR_LIFNR_TEXT***********************************************************FORMinput_rangeUSINGvalue(rfipos).DATA:offTYPEi,offsetTYPEi,doingTYPEi.DATA:item(20),str(10).off=0.offset=0.
doing=1.WHILEdoing<>0.
SHIFTrfiposBYoffsetPLACES.SEARCHrfiposFOR','.
IFsy-subrc=0.
offset=sy-fdpos.
MOVErfipos(offset)TOitem.
offset=offset+1.
ELSE.
MOVErfiposTOitem.
doing=0.
ENDIF.
SEARCHitemFOR'-'.
IFsy-subrc=0.
off=sy-fdpos.
MOVEitem(off)TOstr.
off=off+1.
r_fipos-sign
='I'.
r_fipos-option='BT'.
r_fipos-low
=
str.
SHIFTitemBYoffPLACES.
MOVEitemTOstr.
r_fipos-high
=
str.
ELSE.
MOVEitemTOstr.
r_fipos-sign='I'.
r_fipos-option='EQ'.
r_fipos-low
=
str.ENDIF.
APPENDr_fipos.ENDWHILE.ENDFORM.*******FORMoutput_infoUSINGfi_value.DATAzcashflowLIKEfmmp-fkbtr.DATA:iLIKEsy-tabix,
jLIKEsy-tabix,
kLIKEsy-tabix,
lLIKEsy-tabix.i=0.
j=0.k=32.LOOPATint_cashflowFROM1TO32.
IFfi_value='COM'.zcashflow=int_cashflow-com_fkbtr.
ELSEIFfi_value='FI'.zcashflow=int_cashflow-fi_fkbtr.
ENDIF.
i=i+1.
j=j+1.k=k+1.
WRITE:/011sy-vline,014int_cashflow-desc,
085sy-vline,088(2)i,093sy-vline.
IFzcashflow<>0.
WRITE:099zcashflowCURRENCYg_t_fmmp-fwaer.
ENDIF.
IFi<3.
l=i+32.
READTABLEint_cashflowINDEXl.
IFfi_value='COM'.
zcashflow=int_cashflow-com_fkbtr.ELSEIFfi_value='FI'.
zcashflow=int_cashflow-fi_fkbtr.ENDIF.
WRITE:116sy-vline,118(60)int_cashflow-desc,
190sy-vline,193(2)k,198sy-vline.
IFzcashflow<>0.
WRITE:204zcashflowCURRENCYg_t_fmmp-fwaer.
ENDIF.ELSE.
l=i-2.
READTABLEitb0INDEXl.
IFsy-subrc<>0.CLEARitb0.ENDIF.
WRITE:116sy-vline,118(60)itb0-txt,
190sy-vline,193(2)k,198sy-vline.IFitb0-num<>0.
WRITE:204itb0-numCURRENCYg_t_fmmp-fwaer.
ENDIF.
ENDIF.
WRITE:220sy-vline.
WRITE:/011sy-uline.
IFj>=25.
j
=0.
PERFORMout_footer.
NEW.
ENDIF.ENDLOOP.PERFORMout_footer.ENDFORM.***
FORMout_footer
****
***FORMout_footer.DATA:usrname(80)TYPEc.SELECTSINGLE*FROMusr21WHEREbname=sy-uname.SELECTSINGLE*FROMadrp
WHEREpersnumber=usr21-persnumberAND
date_from<=sy-datum
AND
date_to
>=sy-datum.CONCATENATEadrp-name_lastadrp-name_firstINTOusrname.CONDENSEusrnameNO-GAPS.WRITE:/012'制表人员:',(12)usrname,
110'打印日期:',sy-datum,
202'打印时间:',sy-uzeit.ENDFORM.******************************************************************************************计算科目段在指定日期的起始余额************************************************************************************************
**********参数:mdate1
开始日期(含此天)
**********
mdate2
结束日期(不含此天)
**********
mstrin科目编号的匹配模式字符串
**********结果:znum
**********算法:某日余额=年初余额+一月余额+...+
**********
上月余额+本月到mdate2余额
**********
****************************************************************************FORMcal_dates_amountUSINGmdate1mdate2mstringCHANGINGznum.DATA:BEGINOFiglt0OCCURS0.
INCLUDESTRUCTUREglt0.DATA:ENDOFiglt0.DATA:BEGINOFitmpOCCURS0,
num
LIKE
bseg-dmbtr,
ENDOFitmp.DATA:i
LIKEsy-tabix.SELECT*FROMglt0INTOTABLEiglt0
WHEREbukrs
=z_bukrs
AND
ryear
=mdate1(4)
ANDracctLIKEmstring.LOOPATiglt0.
REFRESHitmp.itmp-num=iglt0-hslvt.
APPENDitmp.
itmp-num=iglt0-hsl01.
APPENDitmp.
itmp-num=iglt0-hsl02.
APPENDitmp.
itmp-num=iglt0-hsl03.
APPENDitmp.
itmp-num=iglt0-hsl04.
APPENDitmp.itmp-num=iglt0-hsl05.
APPENDitmp.
itmp-num=iglt0-hsl06.
APPENDitmp.
itmp-num=iglt0-hsl07.
APPENDitmp.
itmp-num=iglt0-hsl08.
APPENDitmp.
itmp-num=iglt0-hsl09.
APPENDitmp.itmp-num=iglt0-hsl10.
APPENDitmp.
itmp-num=iglt0-hsl11.
APPENDitmp.
LOOPATitmpFROM1TOmdate1+4(2).
znum=znum+itmp-num.
ENDLOOP.ENDLOOP.SELECT*FROMbkpfWHEREbukrs=z_bukrs
AND
budat>=mdate1
AND
budat<mdate2.
SELECT*FROMbsisWHEREgjahr=bkpf-gjahrAND
belnr=bkpf-belnrAND
hkontLIKEmstring.
IFbsis-shkzg='S'.
znum=znum+bsis-dmbtr.
ELSE.
znum=znum-bsis-dmbtr.
ENDIF.
ENDSELECT.ENDSELECT.ENDFORM.DEFINEcal_data.types:beginofdatatype,
dnum
likebseg-dmbtr,
"借方金额
cnum
likebseg-dmbtr,
"贷方金额
endofdatatype.data:masset
typedatatype,
"固定资产数据
minvesttypedatatype,
"投资数据
mlib
typedatatype,
"短期负债数据
mstock
typedatatype,
"库存数据
mllib
typedatatype,
"长期负债数据
mequit
typedatatype.
"权益数据loopattab2.
casetab2-hkont(4).
when'1501'or'1701'.
"固定资产和无形资产
iftab2-shkzg='S'.
addtab2-dmbtrtomasset-dnum.
else.addtab2-dmbtrtomasset-cnum.
endif.
when'1101'or'1401'or'1402'.
"短期投资与长期投资
iftab2-shkzg='S'.
addtab2-dmbtrtominvest-dnum.
else.
addtab2-dmbtrtominvest-cnum.
endif.
when'1221'or'1231'or'1243'.
"库存科目
iftab2-shkzg='S'.
addtab2-dmbtrtomstock-dnum.
else.
addtab2-dmbtrtomstock-cnum.
endif.
when'2111'or'2121'or'2181'.
"经营性负债
iftab2-shkzg='S'.
addtab2-dmbtrtomlib-dnum.
else.
addtab2-dmbtrtomlib-cnum.
endif.
when'2321'.
"长期负债
iftab2-shkzg='S'.addtab2-dmbtrtomllib-dnum.
else.
addtab2-dmbtrtomllib-cnum.
endif.
when'3105'or'3111'.
"所有者权益
iftab2-shkzg='S'.
addtab2-dmbtrtomequit-dnum.
else.
addtab2-dmbtrtomequit-cnum.
endif.
endcase.endloop.ifmasset-dnum>0.
"固定资产增加
ifmllib-cnum>0.
"融资租赁固定资产
ifmasset-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.ifmasset-cnum>0.
"固定资产减少
ifmlib-dnum>0.
"固定资产偿还债务(经营性)
ifmasset-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.
ifmllib-dnum>0.
"固定资产偿还债务(长期)
ifmasset-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.
ifminvest-dnum>0.
"以固定资产投资
ifmasset-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.ifminvest-dnum>0.
"投资增加
ifmasset-cnum>0.
"以固定资产投资
ifmasset-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.ifminvest-cnum>0.
"投资减少
ifmlib-dnum>0.
"以投资偿还债务(经营性)
ifmlib-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.
ifmllib-dnum>0.
"以投资偿还债务(长期)
ifmllib-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.ifmstock-cnum>0.
"存货减少
ifmlib-dnum>0.
"以存货偿还债务(经营性)
ifmlib-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.
ifmllib-dnum>0.
"以存货偿还债务(长期)
ifmllib-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.ifmequit-cnum>0.
"资本增加
ifmlib-dnum>0.
ifmlib-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.
ifmllib-dnum>0.
ifmllib-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.***
FORMcal_indirect
****
****
-->pbukrs
***FORMcal_indirectUSINGpbukrsLIKEfmmp-bukrs.DATA:BEGINOFtab1OCCURS0,
gjahr
LIKEbkpf-gjahr,
belnr
LIKEbkpf-belnr,
ENDOFtab1,
BEGINOFtab2OCCURS0,
gjahr
LIKEbseg-gjahr,
belnr
LIKEbseg-belnr,hkont
LIKEbseg-hkont,
shkzg
LIKEbseg-shkzg,
dmbtrLIKEbseg-dmbtr,
ENDOFtab2,
BEGINOFtab3OCCURS0,
gjahr
LIKEbseg-gjahr,
belnr
LIKEbseg-belnr,
hkont
LIKEbseg-hkont,
shkzg
LIKEbseg-shkzg,dmbtr
LIKEbseg-dmbtr,
ENDOFtab3.IFNOT(s_budat-lowISINITIAL).
z_min_budat=s_budat-low.ELSE.z_min_budat=min_budat.ENDIF.IFNOT(s_budat-highISINITIAL).
z_max_budat=s_budat-high.ELSE.
z_max_budat=max_budat.ENDIF.z_bukrs=pbukrs.SELECTgjahrbelnrFROMbkpf
INTO
CORRESPONDINGFIELDSOFTABLEtab1
WHEREbukrs
=z_bukrs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品特性分析培训
- 中小学生心理健康教育整体方案
- 代驾安全责任协议书
- 铲车销售、维修与保养服务合同
- 烧烤连锁品牌加盟管理合同
- 房地产开发企业财务代理记账及土地增值税合同
- 矿山安全标志牌设计制作及销售合同
- 车辆保养与道路救援服务合作协议
- 离婚时遗产继承与财产分割协议书
- 茶叶拍卖会组织与委托合同
- GB/T 5497-1985粮食、油料检验水分测定法
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- GB/T 19089-2003橡胶或塑料涂覆织物耐磨性的测定马丁代尔法
- GB/T 18443.1-2010真空绝热深冷设备性能试验方法第1部分:基本要求
- 二三级医院放射科要求
- 危大工程巡视检查记录表(深基坑)
- 钢网架结构安装、拼装施工方案
- Q∕SY 05262-2019 机械清管器技术条件
- 2022年社会学概论考试重点广东海洋
- 二级建造师法规课件
- 早产儿出院后喂养(课堂PPT)
评论
0/150
提交评论