- 592.15 KB
- 2022-04-29 14:47:48 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'ABAP实现本地化的资产负债表和损益表1.设计思路:SAP没有提供标准的符合中国标准的资产负债表和损益表,需要我们在系统中自定义开发,我们在配置报表版本时都指定了一个项目的编号,一个版本下面都有期其统驭的科目范围,我们可以根据这个项目编号找到相应的科目范围,然后根据科目范围获取科目借贷汇总的值。SAP中资产负债表的配置图示:我们传统的资产负债表如下格式:我们可以在程序中用项目编号找到其下面的科目范围,然后取科目汇总值,因为资产负债表是固定的,所以我们要建立一个CBO表来存放各个具体的项目和在SAP中对应的项目编号。
最后要强调的是在资产负债表中未分配利润的计算:未分配利润的期末余额=年初结转额(留存收益的上年余额)+今年截至到本月的盈利额(利润表中有体现)利润表的思路和资产负债表是一样的。具体的代码实现:*&———————————————————————**&CompanyCode:N207*&module:FI*&createby:rrzhang*&createdate:2011.12.28*&———————————————————————**&title:资产负债表,利润表*&Description:资产负债表,利润表报表呈现*&———————————————————————**&ChangeHistory*———————————————————————-**C.RNo |Date|Developer|Description*———————————————————————-** 2012.01.11|ccyu*———————————————————————-*REPORT zfir00026.INCLUDEzfir00026_top.INCLUDEzfir00026_cls.INCLUDEzfir00026_f01.INCLUDEzfir00026_o01.INCLUDEzfir00026_i01.INCLUDE.INITIALIZATION.p_y=sy-datum+0(4).p_m=sy-datum+4(2).ATSELECTION-SCREENOUTPUT.PERFORMsetdisUSINGp_rpv.IFcISINITIAL.
PERFORMsetlist.gv_name=‘爱思开实业(上海)商贸有限公司合并财务报表版本’.c=‘X’.gv_rp=‘资产负债表’.ELSE.PERFORMsetpcgUSINGp_rpv.CASEp_rpv.WHEN‘2070′.gv_name=‘爱思开实业(上海)商贸有限公司合并财务报表版本’.WHEN‘2071′.gv_name=‘爱思开实业(上海)商贸有限公总部财务报表版本’.WHEN‘2072′.gv_name=‘爱思开实业(上海)商贸有限公司直营店财务报表版本’.WHEN‘2073′.gv_name=”.ENDCASE.IFp_rp=‘BS’.gv_rp=‘资产负债表’.ELSE.gv_rp=‘利润表’.ENDIF.ENDIF.START-OF-SELECTION.PERFORMsynchrodata.PERFORMget_data1.*&———————————————————————**& Include ZFIR00026_TOP*&———————————————————————**DatadefinitionTYPE-POOLSvrm.TABLES:faglflexa.“同步数据用的凭证抬头表DATA:BEGINOFgt_bkpfsynOCCURS0,gjahrLIKEbkpf-gjahr,bukrsLIKEbkpf-bukrs,belnrLIKEbkpf-belnr,ENDOFgt_bkpfsyn.DATAly(4)TYPEn.“同步数据用的凭证行项目表(bseg)DATA:BEGINOFgt_bsegsynOCCURS0,gjahrLIKEbseg-gjahr,bukrsLIKEbseg-bukrs,belnrLIKEbseg-belnr,prctrLIKEbseg-prctr,
pprctLIKEbseg-pprct,buzeiLIKEbseg-buzei,ENDOFgt_bsegsyn.DATA:BEGINOFgt_fagasynOCCURS0.INCLUDESTRUCTUREfaglflexa.DATA:ENDOFgt_fagasyn.TYPES:ch(3)TYPEc,cf(4)TYPEc,cgcp(12)TYPEc,ok_codeLIKEsy-ucomm.DATA:c,d,gv_bsTYPEukurs_currVALUE1,”倍数gv_iden(2).“要显示的资产负债表DATA:BEGINOFgt_alv_bs0OCCURS0,lct1TYPEint1,item1TYPEzitem,yamt1TYPEhslvt12,ysamt1TYPEhslvt12,lct2TYPEint1,item2TYPEzitem,yamt2TYPEhslvt12,ysamt2TYPEhslvt12,waersLIKEt001-waers,ENDOF gt_alv_bs0.DATA:BEGINOFgt_bsOCCURS0,ukursTYPEukurs_curr,gdatuTYPEgdatu_inv,ENDOFgt_bs.DATA:gv_mf(5).”Themonthfield*Thereportversionaccountinformation.“要显示的利润表DATA:BEGINOFgt_alv_is0OCCURS0,lctTYPEint1,itemTYPEzitem,yamtLIKEfaglflext-hslvt,”本年累计数mamtLIKEfaglflext-hslvt,”本月累计数waersLIKEt001-waers,ENDOFgt_alv_is0.“下载数据的内表DATA:BEGINOFgt_alv_is01OCCURS0,lctTYPEint1,itemTYPEzitem,yamtLIKEfaglflext-hslvt,”本年累计数
mamtLIKEfaglflext-hslvt,”本月累计数ENDOFgt_alv_is01.*利润表下钻数据内表*–>2012.01.16CCYUSTARTDATA:BEGINOFgt_skatOCCURS0,saknrLIKEskat-saknr,txt50LIKEskat-txt50,ENDOFgt_skat.*<–2012.01.16CCYUEND.DATA:BEGINOFgt_alv_is_dp1 OCCURS0,racctLIKEfaglflexa-racct,*–>2012.01.16CCYUSTARTtxt50LIKEskat-txt50,*<–2012.01.16CCYUEND.hslLIKEfaglflexa-hsl,ENDOFgt_alv_is_dp1.*利润表下钻数据内表DATA:BEGINOFgt_alv_bs_dp1 OCCURS0,racctLIKEfaglflexa-racct,*–>2012.01.16CCYUSTARTtxt50LIKEskat-txt50,*<–2012.01.16CCYUEND.hslLIKEfaglflexa-hsl,ENDOFgt_alv_bs_dp1.DATA:BEGINOFgt_alv_bs_dp2 OCCURS0,racctLIKEfaglflexa-racct,*–>2012.01.16CCYUSTARTtxt50LIKEskat-txt50,*<–2012.01.16CCYUEND.hslLIKEfaglflexa-hsl,ENDOFgt_alv_bs_dp2.TYPES:BEGINOFgs_alv_bs_dp_obj,racctLIKEfaglflexa-racct,*–>2012.01.16CCYUSTARTtxt50LIKEskat-txt50,*<–2012.01.16CCYUEND.hslLIKEfaglflexa-hsl,ENDOFgs_alv_bs_dp_obj.DATA:gs_alv_bs_dp_obj1TYPEgs_alv_bs_dp_obj.TYPES:gt_alv_bs_dpTYPESTANDARDTABLEOFgs_alv_bs_dp_obj.*利润表下钻临时数据内表DATA:BEGINOFgt_alv_is_dp2OCCURS0,racctLIKEfaglflexa-racct,*–>2012.01.16CCYUSTART
txt50LIKEskat-txt50,*<–2012.01.16CCYUEND.hslLIKEfaglflexa-hsl,ENDOFgt_alv_is_dp2.DATA:BEGINOFgt_fagl_011zcOCCURS0,versnLIKEfagl_011zc-versn,ergsl LIKEfagl_011zc-ergsl,txt45LIKEfagl_011qt-txt45,vonktLIKEfagl_011zc-vonkt,bisktLIKEfagl_011zc-biskt,ENDOFgt_fagl_011zc.DATA:BEGINOFgt_fagl_011qtOCCURS0,ergsl LIKEfagl_011qt-ergsl,txt45LIKEfagl_011qt-txt45,ENDOFgt_fagl_011qt.DATA:BEGINOFgt_mamt_isOCCURS0,amtLIKEfaglflext-hslvt,ENDOFgt_mamt_is.RANGESgr_actFORfaglflext-racct.DATA:BEGINOFgt_monvOCCURS0,month(2)TYPEn,valueLIKEfaglflext-hslvt,ENDOFgt_monv.DATA:BEGINOFgs_hsl,hsl01LIKEfaglflext-hslvt,hsl02LIKEfaglflext-hslvt,hsl03LIKEfaglflext-hslvt,hsl04LIKEfaglflext-hslvt,hsl05LIKEfaglflext-hslvt,hsl06LIKEfaglflext-hslvt,hsl07LIKEfaglflext-hslvt,hsl08LIKEfaglflext-hslvt,hsl09LIKEfaglflext-hslvt,hsl10LIKEfaglflext-hslvt,hsl11LIKEfaglflext-hslvt,hsl12LIKEfaglflext-hslvt,ENDOFgs_hsl.DATA:BEGINOFgs_hsl1,hsl01LIKEfaglflext-hslvt,hsl02LIKEfaglflext-hslvt,hsl03LIKEfaglflext-hslvt,hsl04LIKEfaglflext-hslvt,hsl05LIKEfaglflext-hslvt,hsl06LIKEfaglflext-hslvt,
hsl07LIKEfaglflext-hslvt,hsl08LIKEfaglflext-hslvt,hsl09LIKEfaglflext-hslvt,hsl10LIKEfaglflext-hslvt,hsl11LIKEfaglflext-hslvt,hsl12LIKEfaglflext-hslvt,hslvtLIKEfaglflext-hslvt,ENDOFgs_hsl1.DATA:gs_alv_isTYPEREFTOcl_gui_alv_grid,”thealvobjectforisreportgs_alv_bsTYPEREFTOcl_gui_alv_grid,”thealvobjectforbsreportgs_alv_is_dp1TYPEREFTOcl_gui_alv_grid,”thealvobjectforbsreportgs_alv_bs_dp1TYPEREFTOcl_gui_alv_grid,”thealvobjectforbsreportgs_conTYPEREFTOcl_gui_custom_container,”thecontianerobjectgs_con1TYPEREFTOcl_gui_custom_container,”thecontianerobjectgs_layout TYPElvc_s_layo,”setthelayoutofthealvgt_fieldcatTYPElvc_t_fcat,”thefieldcatelogtablegs_fieldcatTYPElvc_s_fcat,”thefieldcatelogworkareag_toolbar TYPEui_functions,”thetoolbarofthealvg_toolbar1 TYPEui_functions,”thetoolbarofthealvgt_sort TYPElvc_t_sort,”controlthesortofthealvgs_sort TYPElvc_s_sort.”theworkareaofthegt_sortDATA:gs_dyndoc_idTYPEREFTOcl_dd_document,gs_dyndoc_id1TYPEREFTOcl_dd_document,gs_splitterTYPEREFTOcl_gui_splitter_container,gs_parent_htmlTYPEREFTOcl_gui_container,gs_parent_gridTYPEREFTOcl_gui_container,gs_splitter1TYPEREFTOcl_gui_splitter_container,gs_parent_html1TYPEREFTOcl_gui_container,gs_parent_grid1TYPEREFTOcl_gui_container,gs_html_cntrlTYPEREFTOcl_gui_html_viewer.*SCREENDEFINEDATA ok_code.*–>2012.01.17CCYUSTARTDATA:BEGINOFgt_head1 OCCURS0,t1(6),t2(20),t3(20),t4(20),t5(6),t6(20),t7(20),
t8(20),ENDOFgt_head1.DATA:BEGINOFgt_head2 OCCURS0,t1(6),t2(20),t3(20),t4(20),ENDOFgt_head2.DATA:BEGINOFgt_alv_bs01OCCURS0,lct1TYPEint1,item1TYPEzitem,yamt1TYPEhslvt12,ysamt1TYPEhslvt12,lct2TYPEint1,item2TYPEzitem,yamt2TYPEhslvt12,ysamt2TYPEhslvt12,ENDOF gt_alv_bs01.*<–2012.01.17CCYUEND.SELECTION-SCREENBEGINOFBLOCKblkWITHFRAMETITLEtext-001.“公司代码SELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(79)text-002.SELECTION-SCREENENDOFLINE.“CurrencySELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1. “从位置1开始输出SELECTION-SCREENCOMMENT(7)text-003FORFIELDp_curr.SELECTION-SCREENPOSITION15.PARAMETERSp_currTYPEchASLISTBOX VISIBLELENGTH12 OBLIGATORYDEFAULT‘CNY’.SELECTION-SCREENENDOFLINE.“reportversionSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(9)text-004FORFIELDp_rpv.SELECTION-SCREENPOSITION15.PARAMETERSp_rpvTYPEcfASLISTBOXVISIBLELENGTH12USER-COMMANDdpOBLIGATORYDEFAULT‘2070′.SELECTION-SCREENPOSITION28.SELECTION-SCREENCOMMENT(60)gv_name.SELECTION-SCREENENDOFLINE.
“profitcentergroupSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(12)text-005FORFIELDp_pcg.SELECTION-SCREENPOSITION15.PARAMETERSp_pcgTYPEcgcpASLISTBOXVISIBLELENGTH12USER-COMMANDdp1OBLIGATORY.SELECTION-SCREENENDOFLINE.“profitcenterSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(12)text-006FORFIELDp_pc.SELECTION-SCREENPOSITION15.PARAMETERSp_pcTYPEcgcpASLISTBOXVISIBLELENGTH12MODIFIDpc.SELECTION-SCREENENDOFLINE.“REPROTSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(12)text-007FORFIELDp_rp.SELECTION-SCREENPOSITION15.PARAMETERSp_rpTYPEcgcpASLISTBOXVISIBLELENGTH12USER-COMMANDrpOBLIGATORYDEFAULT‘BS’.SELECTION-SCREENCOMMENT(12)gv_rp.SELECTION-SCREENENDOFLINE.“YEARSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(12)text-008FORFIELDp_y.SELECTION-SCREENPOSITION15.PARAMETERSp_y(4)TYPEnOBLIGATORY.SELECTION-SCREENENDOFLINE.“MONTHSELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION1.SELECTION-SCREENCOMMENT(12)text-009FORFIELDp_m.SELECTION-SCREENPOSITION15.*PARAMETERSP_M(2)TYPENOBLIGATORY.*–>2012.01.11ccyuSTARTPARAMETERSp_m(3)TYPEnASLISTBOX VISIBLELENGTH4OBLIGATORY.*<–2012.01.11ccyuEND.SELECTION-SCREENENDOFLINE.SELECTION-SCREENENDOFBLOCKblk.*&———————————————————————**&———————————————————————*
*& ClassLCL_APP_COMPT*&———————————————————————** theeventhandlerclassforalv*———————————————————————-*CLASSLCL_APP_COMPTDEFINITION.PUBLICSECTION.*thefunctionhandle_toolbarwhichhandlethetoolbareventofthealvMETHODS:HANDLE_TOOLBARFOREVENTTOOLBAROFCL_GUI_ALV_GRIDIMPORTINGE_OBJECTE_INTERACTIVE.*thefunctionhandle_user_commandwhichhandletheuser_command*eventofthealvMETHODS:HANDLE_USER_COMMANDFOREVENTUSER_COMMANDOFCL_GUI_ALV_GRIDIMPORTINGE_UCOMM.*thefunctionhandle_topofpagewhichhandlethetopofpageMETHODS:HANDLE_TOPOFPAGEFOREVENTTOP_OF_PAGEOFCL_GUI_ALV_GRIDIMPORTINGE_DYNDOC_ID.*handlethehotspot_click事件METHODS:HANDLE_HOTSPOT_CLICKFOREVENTHOTSPOT_CLICKOFCL_GUI_ALV_GRIDIMPORTINGE_ROW_IDE_COLUMN_IDES_ROW_NO.ENDCLASS. “LCL_APP_COMPT*& Include ZOOALV_CLS **&———————————————————————**&———————————————————————**& Class(Implementation) lcl_app_compt*&———————————————————————** implementation:foralv*———————————————————————-*CLASSLCL_APP_COMPTIMPLEMENTATION.METHOD:HANDLE_TOOLBAR.PERFORMMODIFY_TOOLBARUSINGE_OBJECT”.ENDMETHOD. ”:METHOD:HANDLE_USER_COMMAND.PERFORMFM_USER_COMMANDUSINGE_UCOMM.ENDMETHOD. ”handle_user_command*TOPOFPAGEMETHOD:HANDLE_TOPOFPAGE.PERFORMFM_ADD_TOPOFPAGEUSINGE_DYNDOC_ID.ENDMETHOD. ”handle_topofpage
METHOD:HANDLE_HOTSPOT_CLICK.PERFORMDRILLDOWNIS1USINGE_ROW_IDE_COLUMN_IDES_ROW_NO.ENDMETHOD. ”HANDLE_HOTSPOT_CLICKENDCLASS. “lcl_app_compt*&———————————————————————**& Include ZFIR00026_F01*&———————————————————————**&———————————————————————**& Form SETLIST*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMsetlist.DATA:itabTYPESTANDARDTABLEOFvrm_value,lineTYPEvrm_value.CLEARitab[].line-key=‘CNY’.line-text=‘CNY’.APPENDlineTOitab.line-key=‘KRW’.line-text=‘KRW’.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_CURR’values=itab[].CLEARitab[].CLEARline.line-key=‘2070′.line-text=‘2070′.APPENDlineTOitab.line-key=‘2071′.line-text=‘2071′.APPENDlineTOitab.line-key=‘2072′.line-text=‘2072′.APPENDlineTOitab.line-key=‘2073′.line-text=‘2073′.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’
EXPORTINGid =‘P_RPV’values=itab[].IFp_pcgISINITIAL.CLEARitab[].CLEARline.line-key=‘N207′.line-text=‘N207′.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PCG’values=itab[].ENDIF.CLEARitab[].CLEARline.line-key=‘BS’.line-text=‘BS’.APPENDlineTOitab.line-key=‘IS’.line-text=‘IS’.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_RP’values=itab[].*–>2012.01.11CCYUSRARTCLEARitab[].CLEARline.line-key=‘01′.line-text=‘01′.APPENDlineTOitab.line-key=‘02′.line-text=‘02′.APPENDlineTOitab.line-key=‘03′.line-text=‘03′.APPENDlineTOitab.line-key=‘04′.line-text=‘04′.APPENDlineTOitab.line-key=‘05′.line-text=‘05′.APPENDlineTOitab.
line-key=‘06′.line-text=‘06′.APPENDlineTOitab.line-key=‘07′.line-text=‘07′.APPENDlineTOitab.line-key=‘08′.line-text=‘08′.APPENDlineTOitab.line-key=‘09′.line-text=‘09′.APPENDlineTOitab.line-key=‘10′.line-text=‘10′.APPENDlineTOitab.line-key=‘11′.line-text=‘11′.APPENDlineTOitab.line-key=‘12′.line-text=‘12′.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_M’values=itab[].” IFP_PCGISINITIAL.” CLEARITAB[].” CALLFUNCTION‘VRM_SET_VALUES’” EXPORTING” ID =‘P_PC’” VALUES=ITAB[].” ELSE.PERFORMsetpcgUSINGp_rpv.” ENDIF.*<–2012.01.11CCYUEND.ENDFORM. ”SETLIST*&———————————————————————**& Form SETPCG*&———————————————————————** text*———————————————————————-** SETTHEPROFITCENTERGROUP*———————————————————————-*FORMsetpcg USINGp.
DATA:itabTYPESTANDARDTABLEOFvrm_value,lineTYPEvrm_value.CLEAR:itab[],line.“CLEARp_pcg.IFp=‘2070′.line-key=‘N207′.line-text=‘N207′.APPENDlineTOitab.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PCG’values=itab[].p_pcg=‘N207′.CLEARitab[].” APPENDLINETOITAB.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PC’values=itab[].CLEARd.ELSE.CLEARitab[].CLEARp_pc.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PC’values=itab[].IFdISINITIAL.SELECTDISTINCTsetnameASkeysetnameAStextFROMsetleafINTOCORRESPONDINGFIELDSOFTABLEitabWHEREsubclass=‘N207′ANDsetclass=‘0106′.IFitab[]ISNOT INITIAL.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PCG’values=itab[].READTABLEitabINTOlineINDEX1.p_pcg=line-key.CLEARitab[].SELECTDISTINCTvalfromASkeyvalfromAStextFROMsetleafINTOCORRESPONDINGFIELDSOFTABLEitabWHEREsubclass=‘N207′ANDsetname=p_pcgANDsetclass=‘0106′.IFitab[]ISNOTINITIAL.CALLFUNCTION‘VRM_SET_VALUES’
EXPORTINGid =‘P_PC’values=itab[].ENDIF.d=‘X’.ENDIF.ELSE.SELECTDISTINCTvalfromASkeyvalfromAStextFROMsetleafINTOCORRESPONDINGFIELDSOFTABLEitabWHEREsubclass=‘N207′ANDsetname=p_pcgANDsetclass=‘0106′.IFitab[]ISNOTINITIAL.CALLFUNCTION‘VRM_SET_VALUES’EXPORTINGid =‘P_PC’values=itab[].ENDIF.CLEARitab[].ENDIF.ENDIF.ENDFORM. ”SETPCG*&———————————————————————**& Form SETDIS*&———————————————————————** setthedisableoftheprofitcenter*———————————————————————-** –>P_P_RPV text*———————————————————————-*FORMsetdis USINGp.LOOPATSCREEN.IFp=‘2070′.IFscreen-group1=‘PC’.screen-input=‘0′.ENDIF.ENDIF.MODIFYSCREEN.ENDLOOP.ENDFORM. ”SETDIS*&———————————————————————**& Form GET_DATA*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text
*———————————————————————-*FORMget_data1.PERFORMgetrv.”获取报表项目对应的科目范围ENDFORM. ”GET_DATA*&———————————————————————**& Form GETRV*&———————————————————————** getthereportitem andtheaccountrange*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMgetrv.CLEARgt_fagl_011zc[].SELECTversnergslvonktbisktFROMfagl_011zcINTOCORRESPONDINGFIELDSOFTABLEgt_fagl_011zcWHEREversn=p_rpv.IFgt_fagl_011zc[]ISNOT INITIAL.SELECTDISTINCTergsltxt45INTOCORRESPONDINGFIELDSOFTABLEgt_fagl_011qtFROMfagl_011qtFORALLENTRIESINgt_fagl_011zcWHEREversn=p_rpvANDergsl=gt_fagl_011zc-ergsl.IFgt_fagl_011qt[]ISNOTINITIAL.SORTgt_fagl_011qtBYergsl.LOOPATgt_fagl_011zc.READTABLEgt_fagl_011qtWITHKEYergsl=gt_fagl_011zc-ergslBINARYSEARCH.IFsy-subrc=0.gt_fagl_011zc-txt45=gt_fagl_011qt-txt45.ENDIF.MODIFYgt_fagl_011zc.ENDLOOP.ENDIF.IFp_curr=‘KRW’.PERFORMgetbs.ENDIF.ly=p_y-1.”取去年CALLFUNCTION‘CONVERSION_EXIT_ALPHA_INPUT’EXPORTINGinput =p_m
IMPORTINGoutput=p_m.IFp_rp=‘BS’.CLEARgt_alv_bs0[].PERFORMsetbsitem.SORTgt_alv_bs0BYlct1ASCENDING.DATA:lv_pro(10)TYPEpDECIMALS2VALUE‘3′,lv_i(10)TYPEpDECIMALS2VALUE‘3′.“为核算固定资产等项目设置的临时变量DATA:a1601_1TYPEhslvt12,a1601_2TYPEhslvt12,a1602_1TYPEhslvt12,a1602_2TYPEhslvt12,a1603_1TYPEhslvt12,a1603_2TYPEhslvt12,a4001_1TYPEhslvt12,a4001_2TYPEhslvt12,a3103_1TYPEhslvt12,a3103_2TYPEhslvt12,a4104_1TYPEhslvt12,a4104_2TYPEhslvt12,a4102_1TYPEhslvt12,a4102_2TYPEhslvt12,a13yamt1TYPEhslvt12,a13ysamt1TYPEhslvt12,a14yamt2TYPEhslvt12,a14ysamt2TYPEhslvt12,a23yamt2TYPEhslvt12,a23ysamt2TYPEhslvt12,a24yamt2TYPEhslvt12,a24ysamt2TYPEhslvt12,a31yamt2TYPEhslvt12,a31ysamt2TYPEhslvt12,a32yamt1TYPEhslvt12,a32ysamt1TYPEhslvt12,a33yamt1TYPEhslvt12,a33ysamt1TYPEhslvt12,a33yamt2TYPEhslvt12,a33ysamt2TYPEhslvt12,a30yamt2TYPEhslvt12,a30ysamt2TYPEhslvt12,a26yamt2TYPEhslvt12,a26ysamt2TYPEhslvt12,a27yamt2TYPEhslvt12,
a27ysamt2TYPEhslvt12,a29yamt2TYPEhslvt12,a29ysamt2TYPEhslvt12.“构造科目查询范围的查询条件LOOPATgt_alv_bs0.IFgt_alv_bs0-item1=‘货币资金’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1000′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2001′ly.ELSEIFgt_alv_bs0-item1=‘交易性金融资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1101′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2010′ly.ELSEIFgt_alv_bs0-item1=‘应收票据’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1121′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2201′ly.ELSEIFgt_alv_bs0-item1=‘应收账款’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1122′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2202′ly.ELSEIFgt_alv_bs0-item1=‘预付款项’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1123′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2203′ly.ELSEIFgt_alv_bs0-item1=‘应收利息’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1132′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2211′ly.ELSEIFgt_alv_bs0-item1=‘应收股利’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1131′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2221′ly.ELSEIFgt_alv_bs0-item1=‘其他应收款’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1221′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2231′ly.ELSEIFgt_alv_bs0-item1=‘存货’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1400′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2232′ly.ELSEIFgt_alv_bs0-item1=‘一年内到期的非流动资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1507′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2241′ly.ELSEIFgt_alv_bs0-item1=‘其他流动资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1499′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2240′ly.ELSEIFgt_alv_bs0-item1=‘流动资产合计’.PERFORMgetbsamtUSINGgt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2222′ly.ELSEIFgt_alv_bs0-item1=‘可供出售金融资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1503′ly.ELSEIFgt_alv_bs0-item1=‘持有至到期投资’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1501′ly,
gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2501′ly.ELSEIFgt_alv_bs0-item1=‘长期应收款’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1504′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2502′ly.ELSEIFgt_alv_bs0-item1=‘长期股权投资’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1511′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2701′ly.ELSEIFgt_alv_bs0-item1=‘投资性房地产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1521′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2711′ly.ELSEIFgt_alv_bs0-item1=‘固定资产’.CLEAR:a1601_1,a1601_2,a1602_1,a1602_2,a1603_1,a1603_2.PERFORMgetbsamtUSING:a1601_1a1601_2‘1601′ly,a1602_1a1602_2‘1602′ly,a1603_1a1603_2‘1603′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2801′ly.gt_alv_bs0-yamt1=a1601_1+a1602_1+a1603_1.gt_alv_bs0-ysamt1=a1601_2+a1602_2+a1603_2.ELSEIFgt_alv_bs0-item1=‘在建工程’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1604′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2901′ly.ELSEIFgt_alv_bs0-item1=‘工程物资’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1605′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘2000′ly.ELSEIFgt_alv_bs0-item1=‘固定资产清理’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1606′ly.ELSEIFgt_alv_bs0-item1=‘无形资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1701′ly,a4001_1a4001_2‘4001′ly,a3103_1a3103_2‘3103′ly.gt_alv_bs0-yamt2=a4001_1+a3103_1.gt_alv_bs0-ysamt2=a4001_2+a3103_2.ELSEIFgt_alv_bs0-item1=‘开发支出’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1710′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘4002′ly.ELSEIFgt_alv_bs0-item1=‘商誉’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1711′ly.ELSEIFgt_alv_bs0-item1=‘长期待摊费用’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1801′ly,gt_alv_bs0-yamt2gt_alv_bs0-ysamt2‘4101′ly.ELSEIFgt_alv_bs0-item1=‘递延所得税资产’.“计算本年利润DATA:aTYPEhslvt12,”截止到今年当月的利润bTYPEhslvt12.”留存收益中的年初利润
PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1811′ly.PERFORMgetisdb.READTABLEgt_alv_is0INDEX18.a=gt_alv_is0-yamt.PERFORMgetprofitamtUSINGbly.gt_alv_bs0-yamt2=a+b.gt_alv_bs0-ysamt2=b.CLEARgt_alv_is0[].ELSEIFgt_alv_bs0-item1=‘其他非流动资产’.PERFORMgetbsamtUSING:gt_alv_bs0-yamt1gt_alv_bs0-ysamt1‘1901′ly.ENDIF.MODIFYgt_alv_bs0.PERFORMporcess_showUSINGlv_pro.lv_pro=lv_pro+lv_i.ENDLOOP.“负债类科目贷方转正,借方转负LOOPATgt_alv_bs0WHERElct1BETWEEN1AND29.IFgt_alv_bs0-yamt2LT0.gt_alv_bs0-yamt2=ABS(gt_alv_bs0-yamt2).ELSE.gt_alv_bs0-yamt2=(-1)*(gt_alv_bs0-yamt2).ENDIF.IFgt_alv_bs0-ysamt2LT0.gt_alv_bs0-ysamt2=ABS(gt_alv_bs0-ysamt2).ELSE.gt_alv_bs0-ysamt2=(-1)*(gt_alv_bs0-ysamt2).ENDIF.MODIFYgt_alv_bs0.ENDLOOP.CLEAR:a13yamt1,a13ysamt1,a14yamt2,a14ysamt2,a23yamt2,a23ysamt2,a24yamt2,a24ysamt2,a31yamt2,a31ysamt2,a32yamt1,a32ysamt1,a33yamt1,a33ysamt1,a33yamt2,
a33ysamt2,a30yamt2,a30ysamt2,a26yamt2,a26ysamt2,a27yamt2,a27ysamt2,a29yamt2,a29ysamt2.“对特殊项目进行总计LOOPATgt_alv_bs0.IFgt_alv_bs0-lct1BETWEEN2AND12.”流动资产a13yamt1=gt_alv_bs0-yamt1+a13yamt1.a13ysamt1=gt_alv_bs0-ysamt1+a13ysamt1.ENDIF.IFgt_alv_bs0-lct1BETWEEN15AND31.”非流动资产a32yamt1=gt_alv_bs0-yamt1+a32yamt1.a32ysamt1=gt_alv_bs0-ysamt1+a32ysamt1.ENDIF.IFgt_alv_bs0-lct1BETWEEN2AND13.”流动负债a14yamt2=gt_alv_bs0-yamt2+a14yamt2.a14ysamt2=gt_alv_bs0-ysamt2+a14ysamt2.ENDIF.IFgt_alv_bs0-lct1BETWEEN16AND22.”非流动负债a23yamt2=gt_alv_bs0-yamt2+a23yamt2.a23ysamt2=gt_alv_bs0-ysamt2+a23ysamt2.ENDIF.IFgt_alv_bs0-lct1BETWEEN26AND30.”所有者权益a31yamt2=gt_alv_bs0-yamt2+a31yamt2.a31ysamt2=gt_alv_bs0-ysamt2+a31ysamt2.ENDIF.ENDLOOP.a33yamt1=a13yamt1+a32yamt1.”资产总计a33ysamt1=a13ysamt1+a32ysamt1.a24yamt2=a14yamt2+a23yamt2.”负债总计a24ysamt2=a14ysamt2+a23ysamt2.a33yamt2=a24yamt2+a31yamt2.”负债+所有者权益a33ysamt2=a24ysamt2+a31ysamt2.”a30yamt2=a33yamt1-a33yamt2.“a30ysamt2=a33ysamt1-a33ysamt2.* READTABLEgt_alv_bs0WITHKEYlct1=26.* a26yamt2=gt_alv_bs0-yamt2.* a26ysamt2=gt_alv_bs0-ysamt2.* READTABLEgt_alv_bs0WITHKEYlct1=27.
* a27yamt2=gt_alv_bs0-yamt2.* a27ysamt2=gt_alv_bs0-ysamt2.* READTABLEgt_alv_bs0WITHKEYlct1=29.* a29yamt2=gt_alv_bs0-yamt2.* a29ysamt2=gt_alv_bs0-ysamt2.* a30yamt2=a33yamt1-a24yamt2-a26yamt2-a27yamt2-a29yamt2.”本年利润调平* a30ysamt2=a33ysamt1-a24ysamt2-a26ysamt2-a27ysamt2-a29ysamt2.* a31yamt2= a26yamt2+a27yamt2+a29yamt2+a30yamt2.* a31ysamt2= a26ysamt2+a27ysamt2+a29ysamt2+a30ysamt2.LOOPATgt_alv_bs0.IFgt_alv_bs0-lct1=13.gt_alv_bs0-yamt1=a13yamt1.gt_alv_bs0-ysamt1=a13ysamt1.ELSEIFgt_alv_bs0-lct1=14.gt_alv_bs0-yamt2=a14yamt2.gt_alv_bs0-ysamt2=a14ysamt2.ELSEIFgt_alv_bs0-lct1=23.gt_alv_bs0-yamt2=a23yamt2.gt_alv_bs0-ysamt2=a23ysamt2.ELSEIFgt_alv_bs0-lct1=24.gt_alv_bs0-yamt2=a24yamt2.gt_alv_bs0-ysamt2=a24ysamt2.* ELSEIFgt_alv_bs0-lct1=30.* gt_alv_bs0-yamt2=a30yamt2.* gt_alv_bs0-ysamt2=a30ysamt2.ELSEIFgt_alv_bs0-lct1=31.gt_alv_bs0-yamt2=a31yamt2.gt_alv_bs0-ysamt2=a31ysamt2.ELSEIFgt_alv_bs0-lct1=32.gt_alv_bs0-yamt1=a32yamt1.gt_alv_bs0-ysamt1=a32ysamt1.ELSEIFgt_alv_bs0-lct1=33.gt_alv_bs0-yamt1=a33yamt1.gt_alv_bs0-ysamt1=a33ysamt1.gt_alv_bs0-yamt2=a33yamt2.gt_alv_bs0-ysamt2=a33ysamt2.ENDIF.MODIFYgt_alv_bs0.ENDLOOP.IFp_curr=‘KRW’.LOOPATgt_alv_bs0.gt_alv_bs0-yamt1=gt_alv_bs0-yamt1*gv_bs.
gt_alv_bs0-ysamt1=gt_alv_bs0-ysamt1*gv_bs.gt_alv_bs0-yamt2=gt_alv_bs0-yamt2*gv_bs.gt_alv_bs0-ysamt2=gt_alv_bs0-ysamt2*gv_bs.gt_alv_bs0-waers=‘KRW’.MODIFYgt_alv_bs0.ENDLOOP.ELSE.LOOPATgt_alv_bs0.gt_alv_bs0-waers=‘CNY’.MODIFYgt_alv_bs0.ENDLOOP.ENDIF.gv_iden=‘BS’.CALLSCREEN‘0100′.ELSEIFp_rp=‘IS’.PERFORMgetisdb.CALLSCREEN‘0200′.ENDIF.ENDIF.ENDFORM. ”GETRV*&———————————————————————**& Form SETISITEM*&———————————————————————** filltheprofittable*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMsetisitem.gt_alv_is0-lct=1.gt_alv_is0-item=‘一、营业收入’.APPENDgt_alv_is0.gt_alv_is0-lct=2.gt_alv_is0-item=‘减:营业成本’.APPENDgt_alv_is0.gt_alv_is0-lct=3.gt_alv_is0-item=‘ 营业税金及附加’.APPENDgt_alv_is0.gt_alv_is0-lct=4.gt_alv_is0-item=‘ 销售费用’.APPENDgt_alv_is0.gt_alv_is0-lct=5.gt_alv_is0-item=‘ 管理费用’.APPENDgt_alv_is0.
gt_alv_is0-lct=6.gt_alv_is0-item=‘ 财务费用’.APPENDgt_alv_is0.gt_alv_is0-lct=7.gt_alv_is0-item=‘ 资产减值损失’.APPENDgt_alv_is0.gt_alv_is0-lct=8.gt_alv_is0-item=‘加:公允价值变动收益(损失以“-”号填列)’.APPENDgt_alv_is0.gt_alv_is0-lct=9.gt_alv_is0-item=‘ 投资收益(损失以“-”号填列)’.APPENDgt_alv_is0.gt_alv_is0-lct=10.gt_alv_is0-item=‘ 其中:对联营企业和合营企业的投资收益’.APPENDgt_alv_is0.gt_alv_is0-lct=11.gt_alv_is0-item=‘二、营业利润(亏损以“-”号填列)’.APPENDgt_alv_is0.gt_alv_is0-lct=12.gt_alv_is0-item=‘ 加:营业外收入’.APPENDgt_alv_is0.gt_alv_is0-lct=13.gt_alv_is0-item=‘ 减:营业外支出’.APPENDgt_alv_is0.gt_alv_is0-lct=14.gt_alv_is0-item=‘ 其中:非流动资产处置损失’.APPENDgt_alv_is0.gt_alv_is0-lct=15.gt_alv_is0-item=‘ 加:以前年度损益调整’.APPENDgt_alv_is0.gt_alv_is0-lct=16.gt_alv_is0-item=‘三、利润总额(亏损总额以“-”号填列)’.APPENDgt_alv_is0.gt_alv_is0-lct=17.gt_alv_is0-item=‘ 减:所得税费用’.APPENDgt_alv_is0.gt_alv_is0-lct=18.gt_alv_is0-item=‘四、净利润(净亏损以“-”号填列)’.APPENDgt_alv_is0.gt_alv_is0-lct=19.gt_alv_is0-item=‘五、每股收益:’.APPENDgt_alv_is0.gt_alv_is0-lct=20.gt_alv_is0-item=‘ (一)基本每股收益’.
APPENDgt_alv_is0.gt_alv_is0-lct=21.gt_alv_is0-item=‘ (二)稀释每股收益’.APPENDgt_alv_is0.ENDFORM. ”SETISITEM*&———————————————————————**& Form getisamt*&———————————————————————** gettheisamountbyitemid*———————————————————————-*FORMgetisamtUSING p_yamtp_mamtvalue(p_itemid)value(p_id).“构造科目查询范围的查询条件p_yamt=0.p_mamt=0.PERFORMgetaccrangeUSINGp_itemid.CLEARgs_hsl.REFRESHgt_monv.CHECKgr_act[]ISNOTINITIAL.CASEp_rpv.WHEN‘2070′.”不考虑利润中心IFp_id=4.”6600取功能范围1200SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDrfarea=‘1200′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDrfarea=‘1200′.ELSEIFp_id=5.”6600取功能范围1300SELECTSUM(hsl)INTOp_mamtFROMfaglflexa
WHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDrfarea=‘1300′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDrfarea=‘1300′.ELSEIFp_id=14.”按照科目进行取数SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDpprctr=”.”抵消内部交易.ELSE.”正常取SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=””抵消内部交易ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE (ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’
ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=”.”抵消内部交易ENDIF.WHEN‘2071′OR‘2072′OR‘2073′.”自选利润中心组,利润中心可输可不输IFp_pc<>”.IFp_id=4.”6600取功能范围1200SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDrfarea=‘1200′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE (ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDrfarea=‘1200′.ELSEIFp_id=5.”6600取功能范围1300SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDrfarea=‘1300′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDrfarea=‘1300′.ELSEIFp_id=14.”按照科目进行取数
SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDprctr=p_pc.”抵消内部交易.ELSE.”正常取SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc”抵消内部交易ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc.”抵消内部交易ENDIF.ELSEIFp_pcg<>”ANDp_pcISINITIAL.”利润中心为空,选取所有的利润中心IFp_id=4.”6600取功能范围1200SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDrfarea=‘1200′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamt
FROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDrfarea=‘1200′.ELSEIFp_id=5.”6600取功能范围1300SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDrfarea=‘1300′ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE (ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDrfarea=‘1300′.ELSEIFp_id=14.”按照科目进行取数SELECTSUM(hsl)INTOp_mamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE(ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg).ELSE.”正常取SELECTSUM(hsl)INTOp_mamtFROMfaglflexa
WHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)ANDpoper=p_m.SELECTSUM(hsl)INTOp_yamtFROMfaglflexaWHERE (ryear=p_yANDpoperBETWEEN‘001′ANDp_m)ANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg).ENDIF.ENDIF.ENDCASE.“获取结果数值,p_mamt是本期,p_yamt是累计IFp_id<>6.p_yamt=ABS(p_yamt).p_mamt=ABS(p_mamt).ENDIF.ENDFORM. ”getisamt*&———————————————————————**& Form fillgt_monv*&———————————————————————** FILLTHEMONTHVALUE*———————————————————————-*FORMfillgt_monv.CLEARgt_monv[].gt_monv-month=‘01′.gt_monv-value=gs_hsl-hsl01.APPENDgt_monv.gt_monv-month=‘02′.gt_monv-value=gs_hsl-hsl02.APPENDgt_monv.gt_monv-month=‘03′.gt_monv-value=gs_hsl-hsl03.APPENDgt_monv.gt_monv-month=‘04′.gt_monv-value=gs_hsl-hsl04.APPENDgt_monv.gt_monv-month=‘05′.gt_monv-value=gs_hsl-hsl05.APPENDgt_monv.
gt_monv-month=‘06′.gt_monv-value=gs_hsl-hsl06.APPENDgt_monv.gt_monv-month=‘07′.gt_monv-value=gs_hsl-hsl07.APPENDgt_monv.gt_monv-month=‘08′.gt_monv-value=gs_hsl-hsl08.APPENDgt_monv.gt_monv-month=‘09′.gt_monv-value=gs_hsl-hsl09.APPENDgt_monv.gt_monv-month=‘10′.gt_monv-value=gs_hsl-hsl10.APPENDgt_monv.gt_monv-month=‘11′.gt_monv-value=gs_hsl-hsl11.APPENDgt_monv.gt_monv-month=‘12′.gt_monv-value=gs_hsl-hsl12.APPENDgt_monv.ENDFORM. ”fillgt_monv*&———————————————————————**& Form FILLGT_MONV1*&———————————————————————** text*———————————————————————-*FORMfillgt_monv1.CLEARgt_monv[].gt_monv-month=‘01′.gt_monv-value=gs_hsl1-hsl01.APPENDgt_monv.gt_monv-month=‘02′.gt_monv-value=gs_hsl1-hsl02.APPENDgt_monv.gt_monv-month=‘03′.gt_monv-value=gs_hsl1-hsl03.APPENDgt_monv.gt_monv-month=‘04′.gt_monv-value=gs_hsl1-hsl04.APPENDgt_monv.gt_monv-month=‘05′.gt_monv-value=gs_hsl1-hsl05.APPENDgt_monv.
gt_monv-month=‘06′.gt_monv-value=gs_hsl1-hsl06.APPENDgt_monv.gt_monv-month=‘07′.gt_monv-value=gs_hsl1-hsl07.APPENDgt_monv.gt_monv-month=‘08′.gt_monv-value=gs_hsl1-hsl08.APPENDgt_monv.gt_monv-month=‘09′.gt_monv-value=gs_hsl1-hsl09.APPENDgt_monv.gt_monv-month=‘10′.gt_monv-value=gs_hsl1-hsl10.APPENDgt_monv.gt_monv-month=‘11′.gt_monv-value=gs_hsl1-hsl11.APPENDgt_monv.gt_monv-month=‘12′.gt_monv-value=gs_hsl1-hsl12.APPENDgt_monv.ENDFORM. ”fillgt_monv*&———————————————————————**& Form fm_user_command*&———————————————————————** text*———————————————————————-** –>P_UCOMM text*———————————————————————-*FORMfm_user_command USING p_ucomm.CASEp_ucomm.WHEN‘GETEXC’.*–>2012.01.16CCYUSTARTPERFORMget_excel.*<–2012.01.16CCYUEND.* WHEN‘Mod’.** CALLMETHODgs_alv->set_frontend_fieldcatalog** CALLMETHODgs_alv->refresh_table_display.* WHEN‘SAVE’.* WHEN‘New’.* WHEN‘Delete’.* WHEN‘IMPO’.ENDCASE.ENDFORM. ”fm_user_command
*&———————————————————————**& Form modify_toolbar*&———————————————————————** text*———————————————————————-** –>P_OBJECT text* –>P_INTERACTIVE text*———————————————————————-*FORMmodify_toolbar USING p_objectTYPEREFTOcl_alv_event_toolbar_setp_interactive.*–>2012.01.16CCYUSTARTDATA:ls_toolbarTYPEstb_button.CLEARls_toolbar.MOVE3 TOls_toolbar-butn_type.APPENDls_toolbar TOp_object->mt_toolbar.CLEARls_toolbar.MOVE‘GETEXC’ TOls_toolbar-function.”functioncodeMOVEicon_xxl TOls_toolbar-icon.”iconMOVE‘导出EXCEL’ TOls_toolbar-quickinfo.”thetipMOVE‘导出EXCEL’ TOls_toolbar-text.MOVE” TOls_toolbar-disabled.”ifdisabledAPPENDls_toolbar TOp_object->mt_toolbar.*<–2012.01.16CCYUEND.ENDFORM. ”MODIFY_TOOLBAR*&———————————————————————**& Form fill_field_category*&———————————————————————** text*———————————————————————-** –>P_SECTION text* –>P_FNAME text* –>P_VALUE text*———————————————————————-*FORMfill_field_category USING p_sectionp_fnamep_value.DATA:l_col(40).FIELD-SYMBOLS.IFp_section=‘S’.CLEARgs_fieldcat.ENDIF.CONCATENATE‘GS_FIELDCAT-’p_fnameINTOl_col.ASSIGN(l_col)TO.MOVEp_value TO.
IFp_section=‘E’.APPENDgs_fieldcatTOgt_fieldcat.ENDIF.ENDFORM. ”FILL_FIELD_CATEGORY*&———————————————————————**& Form DISPLAYIS*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMdisplayis.PERFORMsetlayout.PERFORMbuildfieldcat_is.PERFORMexcluding_tb_function.ENDFORM. ”DISPLAYIS*&———————————————————————**& Form setlayout*&———————————————————————** text*———————————————————————-*FORMsetlayout.CLEARgs_layout.gs_layout-cwidth_opt=‘X’.gs_layout-zebra=‘X’.gs_layout-sel_mode=‘A’.ENDFORM. ”setlayout*&———————————————————————**& Form BUILDFIELDCAT_IS*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMbuildfieldcat_is.CLEARgt_fieldcat[].PERFORMfill_field_categoryUSING:‘S’‘TABNAME’ ‘GT_ALV_IS0′,” ’SCRTEXT_M’‘项目’,” ’OUTPUTLEN’‘20′,‘E’‘FIELDNAME’‘ITEM’,‘S’‘TABNAME’ ‘GT_ALV_IS0′,
” ’SCRTEXT_M’‘行次’,” ’OUTPUTLEN’‘20′,” ’KEY’ ‘X’,‘E’‘FIELDNAME’‘LCT’,‘S’‘TABNAME’ ‘GT_ALV_IS0′,” ’SCRTEXT_M’‘本期金额’,” ’OUTPUTLEN’‘20′,” ’HotSpot’ ‘X’,‘E’‘FIELDNAME’‘MAMT’,‘S’‘TABNAME’ ‘GT_ALV_IS0′,” ’SCRTEXT_M’‘累计余额’,” ’OUTPUTLEN’‘20′,‘E’‘FIELDNAME’‘YAMT’.ENDFORM. ”BUILDFIELDCAT_IS*&———————————————————————**& Form fm_add_topofpage*&———————————————————————** text*———————————————————————-** –>P_E_DYNDOC_ID text*———————————————————————-*FORMfm_add_topofpage USING p_e_dyndoc_idTYPEREFTOcl_dd_document.DATAl_text(255).IFgv_iden=‘IS’.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext =‘利润表(非金融类)INCOMESTATEMENT(NON-financialenterprise)’sap_fontsize=cl_dd_document=>largesap_emphasis=cl_dd_document=>strong.CALLMETHODgs_dyndoc_id->new_line.CONCATENATEp_y‘年’‘ ’p_m‘月’‘会企02表单位:’p_currINTOl_text.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext=l_text.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext=‘爱思开实业(上海)商贸有限公司’.PERFORMfm_control_html.
ELSEIFgv_iden=‘BS’.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext =‘资产负债表(非金融类)BALANCESHEET(NON-financialenterprise)’sap_fontsize=cl_dd_document=>largesap_emphasis=cl_dd_document=>strong.CALLMETHODgs_dyndoc_id->new_line.CONCATENATEp_y‘年’‘ ’p_m‘月’‘会企02表单位:’p_currINTOl_text.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext=l_text.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->new_line.CALLMETHODgs_dyndoc_id->add_textEXPORTINGtext=‘爱思开实业(上海)商贸有限公司’.PERFORMfm_control_html.ENDIF.ENDFORM. ”FM_ADD_TOPOFPAGE*&———————————————————————**& Form fm_control_html*&———————————————————————** text*———————————————————————-*FORMfm_control_html.*DefinelocalvariablesDATA:lv_length TYPEi, ”Lengthlv_background_idTYPEsdydo_keyVALUEspace.”Backgroundid*CreatingHTMLControlIFgs_html_cntrlISINITIAL.CREATEOBJECTgs_html_cntrlEXPORTINGparent=gs_parent_html.ENDIF.*Callfunction‘REUSE_ALV_GRID_COMMENTARY_SET’tosetCALLFUNCTION‘REUSE_ALV_GRID_COMMENTARY_SET’EXPORTINGdocument=gs_dyndoc_idbottom =‘E’“SPACEIMPORTINGlength =lv_length.
*GetTOP->HTML_TABLEReadyCALLMETHODgs_dyndoc_id->merge_document.*SetwallpaperCALLMETHODgs_dyndoc_id->set_document_backgroundEXPORTINGpicture_id=lv_background_id.*ConnectTopofpagedocumenttoHTMLControlgs_dyndoc_id->html_control=gs_html_cntrl.*DisplayTopofpagedocumentCALLMETHODgs_dyndoc_id->display_documentEXPORTINGreuse_control =‘X’parent =gs_parent_htmlEXCEPTIONShtml_display_error=1.ENDFORM. ”FM_CONTROL_HTML*&———————————————————————**& Form excluding_tb_function*&———————————————————————** text*———————————————————————-*FORMexcluding_tb_function.CLEAR:g_toolbar.REFRESH:g_toolbar.PERFORMappend_alv_exclude_functionsTABLESg_toolbarUSING:cl_gui_alv_grid=>mc_fc_loc_undo ,cl_gui_alv_grid=>mc_fc_auf ,cl_gui_alv_grid=>mc_fc_average , ”MeanValuecl_gui_alv_grid=>mc_fc_back_classic ,cl_gui_alv_grid=>mc_fc_call_abc ,cl_gui_alv_grid=>mc_fc_check ,cl_gui_alv_grid=>mc_fc_call_chain ,cl_gui_alv_grid=>mc_fc_call_crbatch ,cl_gui_alv_grid=>mc_fc_call_crweb ,cl_gui_alv_grid=>mc_fc_call_lineitems ,cl_gui_alv_grid=>mc_fc_call_master_data ,cl_gui_alv_grid=>mc_fc_call_more ,cl_gui_alv_grid=>mc_fc_call_report ,cl_gui_alv_grid=>mc_fc_call_xint ,* CL_GUI_ALV_GRID=>MC_FC_CALL_XXL ,”导出EXCELcl_gui_alv_grid=>mc_fc_col_invisible ,cl_gui_alv_grid=>mc_fc_col_optimize ,cl_gui_alv_grid=>mc_fc_count ,
cl_gui_alv_grid=>mc_fc_current_variant ,cl_gui_alv_grid=>mc_fc_data_save ,cl_gui_alv_grid=>mc_fc_delete_filter ,cl_gui_alv_grid=>mc_fc_deselect_all ,cl_gui_alv_grid=>mc_fc_detail ,cl_gui_alv_grid=>mc_fc_expcrdata ,cl_gui_alv_grid=>mc_fc_expcrdesig ,cl_gui_alv_grid=>mc_fc_expcrtempl ,cl_gui_alv_grid=>mc_fc_expmdb ,cl_gui_alv_grid=>mc_fc_extend ,cl_gui_alv_grid=>mc_fc_f4 ,” CL_GUI_ALV_GRID=>MC_FC_FILTER ,” CL_GUI_ALV_GRID=>MC_FC_FIND ,” CL_GUI_ALV_GRID=>MC_FC_FIX_COLUMNS ,cl_gui_alv_grid=>mc_fc_graph ,cl_gui_alv_grid=>mc_fc_help ,cl_gui_alv_grid=>mc_fc_info ,cl_gui_alv_grid=>mc_fc_load_variant ,cl_gui_alv_grid=>mc_fc_html ,cl_gui_alv_grid=>mc_fc_loc_move_row ,cl_gui_alv_grid=>mc_fc_loc_append_row ,cl_gui_alv_grid=>mc_fc_loc_paste ,cl_gui_alv_grid=>mc_fc_loc_paste_new_row ,cl_gui_alv_grid=>mc_fc_maintain_variant ,cl_gui_alv_grid=>mc_fc_maximum ,cl_gui_alv_grid=>mc_fc_minimum ,cl_gui_alv_grid=>mc_fc_pc_file ,cl_gui_alv_grid=>mc_fc_print ,cl_gui_alv_grid=>mc_fc_print_back ,cl_gui_alv_grid=>mc_fc_print_prev ,cl_gui_alv_grid=>mc_fc_refresh ,cl_gui_alv_grid=>mc_fc_reprep ,cl_gui_alv_grid=>mc_fc_url_copy_to_clipboard,cl_gui_alv_grid=>mc_fc_send ,cl_gui_alv_grid=>mc_fc_separator ,” CL_GUI_ALV_GRID=>MC_FC_SORT ,” CL_GUI_ALV_GRID=>MC_FC_SORT_ASC ,” CL_GUI_ALV_GRID=>MC_FC_SORT_DSC ,cl_gui_alv_grid=>mc_fc_subtot ,cl_gui_alv_grid=>mc_fc_sum ,cl_gui_alv_grid=>mc_fc_to_office ,cl_gui_alv_grid=>mc_fc_to_rep_tree ,cl_gui_alv_grid=>mc_fc_unfix_columns ,cl_gui_alv_grid=>mc_fc_views ,
cl_gui_alv_grid=>mc_fc_view_crystal ,cl_gui_alv_grid=>mc_fc_view_excel ,cl_gui_alv_grid=>mc_fc_view_grid ,cl_gui_alv_grid=>mc_fc_word_processor .” CL_GUI_ALV_GRID=>MC_MB_EXPORT .ENDFORM. ”excluding_tb_function*&———————————————————————**& Form EXCLUDING_TB_FUNCTION1*&———————————————————————** text*———————————————————————-*FORMexcluding_tb_function1.CLEAR:g_toolbar.REFRESH:g_toolbar.PERFORMappend_alv_exclude_functionsTABLESg_toolbar1USING:cl_gui_alv_grid=>mc_fc_loc_undo ,cl_gui_alv_grid=>mc_fc_auf ,cl_gui_alv_grid=>mc_fc_average , ”MeanValuecl_gui_alv_grid=>mc_fc_back_classic ,cl_gui_alv_grid=>mc_fc_call_abc ,cl_gui_alv_grid=>mc_fc_check ,cl_gui_alv_grid=>mc_fc_call_chain ,cl_gui_alv_grid=>mc_fc_call_crbatch ,cl_gui_alv_grid=>mc_fc_call_crweb ,cl_gui_alv_grid=>mc_fc_call_lineitems ,cl_gui_alv_grid=>mc_fc_call_master_data ,cl_gui_alv_grid=>mc_fc_call_more ,cl_gui_alv_grid=>mc_fc_call_report ,cl_gui_alv_grid=>mc_fc_call_xint ,” CL_GUI_ALV_GRID=>MC_FC_CALL_XXL ,”导出EXCELcl_gui_alv_grid=>mc_fc_col_invisible ,cl_gui_alv_grid=>mc_fc_col_optimize ,cl_gui_alv_grid=>mc_fc_count ,cl_gui_alv_grid=>mc_fc_current_variant ,cl_gui_alv_grid=>mc_fc_data_save ,cl_gui_alv_grid=>mc_fc_delete_filter ,cl_gui_alv_grid=>mc_fc_deselect_all ,cl_gui_alv_grid=>mc_fc_detail ,cl_gui_alv_grid=>mc_fc_expcrdata ,cl_gui_alv_grid=>mc_fc_expcrdesig ,cl_gui_alv_grid=>mc_fc_expcrtempl ,cl_gui_alv_grid=>mc_fc_expmdb ,cl_gui_alv_grid=>mc_fc_extend ,
cl_gui_alv_grid=>mc_fc_f4 ,” CL_GUI_ALV_GRID=>MC_FC_FILTER ,” CL_GUI_ALV_GRID=>MC_FC_FIND ,” CL_GUI_ALV_GRID=>MC_FC_FIX_COLUMNS ,cl_gui_alv_grid=>mc_fc_graph ,cl_gui_alv_grid=>mc_fc_help ,cl_gui_alv_grid=>mc_fc_info ,cl_gui_alv_grid=>mc_fc_load_variant ,cl_gui_alv_grid=>mc_fc_html ,cl_gui_alv_grid=>mc_fc_loc_move_row ,cl_gui_alv_grid=>mc_fc_loc_append_row ,cl_gui_alv_grid=>mc_fc_loc_paste ,cl_gui_alv_grid=>mc_fc_loc_paste_new_row ,cl_gui_alv_grid=>mc_fc_maintain_variant ,cl_gui_alv_grid=>mc_fc_maximum ,cl_gui_alv_grid=>mc_fc_minimum ,cl_gui_alv_grid=>mc_fc_pc_file ,cl_gui_alv_grid=>mc_fc_print ,cl_gui_alv_grid=>mc_fc_print_back ,cl_gui_alv_grid=>mc_fc_print_prev ,cl_gui_alv_grid=>mc_fc_refresh ,cl_gui_alv_grid=>mc_fc_reprep ,cl_gui_alv_grid=>mc_fc_url_copy_to_clipboard,cl_gui_alv_grid=>mc_fc_send ,cl_gui_alv_grid=>mc_fc_separator ,” CL_GUI_ALV_GRID=>MC_FC_SORT ,” CL_GUI_ALV_GRID=>MC_FC_SORT_ASC ,” CL_GUI_ALV_GRID=>MC_FC_SORT_DSC ,cl_gui_alv_grid=>mc_fc_subtot ,cl_gui_alv_grid=>mc_fc_sum ,cl_gui_alv_grid=>mc_fc_to_office ,cl_gui_alv_grid=>mc_fc_to_rep_tree ,cl_gui_alv_grid=>mc_fc_unfix_columns ,cl_gui_alv_grid=>mc_fc_views ,cl_gui_alv_grid=>mc_fc_view_crystal ,cl_gui_alv_grid=>mc_fc_view_excel ,cl_gui_alv_grid=>mc_fc_view_grid ,cl_gui_alv_grid=>mc_fc_word_processor .” CL_GUI_ALV_GRID=>MC_MB_EXPORT .ENDFORM. ”excluding_tb_function*&———————————————————————**& Form append_alv_exclude_functions*&———————————————————————** text
*———————————————————————-** –>PT_EXCLUDEtext* –>P_VALUE text*———————————————————————-*FORMappend_alv_exclude_functionsTABLESpt_excludeTYPEui_functionsUSINGp_value TYPEui_func.APPENDp_valueTOpt_exclude.ENDFORM. ”APPEND_ALV_EXCLUDE_FUNCTIONS*&———————————————————————**& Form GETBS*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMgetbs.SELECT ukursgdatuINTOCORRESPONDINGFIELDSOFTABLEgt_bsFROMtcurrWHERE fcurr=‘CNY’ANDtcurr=‘KRW’ANDkurst=‘M’ANDgdatu>=sy-datumORDERBYgdatuASCENDING.IFgt_bs[]ISNOTINITIAL.READTABLEgt_bsINDEX1.gv_bs=gt_bs-ukurs.gv_bs=ABS(gv_bs).ENDIF.ENDFORM. ”GETBS*&———————————————————————**& Form PPSMARTFORMS_IS*&———————————————————————** previewtheisreport*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMppsmartforms_is.DATA:lv_datTYPEzcte.CONCATENATEp_y‘年 ’p_m‘月’INTOlv_dat.DATAlv_fm_nameTYPErs38l_fnam.
DATA:ctrl_paramTYPEssfctrlop,”控制参数out_optionTYPEssfcompop.”控制选项ctrl_param-preview=‘X’.out_option-tddest=‘LP01′.ctrl_param-no_dialog=‘X’.IFgv_iden=‘IS’.CALLFUNCTION‘SSF_FUNCTION_MODULE_NAME’EXPORTINGformname=‘Z_N207_IS1′IMPORTINGfm_name =lv_fm_name.IFsy-subrc<>0.EXIT.ENDIF.CALLFUNCTIONlv_fm_nameEXPORTINGcontrol_parameters=ctrl_paramoutput_options =out_optionuser_settings =spacedates =lv_datTABLESitab_is =gt_alv_is0[].IFsy-subrc<>0.ENDIF.ELSE.CALLFUNCTION‘SSF_FUNCTION_MODULE_NAME’EXPORTINGformname=‘Z_N207_BS’IMPORTINGfm_name =lv_fm_name.IFsy-subrc<>0.EXIT.ENDIF.CALLFUNCTIONlv_fm_nameEXPORTINGcontrol_parameters=ctrl_paramoutput_options =out_optionuser_settings =spacedate =lv_datTABLESit_tab =gt_alv_bs0[].IFsy-subrc<>0.ENDIF.ENDIF.
ENDFORM. ”PPSMARTFORMS_IS*&———————————————————————**& Form SETBSITEM*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMsetbsitem.SELECT*FROMzn207_bs_itemINTO CORRESPONDINGFIELDSOFTABLEgt_alv_bs0.ENDFORM. ”SETBSITEM*&———————————————————————**& Form GETBSAMT*&———————————————————————** text*———————————————————————-** –>P_YAMT text — 期末余额* –>P_YSAMT text — 年初余额* –>VALUE(P_ITEMID) text —*———————————————————————-*FORMgetbsamtUSING p_yamtp_ysamtvalue(p_itemid)value(ly).p_yamt=0.p_ysamt=0.PERFORMgetaccrangeUSINGp_itemid.”构造资产负债表项目编号下的科目范围CHECKgr_act[]ISNOTINITIAL.CASEp_rpv.WHEN‘2070′.”不考虑利润中心“本年度截止到查询月的发生额SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpoperBETWEEN‘001′ANDp_mANDpprctr=”.”抵消内部交易’“截止到去年的发生额SELECTSUM(hsl)INTO p_ysamtFROMfaglflexa
WHEREryearLElyANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpprctr=”.”抵消内部交易’p_yamt=p_yamt+p_ysamt.WHEN‘2071′OR‘2072′OR‘2073′.”自选利润中心组,利润中心可输可不输IFp_pc<>”.”有利润中心的情况“本年度截止到查询月的发生额SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpoperBETWEEN‘001′ANDp_mANDprctr=p_pc.”抵消内部交易’“截止到去年的发生额SELECTSUM(hsl)INTO p_ysamtFROMfaglflexaWHEREryearLElyANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pc.p_yamt=p_yamt+p_ysamt.ELSEIFp_pcISINITIALANDp_pcgISNOTINITIAL.”利润中心为空,选取所有的利润中心“本年度截止到查询月的发生额SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=p_yANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDpoperBETWEEN‘001′ANDp_mANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′).“截止到去年的发生额SELECTSUM(hsl)INTO p_ysamtFROMfaglflexaWHEREryearLElyANDrldnr=‘0L’
ANDracctINgr_actANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′).p_yamt=p_yamt+p_ysamt.ENDIF.ENDCASE.”p_yamt=ABS(p_yamt).“取消转正”p_ysamt=ABS(p_ysamt).ENDFORM. ”getisamt*&———————————————————————**& Form getprofitamt*&———————————————————————** 计算年结留存收益科目的未分配利润*———————————————————————-** –>P_YAMT text* –>P_YSAMT text* –>VALUE(P_ITEMID) text* –>VALUE(LY) text*———————————————————————-*FORMgetprofitamtUSING p_yamtvalue(ly).p_yamt=0.CASEp_rpv.WHEN‘2070′.”不考虑利润中心“本年度截止到查询月的发生额SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=lyANDrldnr=‘0L’ANDracct =‘0000465201′ANDrbukrs=‘N207′ANDpprctr=”.”抵消内部交易’WHEN‘2071′OR‘2072′OR‘2073′.”自选利润中心组,利润中心可输可不输IFp_pc<>”.”有利润中心的情况SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=lyANDrldnr=‘0L’ANDracct =‘0000465201′ANDrbukrs=‘N207′ANDprctr=p_pc.
ELSEIFp_pcISINITIALANDp_pcgISNOTINITIAL.”利润中心为空,选取所有的利润中心“本年度截止到查询月的发生额SELECTSUM(hsl)INTO p_yamtFROMfaglflexaWHEREryear=lyANDrldnr=‘0L’ANDracct =‘0000465201′ANDrbukrs=‘N207′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′).ENDIF.ENDCASE.p_yamt=(-1)*p_yamt.ENDFORM. ”getisamt*&———————————————————————**& Form SETCON*&———————————————————————** setcontainerforalv*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMsetcon.CREATEOBJECTgs_conEXPORTINGcontainer_name=‘CON’.CREATEOBJECTgs_dyndoc_idEXPORTINGstyle=‘ALV_GRID’.CREATEOBJECTgs_splitter “分割为1到5行EXPORTINGparent =gs_conrows =2columns=1.CALLMETHODgs_splitter->get_container”获取第一行给GS_PARENT_HTMLEXPORTINGrow =1column =1RECEIVINGcontainer=gs_parent_html.CALLMETHODgs_splitter->get_containerEXPORTING
row =2column =1RECEIVINGcontainer=gs_parent_grid.CALLMETHODgs_splitter->set_row_heightEXPORTINGid =1height=20.IFgv_iden=‘IS’.IFgs_alv_isISINITIAL.CREATEOBJECTgs_alv_isEXPORTINGi_parent=gs_parent_grid.ENDIF.ELSEIFgv_iden=‘BS’.IFgs_alv_bsISINITIAL.CREATEOBJECTgs_alv_bsEXPORTINGi_parent=gs_parent_grid.ENDIF.ENDIF.ENDFORM. ”SETCON*&———————————————————————**& Form SETCON1*&———————————————————————** text*———————————————————————-*FORMsetcon1.CREATEOBJECTgs_con1EXPORTINGcontainer_name=‘CON1′.CREATEOBJECTgs_dyndoc_id1EXPORTINGstyle=‘ALV_GRID’.CREATEOBJECTgs_splitter1 ”分割为1到5行EXPORTINGparent =gs_con1rows =1columns=1.* CALLMETHODGS_SPLITTER1->GET_CONTAINER”获取第一行给GS_PARENT_HTML* EXPORTING* ROW =1
* COLUMN =1* RECEIVING* CONTAINER=GS_PARENT_HTML1.CALLMETHODgs_splitter1->get_containerEXPORTINGrow =1column =1RECEIVINGcontainer=gs_parent_grid1.ENDFORM. ”SETCON*&———————————————————————**& Form DISPLAYBS*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMdisplaybs.PERFORMsetlayout.PERFORMbuildfieldcat_bs.PERFORMexcluding_tb_function.ENDFORM. ”DISPLAYBS*&———————————————————————**& Form BUILDFIELDCAT_BS*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMbuildfieldcat_bs.CLEARgt_fieldcat[].PERFORMfill_field_categoryUSING:‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘行次’,” ’OUTPUTLEN’‘20′,” ’KEY’ ‘X’,” ’COL_POS’ ‘2′,‘E’‘FIELDNAME’‘LCT1′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘资产’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘1′,
‘E’‘FIELDNAME’‘ITEM1′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘期末余额’,” ’OUTPUTLEN’‘20′,” ’HOTSPOT’ ‘X’,” ’COL_POS’ ‘3′,‘E’‘FIELDNAME’‘YAMT1′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘年初余额’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘4′,‘E’‘FIELDNAME’‘YSAMT1′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘行次’,” ’OUTPUTLEN’‘20′,” ’KEY’ ‘X’,” ’COL_POS’ ‘6′,‘E’‘FIELDNAME’‘LCT2′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘负债和所有者权益(或股东权益)’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘5′,‘E’‘FIELDNAME’‘ITEM2′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘期末余额’,” ’COL_POS’ ‘7′,” ’HOTSPOT’ ‘X’,” ’OUTPUTLEN’‘20′,‘E’‘FIELDNAME’‘YAMT2′,‘S’‘TABNAME’ ‘GT_ALV_BS0′,” ’SCRTEXT_M’‘年初余额’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘8′,‘E’‘FIELDNAME’‘YSAMT2′.ENDFORM. ”BUILDFIELDCAT_BS*&———————————————————————**& Form PRINT*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMprint.
DATA:lv_datTYPEzcte.CONCATENATEp_y‘年 ’p_m‘月’INTOlv_dat.DATAlv_fm_nameTYPErs38l_fnam.”定义一个rs38l_fnam类型的变量存储功能模块名IFgv_iden=‘BS’.CALLFUNCTION‘SSF_FUNCTION_MODULE_NAME’EXPORTING”输入参数,传递SmartForms名子formname=‘Z_N207_BS’IMPORTING:”输出参数,返回SmartForms激活时生成的功能模块名fm_name =lv_fm_name.IFsy-subrc<>0.EXIT.ENDIF.CALLFUNCTIONlv_fm_nameEXPORTINGdate =lv_datTABLESit_tab=gt_alv_bs0[].ELSE.CALLFUNCTION‘SSF_FUNCTION_MODULE_NAME’EXPORTING”输入参数,传递SmartForms名子formname=‘Z_N207_IS1′IMPORTING:”输出参数,返回SmartForms激活时生成的功能模块名fm_name =lv_fm_name.IFsy-subrc<>0.EXIT.ENDIF.CALLFUNCTIONlv_fm_nameEXPORTINGdates =lv_datTABLESitab_is=gt_alv_is0[].ENDIF.ENDFORM. ”PRINT*&———————————————————————**& Form DRILLDOWNIS1*&———————————————————————** 获取利润表和资产负债表中本期金额的详细信息*———————————————————————-** –>P_E_ROW_ID text* –>P_E_COLUMN_ID text* –>P_ES_ROW_NO text*———————————————————————-*FORMdrilldownis1 USING p_e_row_id
p_e_column_idTYPElvc_s_colp_es_row_noTYPElvc_s_roid.IFgv_iden=‘IS’.CLEARgt_alv_is_dp1[].CASE p_es_row_no-row_id.WHEN1.PERFORMgetisdpdataUSING‘6001′p_es_row_no-row_id.APPENDLINESOFgt_alv_is_dp1TOgt_alv_is_dp2.PERFORMgetisdpdataUSING‘6100′p_es_row_no-row_id.APPENDLINESOFgt_alv_is_dp2TOgt_alv_is_dp1.SORTgt_alv_is_dp1BYracctASCENDING.CLEARgt_alv_is_dp2[].WHEN2.PERFORMgetisdpdataUSING‘6400′p_es_row_no-row_id.APPENDLINESOFgt_alv_is_dp1TOgt_alv_is_dp2.PERFORMgetisdpdataUSING‘6500′p_es_row_no-row_id.APPENDLINESOFgt_alv_is_dp2TOgt_alv_is_dp1.CLEARgt_alv_is_dp2[].APPENDLINESOFgt_alv_is_dp1TOgt_alv_is_dp2.PERFORMgetisdpdataUSING‘6610′p_es_row_no-row_id.APPENDLINESOFgt_alv_is_dp2TOgt_alv_is_dp1.SORTgt_alv_is_dp1BYracctASCENDING.CLEARgt_alv_is_dp2[].WHEN3.PERFORMgetisdpdataUSING‘6450′p_es_row_no-row_id.WHEN4.PERFORMgetisdpdataUSING‘6600′p_es_row_no-row_id.WHEN5.PERFORMgetisdpdataUSING‘6600′p_es_row_no-row_id.WHEN6.PERFORMgetisdpdataUSING‘6620′p_es_row_no-row_id.WHEN7.PERFORMgetisdpdataUSING‘6630′p_es_row_no-row_id.WHEN8.PERFORMgetisdpdataUSING‘6640′p_es_row_no-row_id.WHEN9.PERFORMgetisdpdataUSING‘6645′p_es_row_no-row_id.WHEN12.PERFORMgetisdpdataUSING‘6301′p_es_row_no-row_id.WHEN13.PERFORMgetisdpdataUSING‘6711′p_es_row_no-row_id.WHEN14.PERFORMgetisdpdataUSING‘0000′p_es_row_no-row_id.WHEN15.
PERFORMgetisdpdataUSING‘6901′p_es_row_no-row_id.WHEN17.PERFORMgetisdpdataUSING‘6801′p_es_row_no-row_id.ENDCASE.*–>2012.01.16CCYUSTARTIFgt_alv_is_dp1[]ISNOTINITIAL.SELECTsaknrtxt50FROMskatINTOCORRESPONDINGFIELDSOFTABLEgt_skatFORALLENTRIESINgt_alv_is_dp1WHEREsaknr=gt_alv_is_dp1-racctANDspras=‘1′ANDktopl=‘SKGC’.ENDIF.SORTgt_alv_is_dp1BYracct.SORTgt_skatBYsaknr.LOOPATgt_alv_is_dp1.READTABLEgt_skatWITHKEYsaknr=gt_alv_is_dp1-racct.IFsy-subrc=0.gt_alv_is_dp1-txt50=gt_skat-txt50.ENDIF.MODIFYgt_alv_is_dp1.ENDLOOP.*<–2012.01.16CCYUEND.LOOPATgt_alv_is_dp1.CALLFUNCTION‘CONVERSION_EXIT_ALPHA_OUTPUT’EXPORTINGinput =gt_alv_is_dp1-racctIMPORTINGoutput=gt_alv_is_dp1-racct.MODIFY gt_alv_is_dp1.ENDLOOP.IFp_es_row_no-row_id=10ORp_es_row_no-row_id=11ORp_es_row_no-row_id=16ORp_es_row_no-row_id=18ORp_es_row_no-row_id=19ORp_es_row_no-row_id=20ORp_es_row_no-row_id=21.ELSE.CALLSCREEN‘0300′STARTINGAT1010ENDINGAT6525.ENDIF.ELSE.”资产负债表的下钻报表CLEARgt_alv_bs_dp1[].
CLEARgt_alv_bs_dp2[].DATA:p_tran(1)VALUE‘0′.CASE p_es_row_no-row_id.”选中行的行号WHEN2.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1000′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2001′.ENDIF.p_tran=‘1′.WHEN3.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1101′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2010′.ENDIF.p_tran=‘1′.WHEN4.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1121′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2201′.ENDIF.p_tran=‘1′.WHEN5.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1122′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2202′.ENDIF.p_tran=‘1′.WHEN6.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1123′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2203′.ENDIF.p_tran=‘1′.WHEN7.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1132′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2211′.ENDIF.
p_tran=‘1′.WHEN8.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1131′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2221′.ENDIF.p_tran=‘1′.WHEN9.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1221′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2231′.ENDIF.p_tran=‘1′.WHEN10.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1400′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2232′.ENDIF.p_tran=‘1′.WHEN11.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1507′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2241′.ENDIF.p_tran=‘1′.WHEN12.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1499′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2240′.ENDIF.p_tran=‘1′.WHEN13.IFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2222′.p_tran=‘1′.ENDIF.WHEN15.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1503′.
p_tran=‘1′.ENDIF.WHEN16.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1501′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2501′.ENDIF.p_tran=‘1′.WHEN17.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1504′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2502′.ENDIF.p_tran=‘1′.WHEN18.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1511′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2701′.ENDIF.p_tran=‘1′.WHEN19.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1521′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2711′.ENDIF.p_tran=‘1′.WHEN20.IFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2801′.p_tran=‘1′.ENDIF.WHEN21.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1604′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2901′.ENDIF.p_tran=‘1′.WHEN22.IFp_e_column_id-fieldname=‘YAMT1′.
PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1605′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘2000′.ENDIF.p_tran=‘1′.WHEN23.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1606′.p_tran=‘1′.ENDIF.WHEN26.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1701′.p_tran=‘1′.ENDIF.WHEN27.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1710′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘4002′.ENDIF.p_tran=‘1′.WHEN28.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1711′.p_tran=‘1′.ENDIF.WHEN29.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1801′.ELSEIFp_e_column_id-fieldname=‘YAMT2′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘4101′.ENDIF.p_tran=‘1′.WHEN30.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1811′.p_tran=‘1′.ENDIF.WHEN31.IFp_e_column_id-fieldname=‘YAMT1′.PERFORMgetbsdpTABLESgt_alv_bs_dp1USING‘1901′.p_tran=‘1′.ENDIF.
ENDCASE.*–>2012.01.16CCYUSTARTIFgt_alv_bs_dp1[]ISNOTINITIAL.CLEARgt_skat[].SELECTsaknrtxt50FROMskatINTOCORRESPONDINGFIELDSOFTABLEgt_skatFORALLENTRIESINgt_alv_bs_dp1WHEREsaknr=gt_alv_bs_dp1-racctANDspras=‘1′ANDktopl=‘SKGC’.ENDIF.SORTgt_alv_bs_dp1BYracct.SORTgt_skatBYsaknr.LOOPATgt_alv_bs_dp1.READTABLEgt_skatWITHKEYsaknr=gt_alv_bs_dp1-racct.IFsy-subrc=0.gt_alv_bs_dp1-txt50=gt_skat-txt50.ENDIF.MODIFYgt_alv_bs_dp1.ENDLOOP.*<–2012.01.16CCYUEND.LOOPATgt_alv_bs_dp1.”去除科目编号的前导零CALLFUNCTION‘CONVERSION_EXIT_ALPHA_OUTPUT’EXPORTINGinput =gt_alv_bs_dp1-racctIMPORTINGoutput=gt_alv_bs_dp1-racct.MODIFY gt_alv_bs_dp1.ENDLOOP.IFp_tran=‘1′.CALLSCREEN‘0400′STARTINGAT1010ENDINGAT6525.ENDIF.ENDIF.ENDFORM. ”DRILLDOWNIS1*&———————————————————————**& Form GETACCRANGE*&———————————————————————** 获取报表版本下的科目范围*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMgetaccrangeUSINGp_itemid.
CLEARgr_act[].LOOPATgt_fagl_011zcWHEREergsl=p_itemid.gr_act-sign=‘I’.gr_act-low=gt_fagl_011zc-vonkt.gr_act-high=gt_fagl_011zc-biskt.gr_act-option=‘BT’.CALLFUNCTION‘CONVERSION_EXIT_ALPHA_INPUT’EXPORTINGinput =gr_act-lowIMPORTINGoutput=gr_act-low.CALLFUNCTION‘CONVERSION_EXIT_ALPHA_INPUT’EXPORTINGinput =gr_act-highIMPORTINGoutput=gr_act-high.APPENDgr_act.ENDLOOP.ENDFORM. ”GETACCRANGE*&———————————————————————**& Form GETISAMT*&———————————————————————** 获取利润表下钻的报表数据*———————————————————————-** –>P_YAMT text* –>P_MAMT text* –>VALUE(P_ITEMID) text* –>VALUE(P_ID) text*———————————————————————-*FORMgetisdpdataUSINGvalue(p_itemid)value(p_id).CLEARgt_alv_is_dp1[].“构造科目查询范围的查询条件PERFORMgetaccrangeUSINGp_itemid.CHECKgr_act[]ISNOTINITIAL.CASEp_rpv.WHEN‘2070′.”不考虑利润中心IFp_id=4.”6600取功能范围1200SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_y
ANDpoper=p_mANDrldnr=‘0L’ANDracctINgr_actANDpprctr=””抵消内部交易ANDrfarea=‘1200′ANDrbukrs=‘N207′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=5.”6600取功能范围1300SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDracctINgr_actANDpprctr=””抵消内部交易ANDrbukrs=‘N207′ANDrfarea=‘1300′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=14.”按照科目进行取数SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrbukrs=‘N207′ANDrldnr=‘0L’ANDracctBETWEEN‘962101′AND‘962201′ANDpprctr=””抵消内部交易GROUPBYracctORDERBYracctASCENDING.ELSE.”正常取SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDrbukrs=‘N207′
ANDracctINgr_actANDpprctr=””抵消内部交易GROUPBYracctORDERBYracctASCENDING.ENDIF.WHEN‘2071′OR‘2072′OR‘2073′.”自选利润中心组,利润中心可输可不输IFp_pc<>”.IFp_id=4.”6600取功能范围1200SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pcANDrfarea=‘1200′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=5.”6600取功能范围1300SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pcANDrfarea=‘1300′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=14.”按照科目进行取数SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’
ANDracctBETWEEN‘962101′AND‘962201′ANDprctr=p_pcANDrbukrs=‘N207′GROUPBYracctORDERBYracctASCENDING.ELSE.”正常取SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDracctINgr_actANDrbukrs=‘N207′ANDprctr=p_pcGROUPBYracctORDERBYracctASCENDING.ENDIF.ELSEIFp_pc=”.”利润中心为空,选取所有的利润中心IFp_id=4.”6600取功能范围1200SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDrbukrs=‘N207′ANDracctINgr_actANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′)ANDrfarea=‘1200′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=5.”6600取功能范围1300SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDrbukrs=‘N207′
ANDracctINgr_actANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′)ANDrfarea=‘1300′GROUPBYracctORDERBYracctASCENDING.ELSEIFp_id=14.”按照科目进行取数SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrldnr=‘0L’ANDrbukrs=‘N207′ANDracctBETWEEN‘962101′AND‘962201′ANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′)GROUPBYracctORDERBYracctASCENDING.ELSE.”正常取SELECTracctASracctSUM(hsl)AShslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_is_dp1WHEREryear=p_yANDpoper=p_mANDrbukrs=‘N207′ANDrldnr=‘0L’ANDracctINgr_actANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcg)GROUPBYracctORDERBYracctASCENDING.ENDIF.ENDIF.ENDCASE.ENDFORM. ”getisamt*&———————————————————————**& Form DISPLAYISDP*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text
*———————————————————————-*FORMdisplayisdp.PERFORMsetlayoutisdp.PERFORMbuildfieldcat_isdp.PERFORMexcluding_tb_function1.ENDFORM. ”DISPLAYISDP*&———————————————————————**& Form DISPLAYBSDP*&———————————————————————** text*———————————————————————-*FORMdisplaybsdp.PERFORMsetlayoutisdp.PERFORMbuildfieldcat_bsdp.PERFORMexcluding_tb_function1.ENDFORM. ”DISPLAYISDP*&———————————————————————**& Form SETLAYOUTISDP*&———————————————————————** SETTHELAYOUT*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMsetlayoutisdp.CLEARgs_layout.gs_layout-cwidth_opt=‘X’.gs_layout-zebra=‘X’.gs_layout-sel_mode=‘A’.gs_layout-numc_total=‘X’.ENDFORM. ”SETLAYOUTISDP*&———————————————————————**& Form BUILDFIELDCAT_ISDP*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMbuildfieldcat_isdp.CLEARgt_fieldcat[].PERFORMfill_field_categoryUSING:‘S’‘TABNAME’ ‘GT_ALV_IS_DP1′,” ’SCRTEXT_M’‘科目’,
” ’KEY’ ‘X’,” ’COL_POS’ ‘1′,‘E’‘FIELDNAME’‘RACCT’,*–>2012.01.16CCYUSTART‘S’‘TABNAME’ ‘GT_ALV_IS_DP1′,” ’SCRTEXT_M’‘科目描述’,” ’KEY’ ‘X’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘2′,‘E’‘FIELDNAME’‘TXT50′,*<–2012.01.16CCYUEND.‘S’‘TABNAME’ ‘GT_ALV_IS_DP1′,” ’SCRTEXT_M’‘金额’,” ’COL_POS’ ‘3′,” ’DO_SUM’ ’X’,‘E’‘FIELDNAME’‘HSL’.ENDFORM. ”BUILDFIELDCAT_ISDP*&———————————————————————**& Form GETBSDP*&———————————————————————** 获取资产负债表的下钻信息*———————————————————————-** –>P_YAMT text* –>P_YSAMT text* –>VALUE(P_ITEMID) text*———————————————————————-*FORMgetbsdpTABLESp_gt_alv_bs_dp1TYPEgt_alv_bs_dp”tables参数是输入输出参数USING value(p_itemid).“构造科目查询范围的查询条件CLEARgt_alv_bs_dp2[].CLEARp_gt_alv_bs_dp1[].PERFORMgetaccrangeUSINGp_itemid.CHECKgr_act[]ISNOTINITIAL.DATAlyTYPEnLENGTH4.ly=p_y-1.CASEp_rpv.WHEN‘2070′.”不考虑利润中心SELECTraccthslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_bs_dp2WHERE((ryear=p_yANDpoperBETWEEN‘01′ANDp_m)OR(ryearLEly))
ANDrldnr=‘0L’ANDrbukrs=‘N207′ANDracctINgr_actANDpprctr=”.”抵消内部交易.WHEN‘2071′OR‘2072′OR‘2073′.”自选利润中心组,利润中心可输可不输IFp_pc<>”.”有利润中心的情况SELECTraccthslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_bs_dp2WHERE((ryear=p_yANDpoperBETWEEN‘01′ANDp_m)OR(ryearLEly))ANDrldnr=‘0L’ANDrbukrs=‘N207′ANDracctINgr_actANDprctr=p_pc.ELSEIFp_pc=”.”利润中心为空,选取利润中心组下的利润中心SELECTraccthslFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_alv_bs_dp2WHERE((ryear=p_yANDpoperBETWEEN‘01′ANDp_m)OR(ryearLEly))ANDrldnr=‘0L’ANDrbukrs=‘N207′ANDracctINgr_actANDprctrIN(SELECTvalfrom FROMsetleafWHEREsetname=p_pcgANDsubclass=‘N207′ANDsetclass=‘0106′).ENDIF.ENDCASE.LOOPATgt_alv_bs_dp2.”利用collect进行合计MOVE-CORRESPONDINGgt_alv_bs_dp2TOgs_alv_bs_dp_obj1.COLLECTgs_alv_bs_dp_obj1INTOp_gt_alv_bs_dp1.ENDLOOP.SORTp_gt_alv_bs_dp1BYracctASCENDING.ENDFORM. ”getisamt*&———————————————————————**& Form BUILDFIELDCAT_BSDP*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text
*———————————————————————-*FORMbuildfieldcat_bsdp.CLEARgt_fieldcat[].PERFORMfill_field_categoryUSING:‘S’‘TABNAME’ ‘GT_ALV_BS_DP1′,” ’SCRTEXT_M’‘科目’,” ’KEY’ ‘X’,” ’COL_POS’ ‘1′,‘E’‘FIELDNAME’‘RACCT’,*–>2012.01.16CCYUSTART‘S’‘TABNAME’ ‘GT_ALV_BS_DP1′,” ’SCRTEXT_M’‘科目描述’,” ’KEY’ ‘X’,” ’OUTPUTLEN’‘20′,” ’COL_POS’ ‘2′,‘E’‘FIELDNAME’‘TXT50′,*<–2012.01.16CCYUEND.‘S’‘TABNAME’ ‘GT_ALV_BS_DP1′,” ’SCRTEXT_M’‘金额’,” ’COL_POS’ ‘3′,” ’DO_SUM’ ’X’,‘E’‘FIELDNAME’‘HSL’.ENDFORM. ”BUILDFIELDCAT_BSDP*&———————————————————————**& Form porcess_show*&———————————————————————** text*———————————————————————-*FORMporcess_showUSINGvalue(p_pro).CALLFUNCTION‘SAPGUI_PROGRESS_INDICATOR’EXPORTINGpercentage=p_protext =‘正在查询…’.ENDFORM. ”porcess_show*&———————————————————————**& Form GET_EXCEL*&———————————————————————** text*———————————————————————-** –> p1 text* <– p2 text*———————————————————————-*FORMget_excel.*–>2012.01.17ccyuSTART
DATA:gv_fnameLIKErlgrap-filename,gv_filenameTYPEstring.IFgv_iden=‘BS’.”资产负债表CLEARgt_head1[].gt_head1-t1=‘行次’.gt_head1-t2=‘资产’.gt_head1-t3=‘期末余额’.gt_head1-t4=‘年初余额’.gt_head1-t5=‘行次’.gt_head1-t6=‘负债和所有者权益(或股东权益)’.gt_head1-t7=‘期末余额’.gt_head1-t8=‘年初余额’.APPENDgt_head1.CLEAR:gt_alv_bs01,gt_alv_bs01[].LOOPATgt_alv_bs0.gt_alv_bs01-lct1=gt_alv_bs0-lct1.gt_alv_bs01-item1=gt_alv_bs0-item1.gt_alv_bs01-yamt1=gt_alv_bs0-yamt1.gt_alv_bs01-ysamt1=gt_alv_bs0-ysamt1.gt_alv_bs01-lct2=gt_alv_bs0-lct2.gt_alv_bs01-item2=gt_alv_bs0-item2.gt_alv_bs01-yamt2=gt_alv_bs0-yamt2.gt_alv_bs01-ysamt2=gt_alv_bs0-ysamt2.APPENDgt_alv_bs01.ENDLOOP.CALLFUNCTION‘WS_FILENAME_GET’EXPORTINGmask =‘,*.XLS,*.XLS.’mode =‘S’IMPORTINGfilename =gv_fnameEXCEPTIONSinv_winsys =1no_batch =2selection_cancel=3selection_error =4OTHERS =5.IFgv_fnameISNOTINITIAL.gv_filename=gv_fname.*————————————————————-** DOWNLOADHEADER **————————————————————-*CALLFUNCTION‘GUI_DOWNLOAD’
EXPORTINGfilename =gv_filenamefiletype =‘ASC’write_field_separator =‘X’TABLESdata_tab =gt_head1EXCEPTIONSfile_write_error =1no_batch =2gui_refuse_filetransfer=3invalid_type =4no_authority =5unknown_error =6header_not_allowed =7separator_not_allowed =8filesize_not_allowed =9header_too_long =10dp_error_create =11dp_error_send =12dp_error_write =13unknown_dp_error =14access_denied =15dp_out_of_memory =16disk_full =17dp_timeout =18file_not_found =19dataprovider_exception =20control_flush_error =21OTHERS =22.*————————————————————-** DOWNLOADTABLE **————————————————————-*CALLFUNCTION‘GUI_DOWNLOAD’EXPORTINGfilename =gv_filenamefiletype =‘ASC’append =‘X’write_field_separator =‘X’TABLESdata_tab =gt_alv_bs01[]EXCEPTIONSfile_write_error =1no_batch =2
gui_refuse_filetransfer=3invalid_type =4no_authority =5unknown_error =6header_not_allowed =7separator_not_allowed =8filesize_not_allowed =9header_too_long =10dp_error_create =11dp_error_send =12dp_error_write =13unknown_dp_error =14access_denied =15dp_out_of_memory =16disk_full =17dp_timeout =18file_not_found =19dataprovider_exception =20control_flush_error =21OTHERS =22.IFsy-subrc=0.MESSAGEi003(zn207m).ENDIF.ENDIF.ELSEIFgv_iden=‘IS’.”利润表CALLFUNCTION‘WS_FILENAME_GET’EXPORTINGmask =‘,*.XLS,*.XLS.’mode =‘S’IMPORTINGfilename =gv_fnameEXCEPTIONSinv_winsys =1no_batch =2selection_cancel=3selection_error =4OTHERS =5.IFgv_fnameISNOTINITIAL.CLEAR:gt_alv_is01[],gt_alv_is01.LOOPATgt_alv_is0.MOVE-CORRESPONDINGgt_alv_is0TOgt_alv_is01.APPENDgt_alv_is01.ENDLOOP.CLEARgt_head2[].
gt_head2-t1=‘行次’.gt_head2-t2=‘项目’.gt_head2-t3=‘本期余额’.gt_head2-t4=‘累计余额’.APPENDgt_head2.gv_filename=gv_fname.*————————————————————-** DOWNLOADHEADER **————————————————————-*CALLFUNCTION‘GUI_DOWNLOAD’EXPORTINGfilename =gv_filenamefiletype =‘ASC’write_field_separator =‘X’TABLESdata_tab =gt_head2[]EXCEPTIONSfile_write_error =1no_batch =2gui_refuse_filetransfer=3invalid_type =4no_authority =5unknown_error =6header_not_allowed =7separator_not_allowed =8filesize_not_allowed =9header_too_long =10dp_error_create =11dp_error_send =12dp_error_write =13unknown_dp_error =14access_denied =15dp_out_of_memory =16disk_full =17dp_timeout =18file_not_found =19dataprovider_exception =20control_flush_error =21OTHERS =22.*————————————————————-** DOWNLOADTABLE **————————————————————-*
CALLFUNCTION‘GUI_DOWNLOAD’EXPORTINGfilename =gv_filenamefiletype =‘ASC’append =‘X’write_field_separator =‘X’TABLESdata_tab =gt_alv_is01[]EXCEPTIONSfile_write_error =1no_batch =2gui_refuse_filetransfer=3invalid_type =4no_authority =5unknown_error =6header_not_allowed =7separator_not_allowed =8filesize_not_allowed =9header_too_long =10dp_error_create =11dp_error_send =12dp_error_write =13unknown_dp_error =14access_denied =15dp_out_of_memory =16disk_full =17dp_timeout =18file_not_found =19dataprovider_exception =20control_flush_error =21OTHERS =22.IFsy-subrc=0.MESSAGEi003(zn207m).ENDIF.ENDIF.ENDIF.ENDFORM. ”GET_EXCEL*&———————————————————————**& Form SYNCHRODATA*&———————————————————————** 同步BSEG表和FAGLFLEXA表的利润中心和伙伴利润中心的数据*———————————————————————-** –> p1 text* <– p2 text
*———————————————————————-*FORMsynchrodata.CALLFUNCTION‘SAPGUI_PROGRESS_INDICATOR’EXPORTING* PERCENTAGE =0text =‘正在同步数据…’.“取抬头SELECTgjahrbukrsbelnrFROMbkpfINTOCORRESPONDINGFIELDSOFTABLEgt_bkpfsynWHEREbukrs=‘N207′ANDgjahr=p_yANDmonat=p_m.IFgt_bkpfsyn[]ISNOTINITIAL.“取抬头下的行项目SELECTgjahrbukrsbelnrprctrpprctbuzeiINTOCORRESPONDINGFIELDSOFTABLEgt_bsegsynFROMbsegFORALLENTRIESINgt_bkpfsynWHEREbukrs=gt_bkpfsyn-bukrsANDgjahr=gt_bkpfsyn-gjahrANDbelnr=gt_bkpfsyn-belnr.“SORTgt_bsegsynBYbelnrASCENDING.“按月份取行项目SELECTryearrbukrsdocnrprctrpprctrbuzeiFROMfaglflexaINTOCORRESPONDINGFIELDSOFTABLEgt_fagasynWHEREryear=p_yANDrbukrs=‘N207′ANDpoper=p_mANDrldnr=‘0L’.LOOPATgt_fagasyn.”gt_fagasyn-rclnt=sy-mandt.READTABLEgt_bsegsynWITHKEYbelnr=gt_fagasyn-docnrbuzei=gt_fagasyn-buzei.
IFsy-subrc=0.IFgt_bsegsyn-prctrISNOTINITIAL.”不为空才更改IFgt_fagasyn-prctrNEgt_bsegsyn-prctr.UPDATEfaglflexaSETprctr=gt_bsegsyn-prctrWHERErbukrs=‘N207′ANDryear=p_yANDdocnr=gt_fagasyn-docnrANDbuzei=gt_fagasyn-buzeiANDrldnr=‘0L’.IFsy-subrc=0.COMMITWORK.ENDIF.ENDIF.ENDIF.IFgt_bsegsyn-pprctISNOTINITIAL.”不为空才更改IFgt_fagasyn-pprctrNEgt_bsegsyn-pprct.UPDATEfaglflexaSETpprctr=gt_bsegsyn-pprctWHERErbukrs=‘N207′ANDryear=p_yANDdocnr=gt_fagasyn-docnrANDbuzei=gt_fagasyn-buzeiANDrldnr=‘0L’.IFsy-subrc=0.COMMITWORK.ENDIF.ENDIF.ENDIF.ENDIF.ENDLOOP.” MODIFYfaglflexaFROMTABLEgt_fagasyn[].:不行?CLEAR:gt_fagasyn[],gt_fagasyn,gt_bsegsyn[],gt_bsegsyn,gt_bkpfsyn[],gt_bkpfsyn.ENDIF.ENDFORM. ”SYNCHRODATA*&———————————————————————**& Form getisdb*&———————————————————————** text*———————————————————————-*FORMgetisdb.DATA:lv_pro1(10)TYPEpDECIMALS2VALUE‘5′,lv_i1(10)TYPEpDECIMALS2VALUE‘5′.gv_iden=‘IS’.
CLEAR gt_alv_is0[].PERFORMsetisitem.”设置利润表项目DATA:aLIKEfaglflext-hslvt,bLIKEfaglflext-hslvt,cLIKEfaglflext-hslvt,dLIKEfaglflext-hslvt,eLIKEfaglflext-hslvt,fLIKEfaglflext-hslvt.LOOPATgt_alv_is0.IFgt_alv_is0-lct=1.PERFORMgetisamtUSINGab‘6001′1.PERFORMgetisamtUSINGcd‘6100′1.gt_alv_is0-yamt=a+c.gt_alv_is0-mamt=b+d.ELSEIFgt_alv_is0-lct=2.PERFORMgetisamtUSINGab‘6400′2.PERFORMgetisamtUSINGcd‘6500′2.PERFORMgetisamtUSINGef‘6610′2.gt_alv_is0-yamt=a+c+e.gt_alv_is0-mamt=b+d+f.ELSEIFgt_alv_is0-lct=3.PERFORMgetisamtUSINGab‘6450′3.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=4.PERFORMgetisamtUSINGa
b‘6600′4.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=5.PERFORMgetisamtUSINGab‘6600′5.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=6.PERFORMgetisamtUSINGab‘6620′6.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=7.PERFORMgetisamtUSINGab‘6630′7.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=8.PERFORMgetisamtUSINGab‘6640′8.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=9.PERFORMgetisamtUSINGab‘6645′9.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=12.PERFORMgetisamtUSINGab‘6301′
12.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=13.PERFORMgetisamtUSINGab‘6711′13.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=14.”按科目直接取数PERFORMgetisamtUSINGab‘0000′14.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=15.PERFORMgetisamtUSINGab‘6901′15.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ELSEIFgt_alv_is0-lct=17.PERFORMgetisamtUSINGab‘6801′17.gt_alv_is0-yamt=a.gt_alv_is0-mamt=b.ENDIF.MODIFYgt_alv_is0.PERFORMporcess_showUSINGlv_pro1.lv_pro1=lv_pro1+lv_i1.ENDLOOP.DATA:a1LIKEfaglflext-hslvt,a1_1LIKEfaglflext-hslvt,a2LIKEfaglflext-hslvt,a2_1LIKEfaglflext-hslvt,a3LIKEfaglflext-hslvt,a3_1LIKEfaglflext-hslvt,a4LIKEfaglflext-hslvt,a4_1LIKEfaglflext-hslvt,
a5LIKEfaglflext-hslvt,a5_1LIKEfaglflext-hslvt,a6LIKEfaglflext-hslvt,a6_1LIKEfaglflext-hslvt,a7LIKEfaglflext-hslvt,a7_1LIKEfaglflext-hslvt,a8LIKEfaglflext-hslvt,a8_1LIKEfaglflext-hslvt,a9LIKEfaglflext-hslvt,a9_1LIKEfaglflext-hslvt,a10LIKEfaglflext-hslvt,a10_1LIKEfaglflext-hslvt,a11LIKEfaglflext-hslvt,a11_1LIKEfaglflext-hslvt,a12LIKEfaglflext-hslvt,a12_1LIKEfaglflext-hslvt,a13LIKEfaglflext-hslvt,a13_1LIKEfaglflext-hslvt,a14LIKEfaglflext-hslvt,a14_1LIKEfaglflext-hslvt,a15LIKEfaglflext-hslvt,a15_1LIKEfaglflext-hslvt,a16LIKEfaglflext-hslvt,a16_1LIKEfaglflext-hslvt,a17LIKEfaglflext-hslvt,a17_1LIKEfaglflext-hslvt,a18LIKEfaglflext-hslvt,a18_1LIKEfaglflext-hslvt,a19LIKEfaglflext-hslvt,a19_1LIKEfaglflext-hslvt.READTABLEgt_alv_is0WITHKEYlct=1.a1=gt_alv_is0-yamt.a1_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=2.a2=gt_alv_is0-yamt.a2_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=3.a3=gt_alv_is0-yamt.a3_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=4.a4=gt_alv_is0-yamt.a4_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=5.a5=gt_alv_is0-yamt.
a5_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=6.a6=gt_alv_is0-yamt.a6_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=7.a7=gt_alv_is0-yamt.a7_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=8.a8=gt_alv_is0-yamt.a8_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=9.a9=gt_alv_is0-yamt.a9_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=12.a12=gt_alv_is0-yamt.a12_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=13.a13=gt_alv_is0-yamt.a13_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=15.a15=gt_alv_is0-yamt.a15_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=17.a17=gt_alv_is0-yamt.a17_1=gt_alv_is0-mamt.READTABLEgt_alv_is0WITHKEYlct=14.a14=gt_alv_is0-yamt.a14_1=gt_alv_is0-mamt.a11=a1-a2-a3-a4-a5-a6-a7+a8+a9.a11_1=a1_1-a2_1-a3_1-a4_1-a5_1-a6_1-a7_1+a8_1+a9_1.a16=a11+a12-a13-a14+a15.a16_1=a11_1+a12_1-a13_1-a14_1+a15_1.a18=a16-a17.a18_1=a16_1-a17_1.LOOPATgt_alv_is0.IFgt_alv_is0-lct=11.gt_alv_is0-yamt=a11.gt_alv_is0-mamt=a11_1.ELSEIFgt_alv_is0-lct=16.gt_alv_is0-yamt=a16.gt_alv_is0-mamt=a16_1.ELSEIFgt_alv_is0-lct=18.gt_alv_is0-yamt=a18.gt_alv_is0-mamt=a18_1.
ENDIF.MODIFY gt_alv_is0.ENDLOOP.IFp_curr=‘KRW’.LOOPATgt_alv_is0.gt_alv_is0-yamt=gt_alv_is0-yamt*gv_bs.gt_alv_is0-mamt=gt_alv_is0-mamt*gv_bs.gt_alv_is0-waers=‘KRW’.MODIFYgt_alv_is0.ENDLOOP.ELSE.LOOPATgt_alv_is0.gt_alv_is0-waers=‘CNY’.MODIFYgt_alv_is0.ENDLOOP.ENDIF.ENDFORM. ”getisdb*&———————————————————————**& Include ZFIR00026_I01*&———————————————————————**&———————————————————————**& Module USER_COMMAND_0200 INPUT*&———————————————————————** text*———————————————————————-*MODULEUSER_COMMAND_0200INPUT.CASESY-UCOMM.WHEN‘EXIT’OR‘BACK’OR‘CANCLE’.LEAVETOSCREEN0.WHEN‘PP’.PERFORMPPSMARTFORMS_IS.WHEN‘PR’.PERFORMPRINT.ENDCASE.ENDMODULE. ”USER_COMMAND_0200 INPUT*&———————————————————————**& Module USER_COMMAND_0100 INPUT*&———————————————————————** text*———————————————————————-*MODULEUSER_COMMAND_0100INPUT.CASESY-UCOMM.WHEN‘CANCLE’OR‘EXIT’OR‘BACK’.LEAVETOSCREEN0.
WHEN‘PP’.PERFORMPPSMARTFORMS_IS.WHEN‘PR’.PERFORMPRINT.ENDCASE.ENDMODULE. ”USER_COMMAND_0100 INPUT*&———————————————————————**& Module USER_COMMAND_0300 INPUT*&———————————————————————** text*———————————————————————-*MODULEUSER_COMMAND_0300INPUT.CASESY-UCOMM.WHEN‘CANCLE’OR‘EXIT’OR‘BACK’.LEAVETOSCREEN0.ENDCASE.ENDMODULE. ”USER_COMMAND_0300 INPUT*&———————————————————————**& Module USER_COMMAND_0400 INPUT*&———————————————————————** text*———————————————————————-*MODULEUSER_COMMAND_0400INPUT.CASESY-UCOMM.WHEN‘CANCLE’OR‘EXIT’OR‘BACK’.LEAVETOSCREEN0.ENDCASE.ENDMODULE. ”USER_COMMAND_0400 INPUT*&———————————————————————**& Include ZFIR00026_O01*&———————————————————————**&———————————————————————**& Module INITIAL OUTPUT*&———————————————————————** text*———————————————————————-*MODULEinitialOUTPUT.DATA:lv_objectTYPEREFTOlcl_app_compt.CREATEOBJECTlv_object.IFgs_alv_isISINITIAL.PERFORMsetcon.PERFORMdisplayis.SETHANDLERlv_object->handle_toolbarFORgs_alv_is .*–>2012.01.18CCYUSTART
SETHANDLERlv_object->handle_user_commandFORgs_alv_is.*<–2012.01.18CCYUEND.SETHANDLERlv_object->handle_topofpageFORgs_alv_is.SETHANDLERlv_object->handle_hotspot_clickFORgs_alv_is.CALLMETHODgs_alv_is->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbarCHANGINGit_outtab =gt_alv_is0[]it_fieldcatalog =gt_fieldcat.CALLMETHODgs_alv_is->list_processing_eventsEXPORTINGi_event_name=‘TOP_OF_PAGE’i_dyndoc_id =gs_dyndoc_id.ENDIF.ENDMODULE. ”INITIAL OUTPUT*&———————————————————————**& Module SETPF OUTPUT*&———————————————————————** text*———————————————————————-*MODULEsetpfOUTPUT.SETPF-STATUS‘0200′.SETTITLEBAR‘0200′.ENDMODULE. ”SETPF OUTPUT*&———————————————————————**& Module STATUS_0100 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEstatus_0100OUTPUT.SETPF-STATUS‘0100′.SETTITLEBAR‘0100′.ENDMODULE. ”STATUS_0100 OUTPUT*&———————————————————————**& Module INITIAL_0100 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEinitial_0100OUTPUT.DATA:lv_object1TYPEREFTOlcl_app_compt.CREATEOBJECTlv_object1.IFgs_alv_bsISINITIAL.
PERFORMsetcon.PERFORMdisplaybs.SETHANDLERlv_object1->handle_toolbarFORgs_alv_bs.*–>2012.01.18CCYUSTARTSETHANDLERlv_object1->handle_user_commandFORgs_alv_bs.*<–2012.01.18CCYUEND.SETHANDLERlv_object1->handle_topofpageFORgs_alv_bs.SETHANDLERlv_object1->handle_hotspot_clickFORgs_alv_bs.”给GS_ALV_BS注册事件CALLMETHODgs_alv_bs->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbarCHANGINGit_outtab =gt_alv_bs0[]it_fieldcatalog =gt_fieldcat.CALLMETHODgs_alv_bs->list_processing_eventsEXPORTINGi_event_name=‘TOP_OF_PAGE’i_dyndoc_id =gs_dyndoc_id.ENDIF.ENDMODULE. ”INITIAL_0100 OUTPUT*&———————————————————————**& Module STATUS_0300 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEstatus_0300OUTPUT.SETPF-STATUS‘0300′.SETTITLEBAR‘0300′.ENDMODULE. ”STATUS_0300 OUTPUT*&———————————————————————**& Module INITIAL_0300 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEinitial_0300OUTPUT.DATA:lv_object2TYPEREFTOlcl_app_compt.CREATEOBJECTlv_object2.IFgs_alv_is_dp1ISINITIAL.PERFORMsetcon1.CREATEOBJECTgs_alv_is_dp1EXPORTINGi_parent=gs_parent_grid1.
PERFORMdisplayisdp.*–>2012.01.18CCYUSTARTSETHANDLERlv_object2->handle_user_commandFORgs_alv_is_dp1 .*<–2012.01.18CCYUEND.“SETHANDLERLV_OBJECT2->HANDLE_TOOLBARFORGS_ALV_IS_DP1.” SETHANDLERLV_OBJECT2->HANDLE_TOPOFPAGEFORGS_ALV_IS_DP1.CALLMETHODgs_alv_is_dp1->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbar1CHANGINGit_outtab =gt_alv_is_dp1[]it_fieldcatalog =gt_fieldcat.ELSE.“CALLMETHODGS_ALV_IS_DP1->REFRESH_TABLE_DISPLAY.“根据GT_ALV_IS_DP1[]中的数据重新刷新ALVCALLMETHODgs_alv_is_dp1->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbar1CHANGINGit_outtab =gt_alv_is_dp1[]it_fieldcatalog =gt_fieldcat.ENDIF.ENDMODULE. ”INITIAL_0300 OUTPUT*&———————————————————————**& Module STATUS_0400 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEstatus_0400OUTPUT.SETPF-STATUS‘0300′.SETTITLEBAR‘0300′.ENDMODULE. ”STATUS_0400 OUTPUT*&———————————————————————**& Module INITIAL_0400 OUTPUT*&———————————————————————** text*———————————————————————-*MODULEinitial_0400OUTPUT.DATA:lv_object3TYPEREFTOlcl_app_compt.CREATEOBJECTlv_object3.IFgs_alv_bs_dp1ISINITIAL.PERFORMsetcon1.
CREATEOBJECTgs_alv_bs_dp1EXPORTINGi_parent=gs_parent_grid1.PERFORMdisplaybsdp.*–>2012.01.18CCYUSTARTSETHANDLERlv_object3->handle_user_commandFORgs_alv_bs_dp1 .*<–2012.01.18CCYUEND.“SETHANDLERLV_OBJECT2->HANDLE_TOOLBARFORGS_ALV_IS_DP1.” SETHANDLERLV_OBJECT2->HANDLE_TOPOFPAGEFORGS_ALV_IS_DP1.CALLMETHODgs_alv_bs_dp1->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbar1CHANGINGit_outtab =gt_alv_bs_dp1[]it_fieldcatalog =gt_fieldcat.ELSE.CALLMETHODgs_alv_bs_dp1->set_table_for_first_displayEXPORTINGis_layout =gs_layoutit_toolbar_excluding=g_toolbar1CHANGINGit_outtab =gt_alv_bs_dp1[]it_fieldcatalog =gt_fieldcat.ENDIF.ENDMODULE. ”INITIAL_0400 OUTPUT最终效果:资产负债表:
损益表:'
您可能关注的文档
- 合并损益表审计程序分析表.doc
- 某公司财务损益表.doc
- 某公司预计损益表.doc
- 某企业比较损益表.doc
- 比较损益表制造业用).doc
- 财务报表之损益表.doc
- 损益表明细审计程序分析表.doc
- 4 成本性态和两种类型的损益表.ppt
- 61 练习--资产负债表和损益表 连续案例.doc
- 资产负债表与损益表的制作.doc
- 资产负责表和损益表不能打印的解决方法.doc
- 资产负债表与损益表(doc 3页).doc
- 资产负债表与损益表操作步骤.doc
- 【财务表格】预计损益表(表十七).doc
- 房地产预计损益表.doc
- 酒店营运损益表.doc
- 物流企业管理 第2版 教学课件 作者 刘五平 伍玉坤物流企业管理电子教案及试题答案第09章 损益表(的附件).doc
- 旅游社经营管理 教学课件 作者 吴敏良 杨强第八章 损益表.doc