• 592.15 KB
  • 2022-04-29 14:47:48 发布

ABAP实现本地化的资产负债表和损益表 - 副本.docx

  • 85页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话: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最终效果:资产负债表: 损益表:'