FI三大报表-demo—自用详解编程语言

利润表

********************************************************************* 
* PROGRAM NAME        : 利润表 or 损益表(新会计制度)                * 
* APPLICATION NAME    : FI                                          * 
* SUBSYSTEM           : GL                                          * 
* AUTHOR              : ZHJ                                         * 
* TRANSACTION         : ZFIR004N                                    * 
* Program type        : Report & Layout                             * 
* SAP RELEASE         : 4.7                                         * 
* PROGRAM DESCRIPTION : 损益表(新会计制度)                          * 
********************************************************************* 
* REVISION LOG                                                      * 
* LOG#    DATE          AUTHOR       DESCRIPTION                    * 
* ----   -------       --------      -----------                    * 
* 0000   01/11/2007     ZHJ          利润表 or 损益表               * 
********************************************************************* 
REPORT  ZFIR004  NO STANDARD PAGE HEADING MESSAGE-ID 00 
LINE-COUNT 90 LINE-SIZE 120. 
TABLES : T001, 
T001W, 
GLFUNCT, 
GLT0. 
* data declaration 
*****myjtab: 上 年 数**itabs:本 年 数****jtab:本月数*********** 
DATA:  BEGIN OF ITABS OCCURS 10. 
DATA:  YYSR    LIKE GLT0-HSLVT,   "营业收入 
YYCB    LIKE GLT0-HSLVT,   "营业成本 
YYSJ    LIKE GLT0-HSLVT,   "营业税金及附加 
XSFY    LIKE GLT0-HSLVT,   "销售费用 
GLFY    LIKE GLT0-HSLVT,   "管理费用 
* 20181029 insert amber s 
YFFY    LIKE GLT0-HSLVT,   "研发费用 
LXFY    LIKE GLT0-HSLVT,   "利息费用 
LXSR    LIKE GLT0-HSLVT,   "利息收入 
* 20181029 insert amber e 
CWFY    LIKE GLT0-HSLVT,   "财务费用 
ZCJZSS  LIKE GLT0-HSLVT,   "资产减值损失 
GYJZBD  LIKE GLT0-HSLVT,   "公允价值变动收益 
TZSY    LIKE GLT0-HSLVT,   "投资收益 
QTSY    LIKE GLT0-HSLVT,   "其他收益 wjb 
ZCCZSY  LIKE GLT0-HSLVT,   "资产处置收益 wjb 
LYTZSY  LIKE GLT0-HSLVT,   "对联营企业和合营企业的投资收益 
YYLR    LIKE GLT0-HSLVT,   "营业利润 
YYWSR   LIKE GLT0-HSLVT,   "营业外收入 
YYWZC   LIKE GLT0-HSLVT,   "营业外支出 
FLDCZ   LIKE GLT0-HSLVT,   "非流动资产处置损失 
LRZE    LIKE GLT0-HSLVT,   "利润总额 
SDSFY   LIKE GLT0-HSLVT,   "所得税费用 
JLR     LIKE GLT0-HSLVT,   "净利润 
JBMGSY  LIKE GLT0-HSLVT,   "基本每股收益 
RTCUR  LIKE GLT0-RTCUR.    "货币 
DATA: END OF ITABS. 
DATA: JTAB LIKE ITABS OCCURS 10 WITH HEADER LINE. 
DATA: BEGIN OF ITAB OCCURS 10. 
INCLUDE STRUCTURE GLT0. 
DATA: TAMOUNT LIKE GLT0-HSLVT,  "本年累计数 
CAMOUNT LIKE GLT0-HSLVT.  "本月数 
DATA: END OF ITAB. 
DATA: BEGIN OF ITAB1 OCCURS 10. 
INCLUDE STRUCTURE GLFUNCT. 
DATA: TAMOUNT LIKE GLT0-HSLVT,  "本年累计数 
CAMOUNT LIKE GLT0-HSLVT.  "本月数 
DATA: END OF ITAB1. 
DATA: P_RTCUR  LIKE GLT0-RTCUR. 
DATA: I_XSFY(22),I_GLFY(22),I_CWFY(22),I_YYLR(22),I_TZSY(22), 
I_LRZE(22),I_JLR(22),I_GYJZBD(22),I_LYTZSY(22),I_QTSY(22),I_ZCCZSY(22), 
* 20190102 AMBER ADD S 
I_ZCJZSS(22), 
I_SDSFY(22), 
* 20190102 AMBER ADD E 
* 20181029 AMBER ADD S 
I_YFFY(22), 
I_LXFY(22), 
I_LXSR(22) 
* 20181029 AMBER ADD E 
. 
DATA: J_XSFY(22),J_GLFY(22),J_CWFY(22),J_YYLR(22),J_TZSY(22),J_QTSY(22),J_ZCCZSY(22), 
J_LRZE(22),J_JLR(22),J_GYJZBD(22),J_LYTZSY(22), 
* 20190102 AMBER ADD S 
J_ZCJZSS(22), 
J_SDSFY(22), 
* 20190102 AMBER ADD E 
* 20181029 AMBER ADD S 
J_YFFY(22), 
J_LXFY(22), 
J_LXSR(22) 
* 20181029 AMBER ADD E 
. 
DATA: TMP(21), 
ILEN1 TYPE I, 
ILEN2 TYPE I, 
ILEN3 TYPE I, 
ILEN4 TYPE I, 
ILEN5 TYPE I, 
ILEN6 TYPE I, 
ILEN7 TYPE I, 
ILEN8 TYPE I, 
ILEN9 TYPE I, 
ILEN10 TYPE I,"wjb 
ILEN11 TYPE I,"wjb 
* 20181029 AMBER ADD S 
ILEN12 TYPE I, 
ILEN13 TYPE I, 
ILEN14 TYPE I, 
* 20181029 AMBER ADD E 
* 20190102 AMBER ADD S 
ILEN15 TYPE I, 
ILEN16 TYPE I, 
* 20190102 AMBER ADD E 
JLEN1 TYPE I, 
JLEN2 TYPE I, 
JLEN3 TYPE I, 
JLEN4 TYPE I, 
JLEN5 TYPE I, 
JLEN6 TYPE I, 
JLEN7 TYPE I, 
JLEN8 TYPE I, 
JLEN9 TYPE I, 
JLEN10 TYPE I,"wjb 
JLEN11  TYPE I,"wjb 
* 20181029 AMBER ADD S 
JLEN12 TYPE I, 
JLEN13 TYPE I, 
JLEN14 TYPE I, 
* 20181029 AMBER ADD E 
* 20190102 AMBER ADD S 
JLEN15 TYPE I, 
JLEN16 TYPE I, 
* 20190102 AMBER ADD E 
TYEAR(4) TYPE P, 
E_DAY(2), 
P_LEN TYPE I, 
P_MOD TYPE I. 
************************************************************** 
*  selection screen  * 
************************************************************** 
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001. 
PARAMETERS: BUKRS LIKE GLT0-BUKRS OBLIGATORY DEFAULT '1100'. 
PARAMETERS: RYEAR(4) TYPE C OBLIGATORY DEFAULT SY-DATUM+0(4). 
PARAMETERS: PERID(2) TYPE C OBLIGATORY DEFAULT SY-DATUM+4(2). 
SELECT-OPTIONS: RBUSA FOR GLT0-RBUSA. 
SELECTION-SCREEN END OF BLOCK BLK1. 
TYEAR =  RYEAR - 1. 
*权限检查 
AT SELECTION-SCREEN. 
AUTHORITY-CHECK OBJECT 'Z_FI_BUKRS' 
ID 'BUKRS' FIELD BUKRS. 
IF SY-SUBRC NE 0 . 
MESSAGE E000(00) WITH  BUKRS '公司代码中没有权限!'. 
ELSE. 
IF BUKRS = '1100'. 
*add*********************** 
DATA:BEGIN OF IT_TAB OCCURS 0, 
RBUSA LIKE GLT0-RBUSA, 
END OF IT_TAB. 
CLEAR IT_TAB.REFRESH IT_TAB. 
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE IT_TAB 
FROM GLT0 
WHERE RBUSA IN RBUSA. 
SORT IT_TAB BY RBUSA. 
DELETE ADJACENT DUPLICATES FROM IT_TAB COMPARING RBUSA. 
LOOP AT IT_TAB. 
*end add******************* 
AUTHORITY-CHECK OBJECT 'Z_FI_GSBER' 
ID 'GSBER' FIELD IT_TAB-RBUSA. 
IF SY-SUBRC NE 0 . 
MESSAGE E000(00) WITH  IT_TAB-RBUSA '业务范围中没有权限!'. 
ENDIF. 
ENDLOOP. 
ENDIF. 
ENDIF. 
*********************** 
*  initialization     * 
INITIALIZATION . 
********Report header******************************* 
TOP-OF-PAGE. 
PERFORM WRITE_REPORT_HEADER. 
******Get Data and Process Data********************* 
START-OF-SELECTION. 
PERFORM CAL_DAY. 
PERFORM AUTHRIZATION. 
PERFORM GET_DATA. 
PERFORM GET_GY_DATA. "营业费用和管理费用 
*货币 
SELECT SINGLE RTCUR FROM GLT0 
INTO P_RTCUR WHERE BUKRS = BUKRS. 
*add 3.8.2005 当为2005年1,2月时本年累计数硬写进去, 
PERFORM PROCESS_DATA. 
*end add 3.8.2005 
PERFORM SUBTOTAL. 
**********Output Data******************************* 
PERFORM WRITE_BS. 
PERFORM WRITE_REPORT_ENDER. 
*PERFORM CALL_FUNCTION. 
*&---------------------------------------------------------------------* 
*&      Form  suntotal 
*&---------------------------------------------------------------------* 
FORM SUBTOTAL. 
ITABS-YYSR = ITABS-YYSR * -1. 
ITABS-GYJZBD = ITABS-GYJZBD * -1. 
ITABS-TZSY   = ITABS-TZSY   * -1. 
ITABS-QTSY  = ITABS-QTSY   * -1. 
ITABS-ZCCZSY  = ITABS-ZCCZSY  * -1. 
ITABS-LYTZSY   = ITABS-LYTZSY   * -1. 
ITABS-YYWSR  = ITABS-YYWSR  * -1. 
JTAB-YYSR = JTAB-YYSR * -1. 
JTAB-QTSY = JTAB-QTSY * -1. 
JTAB-ZCCZSY  = JTAB-ZCCZSY  * -1. 
JTAB-GYJZBD = JTAB-GYJZBD * -1. 
JTAB-TZSY   = JTAB-TZSY * -1. 
JTAB-LYTZSY   = JTAB-LYTZSY   * -1. 
JTAB-YYWSR  = JTAB-YYWSR  * -1. 
ITABS-YYLR = ITABS-YYSR - ITABS-YYCB - ITABS-YYSJ - ITABS-XSFY - ITABS-GLFY 
* 20181029 AMBER ADD S 
- ITABS-YFFY 
* 20181029 AMBER ADD E 
- ITABS-CWFY - ITABS-ZCJZSS + ITABS-GYJZBD + ITABS-TZSY + ITABS-QTSY + ITABS-ZCCZSY. 
ITABS-LRZE = ITABS-YYLR + ITABS-YYWSR - ITABS-YYWZC. 
ITABS-JLR = ITABS-LRZE - ITABS-SDSFY. 
MODIFY ITABS INDEX SY-TABIX. 
JTAB-YYLR = JTAB-YYSR - JTAB-YYCB - JTAB-YYSJ - JTAB-XSFY - JTAB-GLFY 
* 20181029 AMBER ADD S 
- JTAB-YFFY 
* 20181029 AMBER ADD E 
- JTAB-CWFY - JTAB-ZCJZSS + JTAB-GYJZBD + JTAB-TZSY + JTAB-QTSY + JTAB-ZCCZSY. 
JTAB-LRZE = JTAB-YYLR + JTAB-YYWSR - JTAB-YYWZC. 
JTAB-JLR = JTAB-LRZE - JTAB-SDSFY. 
MODIFY JTAB INDEX SY-TABIX. 
* 20181107 AMBER ADD S 
IF P_RTCUR = 'KRW'. 
JTAB-XSFY    = JTAB-XSFY  * 100 . 
ITABS-XSFY   = ITABS-XSFY  * 100 . 
JTAB-GLFY    = JTAB-GLFY  * 100 . 
ITABS-GLFY   = ITABS-GLFY  * 100 . 
JTAB-CWFY    = JTAB-CWFY  * 100 . 
ITABS-CWFY   = ITABS-CWFY  * 100 . 
JTAB-GYJZBD  = JTAB-GYJZBD  * 100 . 
ITABS-GYJZBD = ITABS-GYJZBD  * 100 . 
JTAB-TZSY    = JTAB-TZSY  * 100 . 
ITABS-TZSY   = ITABS-TZSY  * 100 . 
JTAB-QTSY    = JTAB-QTSY  * 100 . 
ITABS-QTSY   = ITABS-QTSY  * 100 . 
JTAB-ZCCZSY  = JTAB-ZCCZSY  * 100 ."add by wjb 
ITABS-ZCCZSY = ITABS-ZCCZSY  * 100 ."add by wjb 
JTAB-LYTZSY  = JTAB-LYTZSY  * 100 . 
ITABS-LYTZSY = ITABS-LYTZSY  * 100 . 
JTAB-YYLR    = JTAB-YYLR  * 100 . 
ITABS-YYLR   = ITABS-YYLR  * 100 . 
JTAB-LRZE    = JTAB-LRZE  * 100 . 
ITABS-LRZE   = ITABS-LRZE  * 100 . 
JTAB-JLR     = JTAB-JLR * 100 . 
ITABS-JLR    = ITABS-JLR * 100 . 
JTAB-YFFY    = JTAB-YFFY  * 100 . 
ITABS-YFFY   = ITABS-YFFY  * 100 . 
JTAB-LXFY    = JTAB-LXFY  * 100 . 
ITABS-LXFY   = ITABS-LXFY  * 100 . 
JTAB-LXSR    = JTAB-LXSR  * 100 . 
ITABS-LXSR   = ITABS-LXSR  * 100 . 
ITABS-YYSR   = ITABS-YYSR  * 100 . 
ITABS-YYCB   = ITABS-YYCB  * 100 . 
ITABS-YYSJ   = ITABS-YYSJ  * 100 . 
ITABS-ZCJZSS = ITABS-ZCJZSS  * 100 . 
ITABS-YYWSR  = ITABS-YYWSR * 100 . 
ITABS-YYWZC  = ITABS-YYWZC * 100 . 
ITABS-FLDCZ  = ITABS-FLDCZ * 100 . 
ITABS-SDSFY  = ITABS-SDSFY * 100 . 
ITABS-JBMGSY = ITABS-JBMGSY  * 100 . 
JTAB-YYSR    = JTAB-YYSR * 100 . 
JTAB-YYCB    = JTAB-YYCB * 100 . 
JTAB-YYSJ    = JTAB-YYSJ * 100 . 
JTAB-ZCJZSS  = JTAB-ZCJZSS * 100 . 
JTAB-YYWSR   = JTAB-YYWSR  * 100 . 
JTAB-YYWZC   = JTAB-YYWZC  * 100 . 
JTAB-FLDCZ   = JTAB-FLDCZ  * 100 . 
JTAB-SDSFY   = JTAB-SDSFY  * 100 . 
JTAB-JBMGSY  = JTAB-JBMGSY * 100 . 
ELSE. 
ENDIF. 
* 20181107 AMBER ADD E 
IF JTAB-XSFY < 0. 
JTAB-XSFY = ABS( JTAB-XSFY ). 
WRITE JTAB-XSFY TO TMP. 
CONCATENATE '-' TMP INTO J_XSFY. 
ELSE. 
WRITE JTAB-XSFY TO J_XSFY. 
ENDIF. 
CONDENSE J_XSFY NO-GAPS. 
JLEN1 = 70 - STRLEN( J_XSFY ). 
IF JTAB-GLFY < 0. 
JTAB-GLFY = ABS( JTAB-GLFY ). 
WRITE JTAB-GLFY TO TMP. 
CONCATENATE '-' TMP INTO J_GLFY. 
ELSE. 
WRITE JTAB-GLFY TO J_GLFY. 
ENDIF. 
CONDENSE J_GLFY NO-GAPS. 
JLEN2 = 70 - STRLEN( J_GLFY ). 
IF JTAB-CWFY < 0. 
JTAB-CWFY = ABS( JTAB-CWFY ). 
WRITE JTAB-CWFY TO TMP. 
CONCATENATE '-' TMP INTO J_CWFY. 
ELSE. 
WRITE JTAB-CWFY TO J_CWFY . 
ENDIF. 
CONDENSE J_CWFY NO-GAPS. 
JLEN3 = 70 - STRLEN( J_CWFY ). 
IF JTAB-YYLR < 0. 
JTAB-YYLR = ABS( JTAB-YYLR ). 
WRITE JTAB-YYLR TO TMP. 
CONCATENATE '-' TMP INTO J_YYLR. 
ELSE. 
WRITE JTAB-YYLR TO J_YYLR. 
ENDIF. 
CONDENSE J_YYLR NO-GAPS. 
JLEN4 = 70 - STRLEN( J_YYLR ). 
IF JTAB-TZSY < 0. 
JTAB-TZSY = ABS( JTAB-TZSY ). 
WRITE JTAB-TZSY TO TMP. 
CONCATENATE '-' TMP INTO J_TZSY. 
ELSE. 
WRITE JTAB-TZSY TO J_TZSY. 
ENDIF. 
CONDENSE J_TZSY NO-GAPS. 
JLEN5 = 70 - STRLEN( J_TZSY ). 
*************wjb****** 
IF JTAB-QTSY < 0. 
JTAB-QTSY = ABS( JTAB-QTSY ). 
WRITE JTAB-QTSY TO TMP. 
CONCATENATE '-' TMP INTO J_QTSY. 
ELSE. 
WRITE JTAB-QTSY TO J_QTSY. 
ENDIF. 
CONDENSE J_QTSY NO-GAPS. 
JLEN10 = 70 - STRLEN( J_QTSY ). 
*************wjb****** 
*************wjb****** 
IF JTAB-ZCCZSY < 0. 
JTAB-ZCCZSY = ABS( JTAB-ZCCZSY ). 
WRITE JTAB-ZCCZSY TO TMP. 
CONCATENATE '-' TMP INTO J_ZCCZSY. 
ELSE. 
WRITE JTAB-ZCCZSY TO J_ZCCZSY. 
ENDIF. 
CONDENSE J_ZCCZSY NO-GAPS. 
JLEN11 = 70 - STRLEN( J_ZCCZSY ). 
*************wjb****** 
* 20181029 AMBER ADD S 
* 研发费用 
IF JTAB-YFFY < 0. 
JTAB-YFFY = ABS( JTAB-YFFY ). 
WRITE JTAB-YFFY TO TMP. 
CONCATENATE '-' TMP INTO J_YFFY. 
ELSE. 
WRITE JTAB-YFFY TO J_YFFY. 
ENDIF. 
CONDENSE J_YFFY NO-GAPS. 
JLEN12 = 70 - STRLEN( J_YFFY ). 
* 利息费用 
IF JTAB-LXFY < 0. 
JTAB-LXFY = ABS( JTAB-LXFY ). 
WRITE JTAB-LXFY TO TMP. 
CONCATENATE '-' TMP INTO J_LXFY. 
ELSE. 
WRITE JTAB-LXFY TO J_LXFY. 
ENDIF. 
CONDENSE J_LXFY NO-GAPS. 
JLEN13 = 70 - STRLEN( J_LXFY ). 
* 利息收入 
IF JTAB-LXSR < 0. 
JTAB-LXSR = ABS( JTAB-LXSR ). 
"20190430 取消利息收入数字前的负号 MZG S 
*    WRITE JTAB-LXSR TO TMP. 
*    CONCATENATE '-' TMP INTO J_LXSR. 
WRITE JTAB-LXSR TO J_LXSR. 
"20190430 取消利息收入数字前的负号 MZG E 
ELSE. 
WRITE JTAB-LXSR TO J_LXSR. 
ENDIF. 
CONDENSE J_LXSR NO-GAPS. 
JLEN14 = 70 - STRLEN( J_LXSR ). 
* 20181029 AMBER ADD E 
* 20190102 AMBER ADD S 
* 资产减值损失 
IF JTAB-ZCJZSS < 0. 
JTAB-ZCJZSS = ABS( JTAB-ZCJZSS ). 
WRITE JTAB-ZCJZSS TO TMP. 
CONCATENATE '-' TMP INTO J_ZCJZSS. 
ELSE. 
WRITE JTAB-ZCJZSS TO J_ZCJZSS. 
ENDIF. 
CONDENSE J_ZCJZSS NO-GAPS. 
JLEN15 = 70 - STRLEN( J_ZCJZSS ). 
* 所得税费用 
IF JTAB-SDSFY < 0. 
JTAB-SDSFY = ABS( JTAB-SDSFY ). 
WRITE JTAB-SDSFY TO TMP. 
CONCATENATE '-' TMP INTO J_SDSFY. 
ELSE. 
WRITE JTAB-SDSFY TO J_SDSFY. 
ENDIF. 
CONDENSE J_SDSFY NO-GAPS. 
JLEN16 = 70 - STRLEN( J_SDSFY ). 
* 20190102 AMBER ADD E 
IF JTAB-LRZE < 0. 
JTAB-LRZE = ABS( JTAB-LRZE ). 
WRITE JTAB-LRZE TO TMP. 
CONCATENATE '-' TMP INTO J_LRZE. 
ELSE. 
WRITE JTAB-LRZE TO J_LRZE. 
ENDIF. 
CONDENSE J_LRZE NO-GAPS. 
JLEN6 = 70 - STRLEN( J_LRZE ). 
IF JTAB-JLR < 0. 
JTAB-JLR = ABS( JTAB-JLR ). 
WRITE JTAB-JLR TO TMP. 
CONCATENATE '-' TMP INTO J_JLR. 
ELSE. 
WRITE JTAB-JLR TO J_JLR. 
ENDIF. 
CONDENSE J_JLR NO-GAPS. 
JLEN7 = 70 - STRLEN( J_JLR ). 
IF JTAB-GYJZBD < 0. 
JTAB-GYJZBD = ABS( JTAB-GYJZBD ). 
WRITE JTAB-GYJZBD TO TMP. 
CONCATENATE '-' TMP INTO J_GYJZBD. 
ELSE. 
WRITE JTAB-GYJZBD TO J_GYJZBD. 
ENDIF. 
CONDENSE J_GYJZBD NO-GAPS. 
JLEN8 = 70 - STRLEN( J_GYJZBD ). 
IF JTAB-LYTZSY < 0. 
JTAB-LYTZSY = ABS( JTAB-LYTZSY ). 
WRITE JTAB-LYTZSY TO TMP. 
CONCATENATE '-' TMP INTO J_LYTZSY. 
ELSE. 
WRITE JTAB-LYTZSY TO J_LYTZSY. 
ENDIF. 
CONDENSE J_LYTZSY NO-GAPS. 
JLEN9 = 70 - STRLEN( J_LYTZSY ). 
IF ITABS-XSFY < 0. 
ITABS-XSFY = ABS( ITABS-XSFY ). 
WRITE ITABS-XSFY TO TMP. 
CONCATENATE '-' TMP INTO I_XSFY. 
ELSE. 
WRITE ITABS-XSFY TO I_XSFY. 
ENDIF. 
CONDENSE I_XSFY NO-GAPS. 
ILEN1 = 105 - STRLEN( I_XSFY ). 
IF ITABS-GLFY < 0. 
ITABS-GLFY = ABS( ITABS-GLFY ). 
WRITE ITABS-GLFY TO TMP. 
CONCATENATE '-' TMP INTO I_GLFY. 
ELSE. 
WRITE ITABS-GLFY TO I_GLFY. 
ENDIF. 
CONDENSE I_GLFY NO-GAPS. 
ILEN2 = 105 - STRLEN( I_GLFY ). 
IF ITABS-CWFY < 0. 
ITABS-CWFY = ABS( ITABS-CWFY ). 
WRITE ITABS-CWFY TO TMP. 
CONCATENATE '-' TMP INTO I_CWFY. 
ELSE. 
WRITE ITABS-CWFY TO I_CWFY. 
ENDIF. 
CONDENSE I_CWFY NO-GAPS. 
ILEN3 = 105 - STRLEN( I_CWFY ). 
IF ITABS-YYLR < 0. 
ITABS-YYLR = ABS( ITABS-YYLR ). 
WRITE ITABS-YYLR TO TMP. 
CONCATENATE '-' TMP INTO I_YYLR. 
ELSE. 
WRITE ITABS-YYLR TO I_YYLR. 
ENDIF. 
CONDENSE I_YYLR NO-GAPS. 
ILEN4 = 105 - STRLEN( I_YYLR ). 
IF ITABS-TZSY < 0. 
ITABS-TZSY = ABS( ITABS-TZSY ). 
WRITE ITABS-TZSY TO TMP. 
CONCATENATE '-' TMP INTO I_TZSY. 
ELSE. 
WRITE ITABS-TZSY TO I_TZSY. 
ENDIF. 
CONDENSE I_TZSY NO-GAPS. 
ILEN5 = 105 - STRLEN( I_TZSY ). 
*******************************wjb*********** 
IF ITABS-QTSY < 0. 
ITABS-QTSY = ABS( ITABS-QTSY ). 
WRITE ITABS-QTSY TO TMP. 
CONCATENATE '-' TMP INTO I_QTSY. 
ELSE. 
WRITE ITABS-QTSY TO I_QTSY. 
ENDIF. 
CONDENSE I_QTSY NO-GAPS. 
ILEN10 = 105 - STRLEN( I_QTSY ). 
********************************************* 
*******************************wjb*********** 
IF ITABS-ZCCZSY < 0. 
ITABS-ZCCZSY = ABS( ITABS-ZCCZSY ). 
WRITE ITABS-ZCCZSY TO TMP. 
CONCATENATE '-' TMP INTO I_ZCCZSY. 
ELSE. 
WRITE ITABS-ZCCZSY TO I_ZCCZSY. 
ENDIF. 
CONDENSE I_ZCCZSY NO-GAPS. 
ILEN11 = 105 - STRLEN( I_ZCCZSY ). 
*********************************************** 
* 20181029 AMBER ADD S 
* 研发费用 
IF ITABS-YFFY < 0. 
ITABS-YFFY = ABS( ITABS-YFFY ). 
WRITE ITABS-YFFY TO TMP. 
CONCATENATE '-' TMP INTO I_YFFY. 
ELSE. 
WRITE ITABS-YFFY TO I_YFFY. 
ENDIF. 
CONDENSE I_YFFY NO-GAPS. 
ILEN12 = 105 - STRLEN( I_YFFY ). 
* 利息费用 
IF ITABS-LXFY < 0. 
ITABS-LXFY = ABS( ITABS-LXFY ). 
WRITE ITABS-LXFY TO TMP. 
CONCATENATE '-' TMP INTO I_LXFY. 
ELSE. 
WRITE ITABS-LXFY TO I_LXFY. 
ENDIF. 
CONDENSE I_LXFY NO-GAPS. 
ILEN13 = 105 - STRLEN( I_LXFY ). 
* 利息收入 
IF ITABS-LXSR < 0. 
ITABS-LXSR = ABS( ITABS-LXSR ). 
"20190430 取消利息收入数字前的负号 MZG S 
*    WRITE ITABS-LXSR TO TMP. 
*    CONCATENATE '-' TMP INTO I_LXSR. 
WRITE ITABS-LXSR TO I_LXSR. 
"20190430 取消利息收入数字前的负号 MZG E 
ELSE. 
WRITE ITABS-LXSR TO I_LXSR. 
ENDIF. 
CONDENSE I_LXSR NO-GAPS. 
ILEN14 = 105 - STRLEN( I_LXSR ). 
* 20181029 AMBER ADD E 
* 20190102 AMBER ADD S 
* 资产减值损失 
IF ITABS-ZCJZSS < 0. 
ITABS-ZCJZSS = ABS( ITABS-ZCJZSS ). 
WRITE ITABS-ZCJZSS TO TMP. 
CONCATENATE '-' TMP INTO I_ZCJZSS. 
ELSE. 
WRITE ITABS-ZCJZSS TO I_ZCJZSS. 
ENDIF. 
CONDENSE I_ZCJZSS NO-GAPS. 
ILEN15 = 105 - STRLEN( I_ZCJZSS ). 
* 所得税费用 
IF ITABS-SDSFY < 0. 
ITABS-SDSFY = ABS( ITABS-SDSFY ). 
WRITE ITABS-SDSFY TO TMP. 
CONCATENATE '-' TMP INTO I_SDSFY. 
ELSE. 
WRITE ITABS-SDSFY TO I_SDSFY. 
ENDIF. 
CONDENSE I_SDSFY NO-GAPS. 
ILEN16 = 105 - STRLEN( I_SDSFY ). 
* 20190102 AMBER ADD E 
IF ITABS-LRZE < 0. 
ITABS-LRZE = ABS( ITABS-LRZE ). 
WRITE ITABS-LRZE TO TMP. 
CONCATENATE '-' TMP INTO I_LRZE. 
ELSE. 
WRITE ITABS-LRZE TO I_LRZE. 
ENDIF. 
CONDENSE I_LRZE NO-GAPS. 
ILEN6 = 105 - STRLEN( I_LRZE ). 
IF ITABS-JLR < 0. 
ITABS-JLR = ABS( ITABS-JLR ). 
WRITE ITABS-JLR TO TMP. 
CONCATENATE '-' TMP INTO I_JLR. 
ELSE. 
WRITE ITABS-JLR TO I_JLR. 
ENDIF. 
CONDENSE I_JLR NO-GAPS. 
ILEN7 = 105 - STRLEN( I_JLR ). 
IF ITABS-GYJZBD < 0. 
ITABS-GYJZBD = ABS( ITABS-GYJZBD ). 
WRITE ITABS-GYJZBD TO TMP. 
CONCATENATE '-' TMP INTO I_GYJZBD. 
ELSE. 
WRITE ITABS-GYJZBD TO I_GYJZBD. 
ENDIF. 
CONDENSE I_GYJZBD NO-GAPS. 
ILEN8 = 105 - STRLEN( I_GYJZBD ). 
IF ITABS-LYTZSY < 0. 
ITABS-LYTZSY = ABS( ITABS-LYTZSY ). 
WRITE ITABS-LYTZSY TO TMP. 
CONCATENATE '-' TMP INTO I_LYTZSY. 
ELSE. 
WRITE ITABS-LYTZSY TO I_LYTZSY. 
ENDIF. 
CONDENSE I_LYTZSY NO-GAPS. 
ILEN9 = 105 - STRLEN( I_LYTZSY ). 
ENDFORM.                    "subtotal 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_REPORT_HEADER 
*&---------------------------------------------------------------------* 
FORM WRITE_REPORT_HEADER. 
DATA : COMP(24) TYPE C, 
COMP1(30) TYPE C, 
TITL_POSI TYPE I, 
BTITL_POSI TYPE I, 
DATE_POSI TYPE I. 
DATA: P_BUTXT  LIKE T001-BUTXT. 
*公司代码 
SELECT SINGLE BUTXT FROM T001 
INTO P_BUTXT WHERE BUKRS = BUKRS. 
*分厂代码 
SELECT SINGLE NAME1 FROM T001W 
INTO COMP1 WHERE WERKS = RBUSA-LOW. 
COMP = P_BUTXT. 
TITL_POSI = ( SY-LINSZ - STRLEN( SY-TITLE ) ) / 2 - 6. 
BTITL_POSI = ( SY-LINSZ - STRLEN( COMP ) ) / 2 + 1. 
DATE_POSI = TITL_POSI + 1. 
SKIP 4. 
WRITE:/ '',AT TITL_POSI '利     润     表'. 
SKIP 2. 
IF P_RTCUR = 'KRW'. 
IF COMP1 NE SPACE. 
WRITE:/ '编制单位:',COMP,'/',COMP1, 
70 ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单 位:',P_RTCUR. 
ELSE. 
WRITE:/ '编制单位:',COMP, 
AT DATE_POSI ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单 位:',P_RTCUR. 
ENDIF. 
ELSEIF P_RTCUR = 'USD'. 
IF COMP1 NE SPACE. 
WRITE:/ '编制单位:',COMP,'/',COMP1, 
70 ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单 位:',P_RTCUR. 
ELSE. 
WRITE:/ '编制单位:',COMP, 
AT DATE_POSI ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单 位:',P_RTCUR. 
ENDIF. 
ELSE. 
IF COMP1 NE SPACE. 
WRITE:/ '编制单位:',COMP,'/',COMP1, 
70 ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单位:人民币元'. 
ELSE. 
WRITE:/ '编制单位:',COMP, 
AT DATE_POSI ' ', RYEAR,'年',PERID,'月', "e_day,'日', 
AT 106 '单位:人民币元'. 
ENDIF. 
ENDIF. 
ENDFORM.                    " WRITE_REPORT_HEADER 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_BS 
*&---------------------------------------------------------------------* 
FORM WRITE_BS. 
*  IF P_RTCUR = 'KRW'. 
*    J_XSFY  = J_XSFY  * 100 . 
*    I_XSFY  = I_XSFY  * 100 . 
*    J_GLFY  = J_GLFY  * 100 . 
*    I_GLFY  = I_GLFY  * 100 . 
*    J_CWFY  = J_CWFY  * 100 . 
*    I_CWFY  = I_CWFY  * 100 . 
*    J_GYJZBD  = J_GYJZBD  * 100 . 
*    I_GYJZBD  = I_GYJZBD  * 100 . 
*    J_TZSY  = J_TZSY  * 100 . 
*    I_TZSY  = I_TZSY  * 100 . 
* 
*    J_QTSY  = J_QTSY  * 100 . 
*    I_QTSY  = I_QTSY  * 100 . 
* 
* 
*    J_ZCCZSY  = J_ZCCZSY  * 100 ."add by wjb 
*    I_ZCCZSY  = I_ZCCZSY  * 100 ."add by wjb 
* 
*    J_LYTZSY  = J_LYTZSY  * 100 . 
*    I_LYTZSY  = I_LYTZSY  * 100 . 
*    J_YYLR  = J_YYLR  * 100 . 
*    I_YYLR  = I_YYLR  * 100 . 
*    J_LRZE  = J_LRZE  * 100 . 
*    I_LRZE  = I_LRZE  * 100 . 
*    J_JLR = J_JLR * 100 . 
*    I_JLR = I_JLR * 100 . 
* 
** 20181029 AMBER ADD S 
*    J_YFFY  = J_YFFY  * 100 . 
*    I_YFFY  = I_YFFY  * 100 . 
*    J_LXFY  = J_LXFY  * 100 . 
*    I_LXFY  = I_LXFY  * 100 . 
*    J_LXSR  = J_LXSR  * 100 . 
*    I_LXSR  = I_LXSR  * 100 . 
** 20181029 AMBER ADD E 
* 
*    ITABS-YYSR  = ITABS-YYSR  * 100 . 
*    ITABS-YYCB  = ITABS-YYCB  * 100 . 
*    ITABS-YYSJ  = ITABS-YYSJ  * 100 . 
*    ITABS-ZCJZSS  = ITABS-ZCJZSS  * 100 . 
*    ITABS-YYWSR = ITABS-YYWSR * 100 . 
*    ITABS-YYWZC = ITABS-YYWZC * 100 . 
*    ITABS-FLDCZ = ITABS-FLDCZ * 100 . 
*    ITABS-SDSFY = ITABS-SDSFY * 100 . 
*    ITABS-JBMGSY  = ITABS-JBMGSY  * 100 . 
* 
*    JTAB-YYSR  = JTAB-YYSR * 100 . 
*    JTAB-YYCB = JTAB-YYCB * 100 . 
*    JTAB-YYSJ = JTAB-YYSJ * 100 . 
*    JTAB-ZCJZSS = JTAB-ZCJZSS * 100 . 
*    JTAB-YYWSR  = JTAB-YYWSR  * 100 . 
*    JTAB-YYWZC  = JTAB-YYWZC  * 100 . 
*    JTAB-FLDCZ  = JTAB-FLDCZ  * 100 . 
*    JTAB-SDSFY  = JTAB-SDSFY  * 100 . 
*    JTAB-JBMGSY = JTAB-JBMGSY * 100 . 
*  ELSE. 
* 
*  ENDIF. 
PERFORM WRITE_PAGE. 
PERFORM OUTPUT_FORMAT USING  ' 一、营业收入' ' 1 ' JTAB-YYSR ITABS-YYSR. 
PERFORM OUTPUT_FORMAT USING  '  减:营业成本' ' 2 ' JTAB-YYCB ITABS-YYCB. 
PERFORM OUTPUT_FORMAT USING  '      营业税金及附加' ' 3 ' JTAB-YYSJ ITABS-YYSJ. 
PERFORM OUTPUT_STRFORMAT USING  '      销售费用' ' 4 ' JLEN1 J_XSFY ILEN1 I_XSFY. 
PERFORM OUTPUT_STRFORMAT USING  '      管理费用' ' 5 ' JLEN2 J_GLFY ILEN2 I_GLFY. 
* 20181029 AMBER ADD S 
PERFORM OUTPUT_STRFORMAT USING  '      研发费用' ' 6 ' JLEN12 J_YFFY ILEN12 I_YFFY. 
* 20181029 AMBER ADD E 
PERFORM OUTPUT_STRFORMAT USING  '      财务费用' ' 7 ' JLEN3 J_CWFY ILEN3 I_CWFY. 
* 20181029 AMBER ADD S 
PERFORM OUTPUT_STRFORMAT USING  '      其中:利息费用' ' 8 ' JLEN13 J_LXFY ILEN13 I_LXFY. 
PERFORM OUTPUT_STRFORMAT USING  '            利息收入' ' 9 ' JLEN14 J_LXSR ILEN14 I_LXSR. 
* 20181029 AMBER ADD E 
* 20181029 AMBER MODIFY S 
*  PERFORM OUTPUT_FORMAT USING  '      资产减值损失' ' 8 ' JTAB-ZCJZSS ITABS-ZCJZSS. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '  加:公允价值变动收益' ' 8 ' JLEN8 J_GYJZBD ILEN8 I_GYJZBD. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '      投资收益' ' 9 ' JLEN5 J_TZSY ILEN5 I_TZSY. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '      其中:对联营企业和合营企业的投资收益' 
*                                         ' 10 ' JLEN9 J_LYTZSY ILEN9 I_LYTZSY. 
* 
* 
*  PERFORM OUTPUT_FORMAT USING  '      资产处置收益' ' 11 ' JTAB-ZCCZSY ITABS-ZCCZSY. 
* 
*  PERFORM OUTPUT_FORMAT USING  '      其他收益' ' 12 ' JTAB-QTSY ITABS-QTSY. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '二、营业利润' ' 13 ' JLEN4 J_YYLR ILEN4 I_YYLR. 
* 
*  PERFORM OUTPUT_FORMAT USING  '  加:营业外收入' ' 14 ' JTAB-YYWSR ITABS-YYWSR. 
* 
*  PERFORM OUTPUT_FORMAT USING  '  减:营业外支出' ' 15 ' JTAB-YYWZC ITABS-YYWZC. 
* 
*  PERFORM OUTPUT_FORMAT USING  '      其中:非流动资产处置损失' ' 16 ' JTAB-FLDCZ ITABS-FLDCZ. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '三、利润总额' ' 17 ' JLEN6 J_LRZE ILEN6 I_LRZE. 
* 
*  PERFORM OUTPUT_FORMAT USING  '  减:所得税费用' ' 18 ' JTAB-SDSFY ITABS-SDSFY. 
* 
*  PERFORM OUTPUT_STRFORMAT USING  '四、净利润' ' 19 ' JLEN7 J_JLR ILEN7 I_JLR. 
* 
*  PERFORM OUTPUT_FORMAT USING  '五、每股收益:' ' 20 ' ' ' ' '. 
* 
*  PERFORM OUTPUT_FORMAT USING  '  (一)基本每股收益' ' 21 ' JTAB-JBMGSY ITABS-JBMGSY. 
* 
*  PERFORM OUTPUT_FORMAT USING  '  (二)稀释每股收益' ' 22' ' ' ' '. 
* 20190102 AMBER MODIFY S 
*  PERFORM OUTPUT_FORMAT USING  '      资产减值损失' ' 10 ' JTAB-ZCJZSS ITABS-ZCJZSS. 
PERFORM OUTPUT_STRFORMAT USING  '      资产减值损失' ' 10 ' JLEN15 J_ZCJZSS ILEN15 I_ZCJZSS. 
* 20190102 AMBER MODIFY E 
* 20190102 AMBER MODIFY S 
*  PERFORM OUTPUT_FORMAT USING  '  加:其他收益' ' 11 ' JTAB-QTSY ITABS-QTSY. 
PERFORM OUTPUT_STRFORMAT USING  '  加:其他收益' ' 11 ' JLEN10 J_QTSY ILEN10 I_QTSY. 
* 20190102 AMBER MODIFY E 
PERFORM OUTPUT_STRFORMAT USING  '      投资收益' ' 12 ' JLEN5 J_TZSY ILEN5 I_TZSY. 
PERFORM OUTPUT_STRFORMAT USING  '      其中:对联营企业和合营企业的投资收益' 
' 13 ' JLEN9 J_LYTZSY ILEN9 I_LYTZSY. 
PERFORM OUTPUT_STRFORMAT USING  '      公允价值变动收益' ' 14 ' JLEN8 J_GYJZBD ILEN8 I_GYJZBD. 
* 20181103 AMBER MODIFY S 
* PERFORM OUTPUT_FORMAT USING  '      资产处置收益' ' 15 ' JTAB-ZCCZSY ITABS-ZCCZSY. 
PERFORM OUTPUT_STRFORMAT USING  '      资产处置收益' ' 15 ' JLEN11 J_ZCCZSY ILEN11 I_ZCCZSY. 
* 20181103 AMBER MODIFY E 
PERFORM OUTPUT_STRFORMAT USING  '二、营业利润' ' 16 ' JLEN4 J_YYLR ILEN4 I_YYLR. 
PERFORM OUTPUT_FORMAT USING  '  加:营业外收入' ' 17 ' JTAB-YYWSR ITABS-YYWSR. 
PERFORM OUTPUT_FORMAT USING  '  减:营业外支出' ' 18 ' JTAB-YYWZC ITABS-YYWZC. 
PERFORM OUTPUT_FORMAT USING  '      其中:非流动资产处置损失' ' 19 ' JTAB-FLDCZ ITABS-FLDCZ. 
PERFORM OUTPUT_STRFORMAT USING  '三、利润总额' ' 20 ' JLEN6 J_LRZE ILEN6 I_LRZE. 
* 20190102 AMBER MODIFY S 
*  PERFORM OUTPUT_FORMAT USING  '  减:所得税费用' ' 21 ' JTAB-SDSFY ITABS-SDSFY. 
PERFORM OUTPUT_STRFORMAT USING  '  减:所得税费用' ' 21 'JLEN16 J_SDSFY ILEN16 I_SDSFY. 
* 20190102 AMBER MODIFY E 
PERFORM OUTPUT_STRFORMAT USING  '四、净利润' ' 22 ' JLEN7 J_JLR ILEN7 I_JLR. 
PERFORM OUTPUT_FORMAT USING  '五、每股收益:' ' 23 ' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING  '  (一)基本每股收益' ' 24 ' JTAB-JBMGSY ITABS-JBMGSY. 
PERFORM OUTPUT_FORMAT USING  '  (二)稀释每股收益' ' 25' ' ' ' '. 
* 20181029 AMBER MODIFY E 
SKIP 2. 
WRITE:/ '补充资料:'. 
SKIP. 
ULINE 1(120). 
WRITE:/ SY-VLINE NO-GAP,16 '项     目',42 SY-VLINE NO-GAP, 
44 '行 次',49 SY-VLINE NO-GAP, 
53 '  本 年 累 计 数',84 SY-VLINE NO-GAP, 
88 '  上 年 实 际 数',120 SY-VLINE NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'1.出售、处置部门或被投资单位所得收益', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'2.自然灾害发生的损失', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'3.会计政策变更增加(或减少)利润总额', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'4.会计估计变更增加(或减少)利润总额', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'5.债务重组损失', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
WRITE:/ SY-VLINE NO-GAP,'6.其他', 
42 SY-VLINE NO-GAP,49 SY-VLINE NO-GAP,84 SY-VLINE NO-GAP,120 SY-VLINE 
NO-GAP. 
ULINE 0(120). 
ENDFORM.                    "write_bs 
*&---------------------------------------------------------------------* 
*&      Form  write_report_ender 
*&---------------------------------------------------------------------* 
FORM WRITE_REPORT_ENDER. 
SKIP 2. 
WRITE:/ '单位负责人:',40 '主管会计工作负责人:',80 '会计机构负责人:' 
. 
ENDFORM.                    "write_report_ender 
*&--------------------------------------------------------------------* 
*&      Form  authrization 
*&--------------------------------------------------------------------* 
*       text 
*---------------------------------------------------------------------* 
FORM AUTHRIZATION. 
ENDFORM.                    " AUTHRIZATION 
*&---------------------------------------------------------------------* 
*&      Form  cal_day 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM CAL_DAY. 
CONDENSE PERID NO-GAPS. 
IF PERID+0(1) = '0'. 
PERID = PERID+1(1). 
ENDIF. 
IF PERID = '4' OR PERID = '6' OR 
PERID = '9' OR PERID = '11'. 
E_DAY = '30'. 
ELSEIF PERID = '2'. 
P_MOD = RYEAR MOD 4. 
IF P_MOD = 0. 
E_DAY = '29'. 
ELSE. 
E_DAY = '28'. 
ENDIF. 
ELSE. 
E_DAY = '31'. 
ENDIF. 
CONDENSE E_DAY NO-GAPS. 
ENDFORM.                    " cal_day 
*&---------------------------------------------------------------------* 
*&      Form  Get_data 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM GET_DATA . 
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM GLT0 
WHERE   RYEAR = RYEAR 
AND BUKRS = BUKRS 
AND RBUSA IN RBUSA 
AND RLDNR = '00' 
AND RRCTY = '0'   "0:实际发生;  1:表示计划发生 
AND RACCT >= '0050000000'. 
REFRESH ITABS.   CLEAR ITABS. 
REFRESH JTAB.    CLEAR JTAB. 
LOOP AT ITAB. 
CASE PERID. 
WHEN '01' OR '1' OR ' 1' OR '1 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01. 
ITAB-CAMOUNT = ITAB-HSL01. 
WHEN '02' OR '2' OR ' 2' OR '2 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02. 
ITAB-CAMOUNT = ITAB-HSL02. 
WHEN '03' OR '3' OR ' 3' OR '3 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03. 
ITAB-CAMOUNT = ITAB-HSL03. 
WHEN '04' OR '4' OR ' 4' OR '4 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04. 
ITAB-CAMOUNT = ITAB-HSL04. 
WHEN '05' OR '5' OR ' 5' OR '5 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05. 
ITAB-CAMOUNT = ITAB-HSL05. 
WHEN '06' OR '6' OR ' 6' OR '6 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06. 
ITAB-CAMOUNT = ITAB-HSL06. 
WHEN '07' OR '7' OR ' 7' OR '7 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07. 
ITAB-CAMOUNT = ITAB-HSL07. 
WHEN '08' OR '8' OR ' 8' OR '8 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08. 
ITAB-CAMOUNT = ITAB-HSL08. 
WHEN '09' OR '9' OR ' 9' OR '9 '. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09. 
ITAB-CAMOUNT = ITAB-HSL09. 
WHEN '10'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10. 
ITAB-CAMOUNT = ITAB-HSL10. 
WHEN '11'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11. 
ITAB-CAMOUNT = ITAB-HSL11. 
WHEN '12'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11 
+ ITAB-HSL12. 
ITAB-CAMOUNT = ITAB-HSL12. 
WHEN '13'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11 
+ ITAB-HSL12 + ITAB-HSL13. 
ITAB-CAMOUNT = ITAB-HSL13. 
WHEN '14'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11 
+ ITAB-HSL12 + ITAB-HSL13 + ITAB-HSL14. 
ITAB-CAMOUNT = ITAB-HSL14. 
WHEN '15'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11 
+ ITAB-HSL12 + ITAB-HSL13 + ITAB-HSL14 + ITAB-HSL15 
. 
ITAB-CAMOUNT = ITAB-HSL15. 
WHEN '16'. 
ITAB-TAMOUNT = ITAB-HSLVT + ITAB-HSL01 + ITAB-HSL02 + ITAB-HSL03 
+ ITAB-HSL04 + ITAB-HSL05 + ITAB-HSL06 + ITAB-HSL07 
+ ITAB-HSL08 + ITAB-HSL09 + ITAB-HSL10 + ITAB-HSL11 
+ ITAB-HSL12 + ITAB-HSL13 + ITAB-HSL14 + ITAB-HSL15 
+ ITAB-HSL16. 
ITAB-CAMOUNT = ITAB-HSL16. 
ENDCASE. 
MODIFY ITAB INDEX SY-TABIX. 
CASE ITAB-RACCT+2(4). 
WHEN '5101' OR '5102'.  "营业收入 
IF ITAB-RACCT+2(4) = '5101' OR ITAB-RACCT+2(4) = '5102'. "Modify by Rex on 2011.8.15 
ITABS-YYSR = ITABS-YYSR + ITAB-TAMOUNT. 
JTAB-YYSR  = JTAB-YYSR  + ITAB-CAMOUNT. 
ENDIF. 
WHEN '5401' OR '5405'.     "营业成本 
IF ITAB-RACCT+2(4) = '5401' OR ITAB-RACCT+2(4) = '5405'. "Modify by Rex on 2011.8.15 
ITABS-YYCB = ITABS-YYCB + ITAB-TAMOUNT. 
JTAB-YYCB = JTAB-YYCB + ITAB-CAMOUNT. 
ENDIF. 
WHEN '5402'.            "营业税金及附加 
ITABS-YYSJ = ITABS-YYSJ + ITAB-TAMOUNT. 
JTAB-YYSJ = JTAB-YYSJ + ITAB-CAMOUNT. 
WHEN '5503'.            "财务费用 
ITABS-CWFY = ITABS-CWFY + ITAB-TAMOUNT. 
JTAB-CWFY = JTAB-CWFY + ITAB-CAMOUNT. 
* 20181029 AMBER ADD S 
CASE ITAB-RACCT+2(8). 
* 利息费用 
WHEN '55030101' OR    "财务费用-利息支出 
'55030501' OR     "财务费用-融资费用 
'55030701'.       "财务费用-贴息费用 
ITABS-LXFY = ITABS-LXFY + ITAB-TAMOUNT. 
JTAB-LXFY = JTAB-LXFY + ITAB-CAMOUNT. 
*  利息收入 
WHEN '55030201'.       "财务费用-利息收入 
ITABS-LXSR = ITABS-LXSR + ITAB-TAMOUNT. 
JTAB-LXSR = JTAB-LXSR + ITAB-CAMOUNT. 
ENDCASE. 
* 20181029 AMBER ADD E 
WHEN '5590'.            "资产减值损失 
ITABS-ZCJZSS = ITABS-ZCJZSS + ITAB-TAMOUNT. 
JTAB-ZCJZSS = JTAB-ZCJZSS + ITAB-CAMOUNT. 
WHEN '5111'.            "公允价值变动收益 
ITABS-GYJZBD = ITABS-GYJZBD + ITAB-TAMOUNT. 
JTAB-GYJZBD = JTAB-GYJZBD + ITAB-CAMOUNT. 
WHEN '5302'.            "其他收益 
ITABS-QTSY = ITABS-QTSY + ITAB-TAMOUNT. 
JTAB-QTSY = JTAB-QTSY + ITAB-CAMOUNT. 
WHEN '5303'.            "资产处置收益 
ITABS-ZCCZSY = ITABS-ZCCZSY + ITAB-TAMOUNT. 
JTAB-ZCCZSY = JTAB-ZCCZSY + ITAB-CAMOUNT. 
WHEN '5201'.            "投资收益 
ITABS-TZSY = ITABS-TZSY + ITAB-TAMOUNT. 
JTAB-TZSY = JTAB-TZSY + ITAB-CAMOUNT. 
IF ITAB-RACCT = '0052010201'.     "对联营企业和合营企业的投资收益 
ITABS-LYTZSY = ITABS-LYTZSY + ITAB-TAMOUNT. 
JTAB-LYTZSY = JTAB-LYTZSY + ITAB-CAMOUNT. 
ENDIF. 
WHEN '5301'.            "营业外收入 
ITABS-YYWSR = ITABS-YYWSR + ITAB-TAMOUNT. 
JTAB-YYWSR = JTAB-YYWSR + ITAB-CAMOUNT. 
WHEN '5601'.            "营业外支出 
ITABS-YYWZC = ITABS-YYWZC + ITAB-TAMOUNT. 
JTAB-YYWZC = JTAB-YYWZC + ITAB-CAMOUNT. 
IF ITAB-RACCT = '0056010401'.     "非流动资产处置损失 
ITABS-FLDCZ = ITABS-FLDCZ + ITAB-TAMOUNT. 
JTAB-FLDCZ = JTAB-FLDCZ + ITAB-CAMOUNT. 
ENDIF. 
WHEN '5701'.            "所得税费用 
ITABS-SDSFY = ITABS-SDSFY + ITAB-TAMOUNT. 
JTAB-SDSFY = JTAB-SDSFY + ITAB-CAMOUNT. 
ENDCASE. 
IF ITAB-RACCT = '0090000004'.  "Modify by Rex on 2011.8.15 
ITABS-YYSR = ITABS-YYSR + ITAB-TAMOUNT. 
JTAB-YYSR  = JTAB-YYSR  + ITAB-CAMOUNT. 
ENDIF. 
IF ITAB-RACCT = '0090000006'. 
ITABS-YYCB = ITABS-YYCB + ITAB-TAMOUNT. 
JTAB-YYCB = JTAB-YYCB + ITAB-CAMOUNT. 
ENDIF. 
MODIFY JTAB INDEX SY-TABIX. 
MODIFY ITABS INDEX SY-TABIX. 
ENDLOOP. 
ENDFORM.                    " Get_data 
*&---------------------------------------------------------------------* 
*&      Form  write_page 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM WRITE_PAGE . 
ULINE. 
WRITE:/ SY-VLINE NO-GAP,10 '项                目',42 SY-VLINE NO-GAP, 
44 '行 次', 
49 SY-VLINE NO-GAP, 53 '         本   月   数', 
84 SY-VLINE NO-GAP, 88 '       本 年 累 计 数', 
120 SY-VLINE NO-GAP. 
ULINE. 
ENDFORM.                    " write_page 
*&---------------------------------------------------------------------* 
*&      Form  output_format 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_ZDES  科目描述 
*      -->P_ZL    行次 
*      -->P_ZMV   本月数 
*      -->P_ZYV    本年累计数 
*----------------------------------------------------------------------* 
FORM OUTPUT_FORMAT  USING    P_ZDES 
P_ZL 
P_ZMV 
P_ZYV. 
WRITE:/ SY-VLINE NO-GAP,P_ZDES,42 SY-VLINE NO-GAP, 
44 P_ZL. 
IF P_ZMV NE 0 . 
WRITE: 49 SY-VLINE NO-GAP, P_ZMV. 
ELSE. 
WRITE: 49 SY-VLINE NO-GAP. 
ENDIF. 
IF P_ZYV NE 0 . 
WRITE: 84 SY-VLINE NO-GAP, P_ZYV. 
ELSE. 
WRITE: 84 SY-VLINE NO-GAP. 
ENDIF. 
WRITE: 120 SY-VLINE NO-GAP. 
ULINE. 
ENDFORM.                    " output_format 
*&---------------------------------------------------------------------* 
*&      Form  output_strformat 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_ZDES  科目描述 
*      -->P_ZL    行次 
*      -->P_ZMV   本月数 
*      -->P_ZYV    本年累计数 
*----------------------------------------------------------------------* 
FORM OUTPUT_STRFORMAT  USING    P_ZDES 
P_ZL 
P_ZMV_POS 
P_ZMV 
P_ZYV_POS 
P_ZYV. 
WRITE:/ SY-VLINE NO-GAP,P_ZDES,42 SY-VLINE NO-GAP, 
44 P_ZL. 
CONDENSE P_ZMV  NO-GAPS. 
IF ( P_ZMV NE ' ' AND  P_ZMV  NE '0.00' ). 
WRITE: 49 SY-VLINE NO-GAP, AT P_ZMV_POS P_ZMV. 
ELSE. 
WRITE: 49 SY-VLINE NO-GAP. 
ENDIF. 
CONDENSE P_ZYV  NO-GAPS. 
IF ( P_ZYV NE ' ' AND  P_ZYV  NE '0.00' ). 
WRITE: 84 SY-VLINE NO-GAP,AT P_ZYV_POS P_ZYV. 
ELSE. 
WRITE: 84 SY-VLINE NO-GAP. 
ENDIF. 
WRITE: 120 SY-VLINE NO-GAP. 
ULINE. 
ENDFORM.                    " output_strformat 
*&---------------------------------------------------------------------* 
*&      Form  GET_GY_DATA 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM GET_GY_DATA . 
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB1 FROM GLFUNCT 
WHERE   RYEAR = RYEAR 
AND RBUKRS = BUKRS 
AND RBUSA IN RBUSA 
AND RLDNR = '0F' 
AND RRCTY = '0'   "0:实际发生;  1:表示计划发生 
AND RACCT >= '0055040000' 
AND RACCT  <= '0055049999'. 
LOOP AT ITAB1. 
CASE PERID. 
WHEN '01' OR '1' OR ' 1' OR '1 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01. 
ITAB1-CAMOUNT = ITAB1-HSL01. 
WHEN '02' OR '2' OR ' 2' OR '2 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02. 
ITAB1-CAMOUNT = ITAB1-HSL02. 
WHEN '03' OR '3' OR ' 3' OR '3 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03. 
ITAB1-CAMOUNT = ITAB1-HSL03. 
WHEN '04' OR '4' OR ' 4' OR '4 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04. 
ITAB1-CAMOUNT = ITAB1-HSL04. 
WHEN '05' OR '5' OR ' 5' OR '5 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05. 
ITAB1-CAMOUNT = ITAB1-HSL05. 
WHEN '06' OR '6' OR ' 6' OR '6 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06. 
ITAB1-CAMOUNT = ITAB1-HSL06. 
WHEN '07' OR '7' OR ' 7' OR '7 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07. 
ITAB1-CAMOUNT = ITAB1-HSL07. 
WHEN '08' OR '8' OR ' 8' OR '8 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08. 
ITAB1-CAMOUNT = ITAB1-HSL08. 
WHEN '09' OR '9' OR ' 9' OR '9 '. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09. 
ITAB1-CAMOUNT = ITAB1-HSL09. 
WHEN '10'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10. 
ITAB1-CAMOUNT = ITAB1-HSL10. 
WHEN '11'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11. 
ITAB1-CAMOUNT = ITAB1-HSL11. 
WHEN '12'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11 
+ ITAB1-HSL12. 
ITAB1-CAMOUNT = ITAB1-HSL12. 
WHEN '13'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11 
+ ITAB1-HSL12 + ITAB1-HSL13. 
ITAB1-CAMOUNT = ITAB1-HSL13. 
WHEN '14'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11 
+ ITAB1-HSL12 + ITAB1-HSL13 + ITAB1-HSL14. 
ITAB1-CAMOUNT = ITAB1-HSL14. 
WHEN '15'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11 
+ ITAB1-HSL12 + ITAB1-HSL13 + ITAB1-HSL14 
+ ITAB1-HSL15. 
ITAB1-CAMOUNT = ITAB1-HSL15. 
WHEN '16'. 
ITAB1-TAMOUNT = ITAB1-HSLVT + ITAB1-HSL01 + ITAB1-HSL02 
+ ITAB1-HSL03 + ITAB1-HSL04 + ITAB1-HSL05 
+ ITAB1-HSL06 + ITAB1-HSL07 + ITAB1-HSL08 
+ ITAB1-HSL09 + ITAB1-HSL10 + ITAB1-HSL11 
+ ITAB1-HSL12 + ITAB1-HSL13 + ITAB1-HSL14 
+ ITAB1-HSL15 + ITAB1-HSL16 . 
ITAB1-CAMOUNT = ITAB1-HSL16. 
ENDCASE. 
MODIFY ITAB1 INDEX SY-TABIX. 
CASE ITAB1-RACCT+2(4). 
WHEN '5504'. 
* 20181029 amber MODIFY  S 
IF ITAB1-RFAREA = '0004'.    "销售费用 
ITABS-XSFY = ITABS-XSFY + ITAB1-TAMOUNT. 
JTAB-XSFY = JTAB-XSFY + ITAB1-CAMOUNT. 
ENDIF. 
IF ITAB1-RFAREA = '0003'. 
IF ITAB1-RACCT+2(6) =  '550406'. 
ITABS-YFFY = ITABS-YFFY + ITAB1-TAMOUNT. "研发费用 
JTAB-YFFY = JTAB-YFFY + ITAB1-CAMOUNT. 
ELSE.                                    "管理费用 
ITABS-GLFY = ITABS-GLFY + ITAB1-TAMOUNT. 
JTAB-GLFY = JTAB-GLFY + ITAB1-CAMOUNT. 
ENDIF. 
ENDIF. 
* 20181029 amber MODIFY  E 
ENDCASE. 
MODIFY JTAB INDEX SY-TABIX. 
MODIFY ITABS INDEX SY-TABIX. 
ENDLOOP. 
ENDFORM.                    " GET_GY_DATA 
*&---------------------------------------------------------------------* 
*&      Form  PROCESS_DATA 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM PROCESS_DATA . 
ENDFORM.                    " PROCESS_DATA 

资产负债表

 
********************************************************************* 
* PROGRAM NAME        : 资产负债表(新会计制度)                      * 
* APPLICATION NAME    : FI                                          * 
* SUBSYSTEM           : GL                                          * 
* AUTHOR              :                                             * 
* TRANSACTION         : ZFIR003N                                    * 
* SAP RELEASE         : 6.0                                         * 
* PROGRAM ID          :                                             * 
* PROGRAM DESCRIPTION : 资产负债表(新会计制度)                      * 
********************************************************************* 
* REVISION LOG                                                      * 
* LOG#    DATE        AUTHOR       DESCRIPTION                      * 
* ----   -------     --------      -----------                      * 
* 0000   10/30/2014                资产负债表                       * 
********************************************************************* 
REPORT  ZFIR003V2  NO STANDARD PAGE HEADING MESSAGE-ID 00 
LINE-SIZE 155 LINE-COUNT 120. 
TABLES : t001,    "公司代码 
t001w,   "分厂代码 
glt0,    "总帐科目主记录业务额 
anlc.    "资产值字段 
******itabs:期未数*****jtab:期初数*********************************** 
DATA:  BEGIN OF itabs OCCURS 10, 
* 流动资产: 
hbzj       LIKE glt0-hslvt,   "货币资金 
jyxjrz     LIKE glt0-hslvt,   "交易性金融资产 以公允价值计量且其变动计入当期损益的金融资产 
yspj       LIKE glt0-hslvt,   "应收票据 
yszk       LIKE glt0-hslvt,   "应收帐款 
yshzzb     LIKE glt0-hslvt,   "应收帐款坏帐准备 
yszkje     LIKE glt0-hslvt,   "应收帐款净额 
yufzk      LIKE glt0-hslvt,   "预付帐款 
yslx       LIKE glt0-hslvt,   "应收利息 
ysgl       LIKE glt0-hslvt,   "应收股利 
qtysk      LIKE glt0-hslvt,   "其他应收款 
qthzzb     LIKE glt0-hslvt,   "其他应收帐款坏帐准备 
* 20190106 amber insert s 
cqhzzb     LIKE glt0-hslvt,   "长期应收帐款坏帐准备 
* 20190106 amber insert e 
qtyszkje   LIKE glt0-hslvt,   "其他应收帐款净额 
cuih       LIKE glt0-hslvt,   "存货 
chdjzb     LIKE glt0-hslvt,   "存货跌价准备 
chje       LIKE glt0-hslvt,   "存货净额 
dtfei      LIKE glt0-hslvt,   "待摊费用 
qtldzc     LIKE glt0-hslvt,   "其他流动资产 
nbwl       LIKE glt0-hslvt,   "内部往来 
ldzchj     LIKE glt0-hslvt,   "流动资产合计 
*非流动资产: 
kgcsjr     LIKE glt0-hslvt,   "可供出售金融资产 
cyzdq      LIKE glt0-hslvt,   "持有至到期投资 
cqysk      LIKE glt0-hslvt,   "长期应收款 
cqgq       LIKE glt0-hslvt,   "长期股权投资 
cqgqjz     LIKE glt0-hslvt,   "长期投资减值准备 
tzxfdc     LIKE glt0-hslvt,   "投资性房地产 
gdzc       LIKE glt0-hslvt,   "固定资产原价 
ljzj       LIKE glt0-hslvt,   "累计折旧 
gdzcjz     LIKE glt0-hslvt,   "固定资产净值 
gdzcjzz    LIKE glt0-hslvt,   "固定资产减值准备 
gdzcje     LIKE glt0-hslvt,   "固定资产净额 
zjgc       LIKE glt0-hslvt,   "在建工程 
gcwz       LIKE glt0-hslvt,   "工程物资 
gdzcql     LIKE glt0-hslvt,   "固定资产清理 
*       GDZCHJ     LIKE GLT0-HSLVT,   "固定资产合计 
wxzc       LIKE glt0-hslvt,   "无形资产 
kfzc       LIKE glt0-hslvt,   "开发支出 
sy         LIKE glt0-hslvt,   "商誉 
cqdtf      LIKE glt0-hslvt,   "长期待摊费用 
dysdsz     LIKE glt0-hslvt,   "递延所得税资产 
qtcqzc     LIKE glt0-hslvt,   "其他长期资产 
qtfld      LIKE glt0-hslvt,   "其他非流动资产 
fldzchj    LIKE glt0-hslvt,   "非流动资产合计 
*资产总计 
zchj       LIKE glt0-hslvt,   "资产总计 
*流动负债: 
dqjk       LIKE glt0-hslvt,   "短期借款 
jyxjrf     LIKE glt0-hslvt,   "交易性金融负债 以公允价值计量且其变动计入当期损益的金融负债 
yfpj       LIKE glt0-hslvt,   "应付票据 
yfzk       LIKE glt0-hslvt,   "应付帐款 
yuszk      LIKE glt0-hslvt,   "预收帐款 
yfzgxc     LIKE glt0-hslvt,   "应付职工薪酬 
yjsf       LIKE glt0-hslvt,   "应交税费 
yflx       LIKE glt0-hslvt,   "应付利息 
yfgl       LIKE glt0-hslvt,   "应付股利 
qtyfk      LIKE glt0-hslvt,   "其他应付款 
ytfy       LIKE glt0-hslvt,   "预提费用 
qtldfz     LIKE glt0-hslvt,   "其他流动负债 
ldfzhj     LIKE glt0-hslvt,   "流动负债合计 
*非流动负债: 
cqjk       LIKE glt0-hslvt,   "长期借款 
yfzq       LIKE glt0-hslvt,   "应付债券 
cqyfk      LIKE glt0-hslvt,   "长期应付款 
zxyfk      LIKE glt0-hslvt,   "专项应付款 
yjfz       LIKE glt0-hslvt,   "预计负债 
dysy       LIKE glt0-hslvt,   "递延收益 
dysdsf     LIKE glt0-hslvt,   "递延所得税负债 
qtcqfz     LIKE glt0-hslvt,   "其他长期负债 
fldfzhj    LIKE glt0-hslvt,   "非流动负债合计 
*负债合计 
fzhj       LIKE glt0-hslvt,   "负债合计 
*所有者权益(或股东权益): 
sszb       LIKE glt0-hslvt,   "实收资本(或股本) 
zbgj       LIKE glt0-hslvt,   "资本公积 
qtzhsy     LIKE glt0-hslvt,   "其他综合收益 
kcg        LIKE glt0-hslvt,   "库存股 
yygj       LIKE glt0-hslvt,   "盈余公积 
gyj        LIKE glt0-hslvt,   "公益金 
wfplr      LIKE glt0-hslvt,   "未分配利润 
syzqlhj    LIKE glt0-hslvt,   "所有者权益(或股东权益)合计 
*负债和所有者权益(或股东权益)总计 
fzsyhj     LIKE glt0-hslvt, 
ncycl LIKE glt0-hslvt,     "年初原材料存货 
ncsp LIKE glt0-hslvt,      "年初库存商品 
ncbcp LIKE glt0-hslvt,     "年初自制半成品 
ncfqfk LIKE glt0-hslvt,    "分期付款发出商品 
ncwtjg LIKE glt0-hslvt,    "委托加工物资 
nczzp LIKE glt0-hslvt,     "在制品 
ncdzyh LIKE glt0-hslvt,    "低值易耗品 
ncbzw  LIKE glt0-hslvt,    "包装物 
nmycl LIKE glt0-hslvt,     "年末原材料存货 
nmsp LIKE glt0-hslvt,      "年末库存商品 
nmbcp LIKE glt0-hslvt,     "年末自制半成品 
nmfqfk LIKE glt0-hslvt,    "分期付款发出商品 
nmwtjg LIKE glt0-hslvt,    "委托加工物资 
nmzzp LIKE glt0-hslvt,     "在制品 
nmdzyh LIKE glt0-hslvt,    "低值易耗品 
nmbzw  LIKE glt0-hslvt,    "包装物 
fdgyj   LIKE glt0-hslvt,   "法定公益金 
rtcur  LIKE glt0-rtcur,    "货币 
END OF itabs. 
DATA: jtab LIKE itabs OCCURS 10 WITH HEADER LINE. 
DATA: BEGIN OF itab OCCURS 10. 
INCLUDE STRUCTURE glt0. 
DATA: tamount LIKE glt0-hslvt. 
DATA: END OF itab. 
DATA: e_day(2), 
p_len TYPE i, 
p_mod TYPE i, 
v_kansw LIKE anlc-kansw, 
v_knafa LIKE anlc-knafa, 
p_kansw LIKE anlc-kansw. 
DATA: p_butxt  LIKE t001-butxt. 
DATA: p_rtcur  LIKE glt0-rtcur. 
****************************************************** 
*  selection screen  * 
****************************************************** 
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001. 
PARAMETERS     : bukrs LIKE t001-bukrs  OBLIGATORY DEFAULT '8300'. 
PARAMETERS     : ryear(4) TYPE c OBLIGATORY DEFAULT sy-datum+0(4). 
PARAMETERS     : perid(2) TYPE c OBLIGATORY DEFAULT sy-datum+4(2). 
SELECT-OPTIONS : rbusa FOR glt0-rbusa. 
SELECTION-SCREEN END OF BLOCK blk1. 
*权限检查 
AT SELECTION-SCREEN. 
AUTHORITY-CHECK OBJECT 'Z_FI_BUKRS' 
ID 'BUKRS' FIELD bukrs. 
IF sy-subrc NE 0 . 
MESSAGE e000(00) WITH  bukrs '公司代码中没有权限!'. 
ELSE. 
IF bukrs = '1100'. 
DATA:BEGIN OF it_tab OCCURS 0, 
rbusa LIKE glt0-rbusa, 
END OF it_tab. 
CLEAR it_tab.REFRESH it_tab. 
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE it_tab 
FROM glt0 
WHERE rbusa IN rbusa. 
SORT it_tab BY rbusa. 
DELETE ADJACENT DUPLICATES FROM it_tab COMPARING rbusa. 
LOOP AT it_tab. 
AUTHORITY-CHECK OBJECT 'Z_FI_GSBER' 
ID 'GSBER' FIELD it_tab-rbusa. 
IF sy-subrc NE 0 . 
MESSAGE e000(00) WITH  it_tab-rbusa '业务范围中没有权限!'. 
ENDIF. 
ENDLOOP. 
ENDIF. 
ENDIF. 
INITIALIZATION. 
********Report header******************************** 
TOP-OF-PAGE. 
PERFORM write_report_header. 
**********Report Footer****************************** 
***********Get Data********************************** 
START-OF-SELECTION. 
PERFORM cal_day. 
PERFORM authrization. 
PERFORM select_data. 
*********Process Data******************************* 
END-OF-SELECTION. 
REFRESH itabs.  CLEAR itabs. 
REFRESH jtab.   CLEAR jtab. 
*货币 
SELECT SINGLE rtcur FROM glt0 
INTO p_rtcur WHERE bukrs = bukrs. 
PERFORM con_wfplr.    "未分配利润 
PERFORM process_data. 
*add 3.8.2005 当业务为1120并且为2005年时,其年初数硬写进去 
PERFORM process_data1. 
*end add 3.8.2005 
PERFORM subtotal. 
********Output Data********************************* 
PERFORM write_bs. 
FREE itabs. FREE itab.  FREE jtab. 
********Perfrom********************************************************* 
*&---------------------------------------------------------------------* 
*&      Form  suntotal 
*&---------------------------------------------------------------------* 
FORM subtotal. 
*----------------------------期末数合计------------------------------- 
*应收帐款净额 
itabs-yszkje = itabs-yszk + itabs-yshzzb. 
*其他应收帐款净额 
itabs-qtyszkje = itabs-qtysk + itabs-qthzzb. 
* 20190106 amber s 
itabs-cqysk = itabs-cqysk + itabs-cqhzzb. 
* 20190106 amber e 
*存货净额 
itabs-chje = itabs-cuih + itabs-chdjzb. 
*流动资产合计 
itabs-ldzchj = itabs-hbzj + itabs-jyxjrz + itabs-yspj + itabs-yszkje + 
itabs-yufzk + itabs-yslx + itabs-ysgl + itabs-qtyszkje + 
itabs-chje + itabs-dtfei + itabs-qtldzc + itabs-nbwl . 
*固定资产净值=固定资产原价-累计折旧 
itabs-gdzcjz = itabs-gdzc + itabs-ljzj. 
*固定资产净额=固定资产净值-固定资产减值准备 
itabs-gdzcje = itabs-gdzcjz + itabs-gdzcjzz. 
*固定资产合计 
*  ITABS-GDZCHJ = ITABS-GDZCJE + ITABS-GCWZ + ITABS-ZJGC + ITABS-GDZCQL. 
*长期股权投资=长期股权投资-长期投资减值准备 
itabs-cqgq = itabs-cqgq + itabs-cqgqjz. 
*非流动资产合计 
itabs-fldzchj = itabs-kgcsjr + itabs-cyzdq + itabs-cqysk + itabs-cqgq 
+ itabs-tzxfdc + itabs-gdzcje + itabs-gcwz + itabs-zjgc 
+ itabs-gdzcql + itabs-wxzc + itabs-kfzc + itabs-sy 
+ itabs-cqdtf + itabs-dysdsz + itabs-qtcqzc + itabs-qtfld. 
*资产总计 
itabs-zchj = itabs-ldzchj + itabs-fldzchj. 
*流动负债合计 
itabs-ldfzhj =  itabs-dqjk + itabs-jyxjrf + itabs-yfpj + itabs-yfzk 
+ itabs-yuszk + itabs-yfzgxc + itabs-yjsf + itabs-yflx + itabs-yfgl 
+ itabs-qtyfk + itabs-ytfy + itabs-qtldfz. 
*非流动负债合计 
itabs-fldfzhj =  itabs-cqjk + itabs-yfzq + itabs-cqyfk + itabs-zxyfk 
+ itabs-yjfz + itabs-dysy + itabs-dysdsf + itabs-qtcqfz. 
*负债合计 
itabs-fzhj = itabs-ldfzhj + itabs-fldfzhj. 
*所有者权益(或股东权益)合计 
itabs-syzqlhj = itabs-sszb + itabs-zbgj + itabs-qtzhsy + itabs-kcg + itabs-yygj + itabs-wfplr. 
* 负债和所有者权益(或股东权益)总计 
itabs-fzsyhj = itabs-syzqlhj + itabs-fzhj. 
MODIFY itabs INDEX sy-tabix. 
*----------------------------期初数合计------------------------------- 
jtab-yszkje = jtab-yszk + jtab-yshzzb. 
jtab-qtyszkje = jtab-qtysk + jtab-qthzzb. 
* 20190106 amber s 
jtab-cqysk = jtab-cqysk + jtab-cqhzzb. 
* 20190106 amber e 
jtab-chje = jtab-cuih + jtab-chdjzb. 
jtab-ldzchj = jtab-hbzj + jtab-jyxjrz + jtab-yspj + jtab-yszkje + 
jtab-yufzk + jtab-yslx + jtab-ysgl + jtab-qtyszkje + 
jtab-chje + jtab-dtfei + jtab-qtldzc + jtab-nbwl . 
jtab-gdzcjz = jtab-gdzc + jtab-ljzj. 
jtab-gdzcje = jtab-gdzcjz + jtab-gdzcjzz. 
jtab-cqgq = jtab-cqgq + jtab-cqgqjz. 
*  JTAB-GDZCHJ = JTAB-GDZCJE + JTAB-GCWZ + JTAB-ZJGC + JTAB-GDZCQL. 
jtab-fldzchj = jtab-kgcsjr + jtab-cyzdq + jtab-cqysk + jtab-cqgq + 
jtab-tzxfdc + jtab-gdzcje + jtab-gcwz + jtab-zjgc + jtab-gdzcql + 
jtab-wxzc + jtab-kfzc + jtab-sy + jtab-cqdtf + jtab-dysdsz + jtab-qtcqzc + jtab-qtfld. 
jtab-zchj = jtab-ldzchj + jtab-fldzchj. 
jtab-ldfzhj =  jtab-dqjk + jtab-jyxjrf + jtab-yfpj + jtab-yfzk 
+ jtab-yuszk + jtab-yfzgxc + jtab-yjsf + jtab-yflx + jtab-yfgl 
+ jtab-qtyfk + jtab-ytfy + jtab-qtldfz. 
jtab-fldfzhj =  jtab-cqjk + jtab-yfzq + jtab-cqyfk + jtab-zxyfk 
+ jtab-yjfz + jtab-dysy + jtab-dysdsf + jtab-qtcqfz. 
jtab-fzhj = jtab-ldfzhj + jtab-fldfzhj. 
jtab-syzqlhj = jtab-sszb + jtab-zbgj + jtab-qtzhsy + jtab-kcg + jtab-yygj + jtab-wfplr. 
jtab-fzsyhj = jtab-syzqlhj + jtab-fzhj. 
MODIFY jtab INDEX sy-tabix. 
ENDFORM.                    "subtotal 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_REPORT_HEADER 
*&---------------------------------------------------------------------* 
FORM write_report_header. 
DATA : comp(24) TYPE c, 
comp1(30) TYPE c, 
titl_posi TYPE i, 
btitl_posi TYPE i, 
date_posi TYPE i. 
*公司代码 
SELECT SINGLE butxt FROM t001 
INTO p_butxt WHERE bukrs = bukrs. 
*分厂代码 
SELECT SINGLE name1 FROM t001w 
INTO comp1 WHERE werks = rbusa-low. 
comp = p_butxt. 
btitl_posi = ( sy-linsz - STRLEN( comp ) ) / 2 . 
titl_posi = ( sy-linsz - STRLEN( sy-title ) ) / 2 - 8. 
date_posi = titl_posi + 2. 
PRINT-CONTROL  FONT '012'. 
WRITE:/,AT titl_posi '资    产    负    债    表'. 
PRINT-CONTROL  FONT '006'. 
IF p_rtcur = 'KRW'. 
IF comp1 NE space. 
WRITE:/, 2 '编 制 单 位:',comp,'/',comp1,85 ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:',p_rtcur. 
ELSE. 
WRITE:/, 2 '编 制 单 位:',comp,AT date_posi ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:',p_rtcur. 
ENDIF. 
ELSEIF p_rtcur = 'USD'. 
IF comp1 NE space. 
WRITE:/, 2 '编 制 单 位:',comp,'/',comp1,85 ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:',p_rtcur. 
ELSE. 
WRITE:/, 2 '编 制 单 位:',comp,AT date_posi ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:',p_rtcur. 
ENDIF. 
ELSE. 
IF comp1 NE space. 
WRITE:/, 2 '编 制 单 位:',comp,'/',comp1,85 ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:人 民 币 元'. 
ELSE. 
WRITE:/, 2 '编 制 单 位:',comp,AT date_posi ' ', ryear, 
'年',perid,'月',e_day,'日',135 '单 位:人 民 币 元'. 
ENDIF. 
ENDIF. 
ULINE. 
IF perid = '12'. 
WRITE:/ sy-vline NO-GAP,8 '资     产',28 sy-vline NO-GAP, 
29 '行次', 33 sy-vline NO-GAP,38 '年    初    数', 
55 sy-vline NO-GAP,60 '年    末    数',77 sy-vline NO-GAP, 
80 '负 债 及 股 东 权 益',106 sy-vline NO-GAP,107 '行次', 
111 sy-vline NO-GAP,115 '年    初    数',133 sy-vline NO-GAP, 
138 '年    末    数',155 sy-vline. 
ELSE. 
WRITE:/ sy-vline NO-GAP,8 '资     产',28 sy-vline NO-GAP, 
29 '行次', 33 sy-vline NO-GAP,38 '年    初    数', 
55 sy-vline NO-GAP,60 '期    末    数',77 sy-vline NO-GAP, 
80 '负 债 及 股 东 权 益',106 sy-vline NO-GAP,107 '行次', 
111 sy-vline NO-GAP,115 '年    初    数',133 sy-vline NO-GAP, 
138 '期    末    数',155 sy-vline. 
ENDIF. 
ULINE. 
ENDFORM.                    " WRITE_REPORT_HEADER 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_BS 
*&---------------------------------------------------------------------* 
FORM write_bs. 
DATA: tmp(21), 
i_nbwl(22), 
j_nbwl(22), 
i_qtyszkje(22), 
j_qtyszkje(22), 
i_nmfqfk(22), 
j_ncfqfk(22), 
i_yjsj(22), 
j_yjsj(22), 
ilen1 TYPE i, 
jlen1 TYPE i, 
ilen2 TYPE i, 
jlen2 TYPE i, 
ilen3 TYPE i, 
jlen3 TYPE i, 
ilen4 TYPE i, 
jlen4 TYPE i. 
* 20181107 liujinghua delete  S 
*  WRITE itabs-nbwl TO i_nbwl. 
*  CONDENSE i_nbwl NO-GAPS. 
*  ilen1 = 76 - STRLEN( i_nbwl ). 
* 
*  WRITE jtab-nbwl TO j_nbwl. 
*  CONDENSE j_nbwl NO-GAPS. 
*  jlen1 = 54 - STRLEN( j_nbwl ). 
*  WRITE itabs-qtyszkje TO i_qtyszkje. 
*  CONDENSE i_qtyszkje NO-GAPS. 
*  ilen2 = 76 - STRLEN( i_qtyszkje ). 
* 
*  WRITE jtab-qtyszkje TO j_qtyszkje. 
*  CONDENSE j_qtyszkje NO-GAPS. 
*  jlen2 = 54 - STRLEN( j_qtyszkje ). 
*  WRITE itabs-nmfqfk TO i_nmfqfk. 
*  CONDENSE i_nmfqfk NO-GAPS. 
*  ilen3 = 142 - STRLEN( i_nmfqfk ). 
* 
*  WRITE jtab-ncfqfk TO j_ncfqfk. 
*  CONDENSE j_ncfqfk NO-GAPS. 
*  jlen3 = 142 - STRLEN( j_ncfqfk ). 
* 20181107 liujinghua delete  E 
IF p_rtcur = 'KRW'. 
* 20181107 liujinghua MODIFY  S 
*  i_nbwl  = i_nbwl  * 100 . 
*  j_nbwl  = j_nbwl  * 100 . 
*  i_qtyszkje  = i_qtyszkje  * 100 . 
*  j_qtyszkje  = j_qtyszkje  * 100 . 
*  j_ncfqfk  = j_ncfqfk  * 100 . 
*  i_nmfqfk  = i_nmfqfk  * 100 . 
itabs-nbwl      = itabs-nbwl  * 100 . 
jtab-nbwl       = jtab-nbwl  * 100 . 
itabs-qtyszkje  = itabs-qtyszkje  * 100 . 
jtab-qtyszkje   = jtab-qtyszkje  * 100 . 
jtab-ncfqfk     = jtab-ncfqfk  * 100 . 
itabs-nmfqfk    = itabs-nmfqfk  * 100 . 
* 20181107 liujinghua MODIFY  E 
itabs-hbzj = itabs-hbzj * 100. 
itabs-jyxjrz  = itabs-jyxjrz  * 100 . 
itabs-yspj  = itabs-yspj  * 100 . 
itabs-yszk  = itabs-yszk  * 100 . 
itabs-yszkje  = itabs-yszkje  * 100 . 
itabs-yufzk = itabs-yufzk * 100 . 
itabs-yslx  = itabs-yslx  * 100 . 
itabs-ysgl  = itabs-ysgl  * 100 . 
itabs-qtysk = itabs-qtysk * 100 . 
itabs-cuih  = itabs-cuih  * 100 . 
itabs-chje  = itabs-chje  * 100 . 
itabs-dtfei = itabs-dtfei * 100 . 
itabs-qtldzc  = itabs-qtldzc  * 100 . 
itabs-ldzchj  = itabs-ldzchj  * 100 . 
itabs-kgcsjr  = itabs-kgcsjr  * 100 . 
itabs-cyzdq = itabs-cyzdq * 100 . 
itabs-cqysk = itabs-cqysk * 100 . 
itabs-cqgq  = itabs-cqgq  * 100 . 
itabs-tzxfdc  = itabs-tzxfdc  * 100 . 
itabs-gdzc  = itabs-gdzc  * 100 . 
itabs-gdzcjz  = itabs-gdzcjz  * 100 . 
itabs-sszb  = itabs-sszb  * 100 . 
itabs-gdzcje  = itabs-gdzcje  * 100 . 
itabs-zbgj  = itabs-zbgj  * 100 . 
itabs-zjgc  = itabs-zjgc  * 100 . 
itabs-kcg = itabs-kcg * 100 . 
itabs-gcwz  = itabs-gcwz  * 100 . 
itabs-yygj  = itabs-yygj  * 100 . 
itabs-gdzcql  = itabs-gdzcql  * 100 . 
itabs-wxzc  = itabs-wxzc  * 100 . 
itabs-kfzc  = itabs-kfzc  * 100 . 
itabs-sy  = itabs-sy  * 100 . 
itabs-cqdtf = itabs-cqdtf * 100 . 
itabs-dysdsz  = itabs-dysdsz  * 100 . 
itabs-qtcqzc  = itabs-qtcqzc  * 100 . 
itabs-qtfld = itabs-qtfld * 100 . 
itabs-fldzchj = itabs-fldzchj * 100 . 
itabs-zchj  = itabs-zchj  * 100 . 
itabs-nmycl	=	itabs-nmycl	*	100	. 
itabs-nmsp  = itabs-nmsp  * 100 . 
itabs-nmbcp = itabs-nmbcp * 100 . 
itabs-nmfqfk  = itabs-nmfqfk  * 100 . 
itabs-nmwtjg  = itabs-nmwtjg  * 100 . 
itabs-nmzzp = itabs-nmzzp * 100 . 
itabs-nmdzyh  = itabs-nmdzyh  * 100 . 
itabs-nmbzw = itabs-nmbzw * 100 . 
itabs-yshzzb = 0 - itabs-yshzzb * 100. 
itabs-qthzzb = 0 - itabs-qthzzb * 100. 
* 20190106 AMBER S 
itabs-cqhzzb = 0 - itabs-cqhzzb * 100. 
* 20190106 AMBER E 
itabs-chdjzb = 0 - itabs-chdjzb * 100. 
itabs-ljzj = 0 - itabs-ljzj * 100. 
itabs-gdzcjzz = 0 - itabs-gdzcjzz * 100. 
itabs-dqjk = 0 - itabs-dqjk * 100. 
itabs-jyxjrf = 0 - itabs-jyxjrf * 100. 
itabs-yfpj = 0 - itabs-yfpj * 100. 
itabs-yfzk = 0 - itabs-yfzk * 100. 
itabs-yuszk = 0 - itabs-yuszk * 100. 
itabs-yfzgxc = 0 - itabs-yfzgxc * 100. 
itabs-yjsf = 0 - itabs-yjsf * 100. 
itabs-yflx = 0 - itabs-yflx * 100. 
itabs-yfgl = 0 - itabs-yfgl * 100. 
itabs-qtyfk = 0 - itabs-qtyfk * 100. 
itabs-ytfy = 0 - itabs-ytfy * 100. 
itabs-qtldfz = 0 - itabs-qtldfz * 100. 
itabs-ldfzhj = 0 - itabs-ldfzhj * 100. 
itabs-cqjk = 0 - itabs-cqjk * 100. 
itabs-yfzq = 0 - itabs-yfzq * 100. 
itabs-cqyfk = 0 - itabs-cqyfk * 100. 
itabs-zxyfk = 0 - itabs-zxyfk * 100. 
itabs-yjfz = 0 - itabs-yjfz * 100. 
itabs-dysy = 0 - itabs-dysy * 100. 
itabs-dysdsf = 0 - itabs-dysdsf * 100. 
itabs-qtcqfz = 0 - itabs-qtcqfz * 100. 
itabs-fldfzhj = 0 - itabs-fldfzhj * 100. 
itabs-fzhj = 0 - itabs-fzhj * 100. 
itabs-sszb = 0 - itabs-sszb * 100. 
itabs-zbgj = 0 - itabs-zbgj * 100. 
itabs-qtzhsy = 0 - itabs-qtzhsy * 100. 
itabs-yygj = 0 - itabs-yygj * 100. 
itabs-gyj = 0 - itabs-gyj * 100. 
itabs-wfplr = 0 - itabs-wfplr * 100. 
itabs-syzqlhj = 0 - itabs-syzqlhj * 100. 
itabs-fzsyhj = 0 - itabs-fzsyhj * 100. 
jtab-hbzj = jtab-hbzj * 100. 
jtab-jyxjrz	=	jtab-jyxjrz	*	100	. 
jtab-yspj = jtab-yspj * 100 . 
jtab-yszk = jtab-yszk * 100 . 
jtab-yszkje	=	jtab-yszkje	*	100	. 
jtab-yufzk  = jtab-yufzk  * 100 . 
jtab-yslx = jtab-yslx * 100 . 
jtab-ysgl = jtab-ysgl * 100 . 
jtab-qtysk  = jtab-qtysk  * 100 . 
jtab-cuih = jtab-cuih * 100 . 
jtab-chje = jtab-chje * 100 . 
jtab-dtfei  = jtab-dtfei  * 100 . 
jtab-qtldzc = jtab-qtldzc * 100 . 
jtab-ldzchj = jtab-ldzchj * 100 . 
jtab-kgcsjr = jtab-kgcsjr * 100 . 
jtab-cyzdq  = jtab-cyzdq  * 100 . 
jtab-cqysk  = jtab-cqysk  * 100 . 
jtab-cqgq = jtab-cqgq * 100 . 
jtab-tzxfdc = jtab-tzxfdc * 100 . 
jtab-gdzc = jtab-gdzc * 100 . 
jtab-gdzcjz = jtab-gdzcjz * 100 . 
jtab-sszb = jtab-sszb * 100 . 
jtab-gdzcje = jtab-gdzcje * 100 . 
jtab-zbgj = jtab-zbgj * 100 . 
jtab-zjgc = jtab-zjgc * 100 . 
jtab-kcg  = jtab-kcg  * 100 . 
jtab-gcwz = jtab-gcwz * 100 . 
jtab-yygj = jtab-yygj * 100 . 
jtab-gdzcql = jtab-gdzcql * 100 . 
jtab-wxzc = jtab-wxzc * 100 . 
jtab-kfzc = jtab-kfzc * 100 . 
jtab-sy = jtab-sy * 100 . 
jtab-cqdtf  = jtab-cqdtf  * 100 . 
jtab-dysdsz = jtab-dysdsz * 100 . 
jtab-qtcqzc = jtab-qtcqzc * 100 . 
jtab-qtfld  = jtab-qtfld  * 100 . 
jtab-fldzchj  = jtab-fldzchj  * 100 . 
jtab-zchj = jtab-zchj * 100 . 
jtab-ncycl  = jtab-ncycl  * 100 . 
jtab-ncsp = jtab-ncsp * 100 . 
jtab-ncbcp  = jtab-ncbcp  * 100 . 
jtab-ncfqfk = jtab-ncfqfk * 100 . 
jtab-ncwtjg = jtab-ncwtjg * 100 . 
jtab-nczzp  = jtab-nczzp  * 100 . 
jtab-ncdzyh = jtab-ncdzyh * 100 . 
jtab-ncbzw  = jtab-ncbzw  * 100 . 
jtab-yshzzb = 0 - jtab-yshzzb * 100. 
jtab-qthzzb = 0 - jtab-qthzzb * 100. 
* 20190106 amber s 
jtab-cqhzzb = 0 - jtab-cqhzzb * 100. 
* 20190106 amber e 
jtab-chdjzb = 0 - jtab-chdjzb * 100. 
jtab-ljzj = 0 - jtab-ljzj * 100. 
jtab-gdzcjzz = 0 - jtab-gdzcjzz * 100. 
jtab-dqjk = 0 - jtab-dqjk * 100. 
jtab-jyxjrf = 0 - jtab-jyxjrf * 100. 
jtab-yfpj = 0 - jtab-yfpj * 100. 
jtab-yfzk = 0 - jtab-yfzk * 100. 
jtab-yuszk = 0 - jtab-yuszk * 100. 
jtab-yfzgxc = 0 - jtab-yfzgxc * 100. 
jtab-yjsf = 0 - jtab-yjsf * 100. 
jtab-yflx = 0 - jtab-yflx * 100. 
jtab-yfgl = 0 - jtab-yfgl * 100. 
jtab-qtyfk = 0 - jtab-qtyfk * 100. 
jtab-ytfy = 0 - jtab-ytfy * 100. 
jtab-qtldfz = 0 - jtab-qtldfz * 100. 
jtab-ldfzhj = 0 - jtab-ldfzhj * 100. 
jtab-cqjk = 0 - jtab-cqjk * 100. 
jtab-yfzq = 0 - jtab-yfzq * 100. 
jtab-cqyfk = 0 - jtab-cqyfk * 100. 
jtab-zxyfk = 0 - jtab-zxyfk * 100. 
jtab-yjfz = 0 - jtab-yjfz * 100. 
jtab-dysy = 0 - jtab-dysy * 100. 
jtab-dysdsf = 0 - jtab-dysdsf * 100. 
jtab-qtcqfz = 0 - jtab-qtcqfz * 100. 
jtab-fldfzhj = 0 - jtab-fldfzhj * 100. 
jtab-fzhj = 0 - jtab-fzhj * 100. 
jtab-sszb = 0 - jtab-sszb * 100. 
jtab-zbgj = 0 - jtab-zbgj * 100. 
jtab-qtzhsy = 0 - jtab-qtzhsy * 100. 
jtab-yygj = 0 - jtab-yygj * 100. 
jtab-gyj = 0 - jtab-gyj * 100. 
jtab-wfplr = 0 - jtab-wfplr * 100. 
jtab-syzqlhj = 0 - jtab-syzqlhj * 100. 
jtab-fzsyhj = 0 - jtab-fzsyhj * 100. 
ELSE. 
itabs-yshzzb = 0 - itabs-yshzzb. 
itabs-qthzzb = 0 - itabs-qthzzb. 
* 20190106 amber s 
itabs-cqhzzb = 0 - itabs-cqhzzb. 
* 20190106 amber e 
itabs-chdjzb = 0 - itabs-chdjzb. 
itabs-ljzj = 0 - itabs-ljzj. 
itabs-gdzcjzz = 0 - itabs-gdzcjzz. 
itabs-dqjk = 0 - itabs-dqjk. 
itabs-jyxjrf = 0 - itabs-jyxjrf. 
itabs-yfpj = 0 - itabs-yfpj. 
itabs-yfzk = 0 - itabs-yfzk. 
itabs-yuszk = 0 - itabs-yuszk. 
itabs-yfzgxc = 0 - itabs-yfzgxc. 
itabs-yjsf = 0 - itabs-yjsf. 
itabs-yflx = 0 - itabs-yflx. 
itabs-yfgl = 0 - itabs-yfgl. 
itabs-qtyfk = 0 - itabs-qtyfk. 
itabs-ytfy = 0 - itabs-ytfy. 
itabs-qtldfz = 0 - itabs-qtldfz. 
itabs-ldfzhj = 0 - itabs-ldfzhj. 
itabs-cqjk = 0 - itabs-cqjk. 
itabs-yfzq = 0 - itabs-yfzq. 
itabs-cqyfk = 0 - itabs-cqyfk. 
itabs-zxyfk = 0 - itabs-zxyfk. 
itabs-yjfz = 0 - itabs-yjfz. 
itabs-dysy = 0 - itabs-dysy. 
itabs-dysdsf = 0 - itabs-dysdsf. 
itabs-qtcqfz = 0 - itabs-qtcqfz. 
itabs-fldfzhj = 0 - itabs-fldfzhj. 
itabs-fzhj = 0 - itabs-fzhj. 
itabs-sszb = 0 - itabs-sszb. 
itabs-zbgj = 0 - itabs-zbgj. 
itabs-qtzhsy = 0 - itabs-qtzhsy. 
itabs-yygj = 0 - itabs-yygj. 
itabs-gyj = 0 - itabs-gyj. 
itabs-wfplr = 0 - itabs-wfplr. 
itabs-syzqlhj = 0 - itabs-syzqlhj. 
itabs-fzsyhj = 0 - itabs-fzsyhj. 
jtab-yshzzb = 0 - jtab-yshzzb. 
jtab-qthzzb = 0 - jtab-qthzzb. 
* 20190106 amber insert s 
jtab-cqhzzb = 0 - jtab-cqhzzb. 
* 20190106 amber insert e 
jtab-chdjzb = 0 - jtab-chdjzb. 
jtab-ljzj = 0 - jtab-ljzj. 
jtab-gdzcjzz = 0 - jtab-gdzcjzz. 
jtab-dqjk = 0 - jtab-dqjk. 
jtab-jyxjrf = 0 - jtab-jyxjrf. 
jtab-yfpj = 0 - jtab-yfpj. 
jtab-yfzk = 0 - jtab-yfzk. 
jtab-yuszk = 0 - jtab-yuszk. 
jtab-yfzgxc = 0 - jtab-yfzgxc. 
jtab-yjsf = 0 - jtab-yjsf. 
jtab-yflx = 0 - jtab-yflx. 
jtab-yfgl = 0 - jtab-yfgl. 
jtab-qtyfk = 0 - jtab-qtyfk. 
jtab-ytfy = 0 - jtab-ytfy. 
jtab-qtldfz = 0 - jtab-qtldfz. 
jtab-ldfzhj = 0 - jtab-ldfzhj. 
jtab-cqjk = 0 - jtab-cqjk. 
jtab-yfzq = 0 - jtab-yfzq. 
jtab-cqyfk = 0 - jtab-cqyfk. 
jtab-zxyfk = 0 - jtab-zxyfk. 
jtab-yjfz = 0 - jtab-yjfz. 
jtab-dysy = 0 - jtab-dysy. 
jtab-dysdsf = 0 - jtab-dysdsf. 
jtab-qtcqfz = 0 - jtab-qtcqfz. 
jtab-fldfzhj = 0 - jtab-fldfzhj. 
jtab-fzhj = 0 - jtab-fzhj. 
jtab-sszb = 0 - jtab-sszb. 
jtab-zbgj = 0 - jtab-zbgj. 
jtab-qtzhsy = 0 - jtab-qtzhsy. 
jtab-yygj = 0 - jtab-yygj. 
jtab-gyj = 0 - jtab-gyj. 
jtab-wfplr = 0 - jtab-wfplr. 
jtab-syzqlhj = 0 - jtab-syzqlhj. 
jtab-fzsyhj = 0 - jtab-fzsyhj. 
ENDIF. 
* 20181107 liujinghua ADD  S 
WRITE itabs-nbwl TO i_nbwl. 
CONDENSE i_nbwl NO-GAPS. 
ilen1 = 76 - STRLEN( i_nbwl ). 
WRITE jtab-nbwl TO j_nbwl. 
CONDENSE j_nbwl NO-GAPS. 
jlen1 = 54 - STRLEN( j_nbwl ). 
WRITE itabs-qtyszkje TO i_qtyszkje. 
CONDENSE i_qtyszkje NO-GAPS. 
ilen2 = 76 - STRLEN( i_qtyszkje ). 
WRITE jtab-qtyszkje TO j_qtyszkje. 
CONDENSE j_qtyszkje NO-GAPS. 
jlen2 = 54 - STRLEN( j_qtyszkje ). 
WRITE itabs-nmfqfk TO i_nmfqfk. 
CONDENSE i_nmfqfk NO-GAPS. 
ilen3 = 142 - STRLEN( i_nmfqfk ). 
WRITE jtab-ncfqfk TO j_ncfqfk. 
CONDENSE j_ncfqfk NO-GAPS. 
jlen3 = 142 - STRLEN( j_ncfqfk ). 
* 20181107 liujinghua ADD  E 
PERFORM output_format USING: '流 动 资 产:'  ' '  ' ' ' ' 
'流 动 负 债:'  ' ' ' ' ' '. 
PERFORM output_format USING:' 货 币 资 金'  '1'  jtab-hbzj itabs-hbzj 
' 短 期 借 款'  '43' jtab-dqjk itabs-dqjk. 
PERFORM output_format USING ' 以公允价值计量且其变动'  ''  '' '' 
' 以公允价值计量且其变动'  '' '' ''. 
PERFORM output_format USING ''  '2'  jtab-jyxjrz itabs-jyxjrz 
''  '44' jtab-jyxjrf itabs-jyxjrf. 
PERFORM output_format USING ' 计入当期损益的金融资产'  ''  '' '' 
' 计入当期损益的金融负债'  '' '' ''. 
PERFORM output_format USING ' 应 收 票 据'  '3'  jtab-yspj itabs-yspj 
' 应 付 票 据'  '45' jtab-yfpj itabs-yfpj. 
PERFORM output_format USING ' 应 收 帐 款'  '4'  jtab-yszk itabs-yszk 
' 应 付 帐 款'  '46' jtab-yfzk itabs-yfzk. 
PERFORM output_format USING '   减:坏 账 准 备'  '5'  jtab-yshzzb itabs-yshzzb 
' 预 收 帐 款'  '47'  jtab-yuszk itabs-yuszk. 
PERFORM output_format USING '   应 收 账 款 净 额'  '6' jtab-yszkje itabs-yszkje 
' 应 付 职 工 薪 酬'  '48'  jtab-yfzgxc itabs-yfzgxc. 
PERFORM output_format USING ' 预 付 帐 款'  '7'  jtab-yufzk  itabs-yufzk 
' 应 交 税 费'  '49'  jtab-yjsf itabs-yjsf. 
PERFORM output_format USING ' 应 收 利 息'  '8'  jtab-yslx  itabs-yslx 
' 应 付 利 息'  '50' jtab-yflx itabs-yflx. 
PERFORM output_format USING ' 应 收 股 利'  '9'  jtab-ysgl  itabs-ysgl 
' 应 付 股 利'  '51' jtab-yfgl  itabs-yfgl. 
PERFORM output_format USING ' 其 他 应 收 款'  '10' jtab-qtysk itabs-qtysk 
' 其 他 应 付 款'  '52' jtab-qtyfk itabs-qtyfk. 
PERFORM output_format USING '   减:坏 账 准 备'  '11' jtab-qthzzb itabs-qthzzb 
' 预 提 费 用'  '53' jtab-ytfy itabs-ytfy. 
PERFORM output_format USING ' '  '' '' '' 
' 划分为持有待售的'  '' ' ' ' '. 
PERFORM output_sformat USING:' 其 他 应 收 款 净 额'  '12' jlen2 j_qtyszkje ilen2 i_qtyszkje 
''  '54' ' ' ' '. 
PERFORM output_format USING ' '  '' '' '' 
' 处置组中的负债'  '' ' ' ' '.    "modify 
PERFORM output_format USING ' 存 货'  '13'  jtab-cuih itabs-cuih 
' 一年内到期的非流动负债'  '55' ' ' ' '. 
PERFORM output_format USING '   减:存 货 跌 价 准 备'  '14' jtab-chdjzb itabs-chdjzb 
' 其 它 流 动 负 债'  '56' ' ' ' '. 
PERFORM output_format USING ' 存 货 净 额'  '15'  jtab-chje itabs-chje 
' '  ' '  ' ' ' '. 
PERFORM output_format USING ' 划分为持有待售的非流动'  ''  '' '' 
''  ''  '' ''. 
PERFORM output_format USING ' '  ''  '' '' 
''  ''  '' ''. 
PERFORM output_format USING ' 资产及被划分为持有待售'  '16'  '' '' 
'流 动 负 债 合 计'  '57'  jtab-ldfzhj itabs-ldfzhj. 
PERFORM output_format USING ' '  ''  '' '' 
''  ''  '' ''. 
PERFORM output_format USING ' 的处置组中的资产'  ''  '' '' 
''  ''  '' ''. 
PERFORM output_format USING ' 待 摊 费 用'  '17'  jtab-dtfei itabs-dtfei 
'非 流 动 负 债:'  ' ' ' ' ' '. 
PERFORM output_format USING ' 一年内到期的非流动资产'  '18' ' ' ' ' 
' 长 期 借 款'  '58' jtab-cqjk itabs-cqjk. 
PERFORM output_format USING ' 其 他 流 动 资 产'  '19'  jtab-qtldzc itabs-qtldzc 
' 应 付 债 券'  '59'  jtab-yfzq itabs-yfzq. 
PERFORM output_sformat USING:' 内 部 往 来'  '20'  jlen1 j_nbwl ilen1 i_nbwl 
' 长 期 应 付 款'  '60'  jtab-cqyfk itabs-cqyfk. 
PERFORM output_format USING '流 动 资 产 合 计'  '21'  jtab-ldzchj itabs-ldzchj 
' 专 项 应 付 款'  '61'  jtab-zxyfk itabs-zxyfk. 
PERFORM output_format USING '非 流 动 资 产:'  ' '  ' ' ' ' 
' 预 计 负 债'  '62' jtab-yjfz itabs-yjfz. 
PERFORM output_format USING ' 可供出售金融资产'  '22'  jtab-kgcsjr itabs-kgcsjr 
' 递 延 收 益'  '63' jtab-dysy itabs-dysy. 
PERFORM output_format USING ' 持 有 至 到 期 投 资'  '23'  jtab-cyzdq itabs-cyzdq 
' 递 延 所 得 税 负 债'  '64' jtab-dysdsf itabs-dysdsf. 
PERFORM output_format USING ' 长 期 应 收 款'  '24'  jtab-cqysk itabs-cqysk 
' 其 他 长 期 负 债'  '65' jtab-qtcqfz itabs-qtcqfz. 
PERFORM output_format USING ' 长 期 股 权 投 资'  '25'  jtab-cqgq itabs-cqgq 
' 其他非流动负债'  '66' ' ' ' '. 
PERFORM output_format USING ' 投 资 性 房 地 产'  '26'  jtab-tzxfdc itabs-tzxfdc 
' '  ' '  ' ' ' '. 
PERFORM output_format USING ' 固 定 资 产 原 价'  '27'  jtab-gdzc itabs-gdzc 
' 非 流 动 负 债 合 计'  '67' jtab-fldfzhj itabs-fldfzhj. 
PERFORM output_format USING '   减:累 计 折 旧'  '28'  jtab-ljzj itabs-ljzj 
' 负 债 合 计'  '68' jtab-fzhj itabs-fzhj. 
PERFORM output_format USING ' 固 定 资 产 净 值'  '29'  jtab-gdzcjz itabs-gdzcjz 
'所 有 者 权 益:'  ' ' ' ' ' '. 
PERFORM output_format USING '   减:固定资产减值准备'  '30' jtab-gdzcjzz itabs-gdzcjzz 
' 股 本'  '69' jtab-sszb  itabs-sszb. 
PERFORM output_format USING ' 固 定 资 产 净 额'  '31' jtab-gdzcje itabs-gdzcje 
' 资 本 公 积'  '70' jtab-zbgj itabs-zbgj. 
PERFORM output_format USING ' 在 建 工 程'  '32' jtab-zjgc itabs-zjgc 
' 其 他 综 合 收 益'  '71'  jtab-qtzhsy itabs-qtzhsy. 
PERFORM output_format USING ' 工 程 物 资'  '33' jtab-gcwz  itabs-gcwz 
' 减:库 存 股'  '72'  jtab-kcg itabs-kcg. 
PERFORM output_format USING ' 固 定 资 产 清 理'  '34' jtab-gdzcql itabs-gdzcql 
' 盈 余 公 积'  '73' jtab-yygj itabs-yygj. 
PERFORM output_format USING ' 无 形 资 产'  '35' jtab-wxzc itabs-wxzc 
'  其 中:公 益 金'  '74' jtab-gyj  itabs-gyj. 
PERFORM output_format USING ' 开 发 支 出'  '36' jtab-kfzc  itabs-kfzc 
' 未 分 配 利 润'  '75'  jtab-wfplr itabs-wfplr. 
PERFORM output_format USING ' 商 誉'  '37' jtab-sy  itabs-sy 
'  其中:已宣告未发放的现金股利'  '76' ' ' ' '. 
PERFORM output_format USING ' 长 期 待 摊 费 用'  '38' jtab-cqdtf itabs-cqdtf 
' 外 币 折 算 差 额 '  '77' ' ' ' '. 
PERFORM output_format USING ' 递 延 所 得 税 资 产'  '39' jtab-dysdsz itabs-dysdsz 
' 累积未弥补子公司亏损'  '78' ' ' ' '. 
PERFORM output_format USING ' 其 他 长 期 资 产'  '40' jtab-qtcqzc itabs-qtcqzc 
' '  ' '  ' ' ' '. 
PERFORM output_format USING ' 其 他 非 流 动 资 产'  '41' jtab-qtfld itabs-qtfld 
' 股 东 权 益 合 计'  '79' jtab-syzqlhj itabs-syzqlhj. 
PERFORM output_format USING ' 非 流 动 资 产 合 计'  '42' jtab-fldzchj itabs-fldzchj 
' '  ' '  ' ' ' '. 
PERFORM output_format USING '资 产 总 计'  '43'  jtab-zchj itabs-zchj 
'负债和股东权益总计' '80' jtab-fzsyhj itabs-fzsyhj. 
WRITE:'补 充 资 料:'. 
SKIP 1. 
WRITE:/ '年 初 存 货 库 存 情 况:'. 
SKIP 1. 
CONDENSE j_ncfqfk  NO-GAPS. 
WRITE:/2'原   材   料:',jtab-ncycl,38 '元', 
41 '库存商品:',jtab-ncsp,73 '元', 
77 '自制半成品:',jtab-ncbcp, 
* 20181107 AMBER MODIFY S 
*       110'元', 
*       113 '分期收款发出商品:'. 
111'元', 
114 '分期收款发出商品:'. 
* 20181107 AMBER MODIFY E 
IF jlen3 = 142. 
WRITE: jtab-ncfqfk ,154'元'. 
ELSE. 
WRITE: 131 j_ncfqfk RIGHT-JUSTIFIED,154'元'. 
ENDIF. 
SKIP 1. 
WRITE:/2 '委托加工物资:',jtab-ncwtjg,38 '元', 
41 '在 制 品:',jtab-nczzp,73 '元', 
77 '低值易耗品:', jtab-ncdzyh, 
* 20181107 AMBER MODIFY S 
*         110 '元', 
*         113 '包 装 物:        ', 
*         jtab-ncbzw,153 '元'.    "add by zhj 2006.05.11 
111 '元', 
114 '包 装 物:        ', 
jtab-ncbzw,154 '元'.    "add by zhj 2006.05.11 
* 20181107 AMBER MODIFY E 
SKIP 1. 
WRITE:/ '月 底 存 货 库 存 情 况:'. 
SKIP 1. 
CONDENSE i_nmfqfk  NO-GAPS. 
WRITE:/2'原   材   料:',itabs-nmycl,38 '元', 
41 '库存商品:',itabs-nmsp,73 '元', 
77 '自制半成品:',itabs-nmbcp, 
* 20181107 AMBER MODIFY S 
*      110'元', 
*      113 '分期收款发出商品:'. 
111'元', 
114 '分期收款发出商品:'. 
* 20181107 AMBER MODIFY E 
IF ilen3 = 142. 
WRITE: itabs-nmfqfk ,154'元'. 
ELSE. 
WRITE: 131 i_nmfqfk RIGHT-JUSTIFIED,154'元'. 
ENDIF. 
SKIP 1. 
WRITE:/2 '委托加工物资:',itabs-nmwtjg,38 '元', 
41 '在 制 品:',itabs-nmzzp,73 '元', 
77 '低值易耗品:', itabs-nmdzyh, 
* 20181107 AMBER MODIFY S 
*         110'元', 
*         113 '包 装 物:        ', 
*         itabs-nmbzw ,153'元'.      "add by zhj 2006.5.11 
111'元', 
114 '包 装 物:        ', 
itabs-nmbzw ,154'元'.      "add by zhj 2006.5.11 
* 20181107 AMBER MODIFY E 
SKIP 1. 
WRITE:/ '单位负责人:',50 '主管会计工作负责人:',100 '会计机构负责人:' 
. 
ENDFORM.                    "write_bs 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_report_ender 
*&---------------------------------------------------------------------* 
FORM write_report_ender. 
WRITE:/ '  核  准:',40 '财务主管:',83 '复  核:',123 '制  表:'. 
ENDFORM.                    "write_report_ender 
*&---------------------------------------------------------------------* 
*&      Form  con_wfplr 
*&---------------------------------------------------------------------* 
FORM con_wfplr.   "未分配利润 
SELECT * FROM glt0 
WHERE ryear = ryear AND 
bukrs = bukrs AND 
rbusa IN rbusa AND   "限定业务范围   ZHJ 2006.04.01 
( racct between '0051010000' and '0059999999' 
or racct = '0090000004' or racct = '0090000006' ). 
jtab-wfplr = jtab-wfplr + glt0-hslvt. 
CASE perid. 
WHEN '1'. 
itabs-wfplr = itabs-wfplr + glt0-hslvt + glt0-hsl01. 
WHEN '2'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02. 
WHEN '3'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03. 
WHEN '4'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04. 
WHEN '5'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05. 
WHEN '6'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06. 
WHEN '7'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07. 
WHEN '8'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08. 
WHEN '9'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09. 
WHEN '10'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10. 
WHEN '11'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11. 
WHEN '12'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11  +  glt0-hsl12. 
WHEN '13'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11  +  glt0-hsl12 + glt0-hsl13 . 
WHEN '14'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11  +  glt0-hsl12 + glt0-hsl13 
+ glt0-hsl14. 
WHEN '15'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11  +  glt0-hsl12 + glt0-hsl13 
+ glt0-hsl14  +  glt0-hsl15. 
WHEN '16'. 
itabs-wfplr = itabs-wfplr +  glt0-hslvt + glt0-hsl01 
+ glt0-hsl02  +  glt0-hsl03 + glt0-hsl04 
+ glt0-hsl05  +  glt0-hsl06 + glt0-hsl07 
+ glt0-hsl08  +  glt0-hsl09 + glt0-hsl10 
+ glt0-hsl11  +  glt0-hsl12 + glt0-hsl13 
+ glt0-hsl14  +  glt0-hsl15 + glt0-hsl16. 
ENDCASE. 
ENDSELECT. 
ENDFORM.                    " con_wfplr 
*&---------------------------------------------------------------------* 
*&      Form  AUTHRIZATION 
*&---------------------------------------------------------------------* 
FORM authrization. 
ENDFORM.                    " AUTHRIZATION 
*&---------------------------------------------------------------------* 
*&      Form  cal_day 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM cal_day. 
CONDENSE perid NO-GAPS. 
IF perid+0(1) = '0'. 
perid = perid+1(1). 
ENDIF. 
IF perid = '4' OR perid = '6' OR 
perid = '9' OR perid = '11'. 
e_day = '30'. 
ELSEIF perid = '2'. 
p_mod = ryear MOD 4. 
IF p_mod = 0. 
e_day = '29'. 
ELSE. 
e_day = '28'. 
ENDIF. 
ELSE. 
e_day = '31'. 
ENDIF. 
CONDENSE e_day NO-GAPS. 
ENDFORM.                    " cal_day 
*&---------------------------------------------------------------------* 
*&      Form  select_data 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM select_data . 
SELECT * INTO CORRESPONDING FIELDS OF TABLE itab FROM glt0 
WHERE   ryear = ryear 
AND  bukrs = bukrs 
AND  rbusa IN rbusa 
AND  rldnr = '00' 
AND  rrcty = '0'   "0:实际发生;  1:表示计划发生 
AND  racct > '0010000000' 
AND  racct <= '0099990000'. 
SORT itab BY racct. 
ENDFORM.                    " select_data 
*&---------------------------------------------------------------------* 
*&      Form  Process_data 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM process_data . 
DATA: jkm1404   LIKE glt0-hslvt, 
jkm1422   LIKE glt0-hslvt, 
jkm1511   LIKE glt0-hslvt, 
jkm1515   LIKE glt0-hslvt, 
jkm1516   LIKE glt0-hslvt, 
jkm1801   LIKE glt0-hslvt, 
jkm1804   LIKE glt0-hslvt, 
jkm1825   LIKE glt0-hslvt, 
jkm1826   LIKE glt0-hslvt, 
ikm1404   LIKE glt0-hslvt, 
ikm1422   LIKE glt0-hslvt, 
ikm1511   LIKE glt0-hslvt, 
ikm1515   LIKE glt0-hslvt, 
ikm1516   LIKE glt0-hslvt, 
ikm1801   LIKE glt0-hslvt, 
ikm1804   LIKE glt0-hslvt, 
ikm1825   LIKE glt0-hslvt, 
ikm1826   LIKE glt0-hslvt. 
LOOP AT itab. 
CASE perid. 
WHEN '1'. 
itab-tamount = itab-hslvt + itab-hsl01. 
WHEN '2'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02. 
WHEN '3'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
. 
WHEN '4'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04. 
WHEN '5'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05. 
WHEN '6'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 
. 
WHEN '7'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
. 
WHEN '8'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08. 
WHEN '9'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09. 
WHEN '10'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10. 
WHEN '11'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
. 
WHEN '12'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
+ itab-hsl12. 
WHEN '13'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
+ itab-hsl12 + itab-hsl13. 
WHEN '14'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
+ itab-hsl12 + itab-hsl13 + itab-hsl14. 
WHEN '15'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
+ itab-hsl12 + itab-hsl13 + itab-hsl14 + itab-hsl15 
. 
WHEN '16'. 
itab-tamount = itab-hslvt + itab-hsl01 + itab-hsl02 + itab-hsl03 
+ itab-hsl04 + itab-hsl05 + itab-hsl06 + itab-hsl07 
+ itab-hsl08 + itab-hsl09 + itab-hsl10 + itab-hsl11 
+ itab-hsl12 + itab-hsl13 + itab-hsl14 + itab-hsl15 
+ itab-hsl16. 
ENDCASE. 
MODIFY itab INDEX sy-tabix. 
CASE itab-racct+2(4). 
***************流动资产 
WHEN '1001' OR '1002' OR '1003' OR '1004' OR '1005' OR '1006' 
OR '1007' OR '1008' OR '1009'.                         "货币资金 
itabs-hbzj = itabs-hbzj + itab-tamount. 
jtab-hbzj = jtab-hbzj + itab-hslvt. 
WHEN '1403'.                                       "以公允价值计量且其变动计入当期损益的金融资产=1403+1406 
itabs-jyxjrz = itabs-jyxjrz + itab-tamount. 
jtab-jyxjrz = jtab-jyxjrz + itab-hslvt. 
WHEN '1406'.                                       "以公允价值计量且其变动计入当期损益的金融资产 
itabs-jyxjrz = itabs-jyxjrz + itab-tamount. 
jtab-jyxjrz = jtab-jyxjrz + itab-hslvt. 
WHEN '1111' .                              "应收票据 
itabs-yspj = itabs-yspj + itab-tamount. 
jtab-yspj = jtab-yspj + itab-hslvt. 
WHEN '1131'.                            "应收帐款 
*        IF itab-racct+2(4) = '1131' OR itab-racct = '0090000005'.  "Modify by Rex on 2011.8.15 
itabs-yszk = itabs-yszk + itab-tamount. 
jtab-yszk = jtab-yszk + itab-hslvt. 
*        ENDIF. 
WHEN '1141'.                             "坏帐准备-应收帐款 
IF itab-racct+2(6) = '114101' OR itab-racct = '0011419999'.  "坏帐准备-应收帐款 
itabs-yshzzb = itabs-yshzzb + itab-tamount. 
jtab-yshzzb = jtab-yshzzb + itab-hslvt. 
ENDIF. 
IF itab-racct+2(6) = '114102' OR itab-racct = '0011419998'.  "坏帐准备-其他应收款 
itabs-qthzzb = itabs-qthzzb + itab-tamount. 
jtab-qthzzb = jtab-qthzzb + itab-hslvt. 
ENDIF. 
* 20190106 AMBER INSERT S 
IF itab-racct+2(6) = '114103' OR itab-racct = '0011419998'.  "坏帐准备-长期应收款 
itabs-cqhzzb = itabs-cqhzzb + itab-tamount. 
jtab-cqhzzb = jtab-cqhzzb + itab-hslvt. 
ENDIF. 
* 20190106 AMBER INSERT E 
WHEN '1151'.                                       "预付帐款 
itabs-yufzk = itabs-yufzk + itab-tamount. 
jtab-yufzk = jtab-yufzk + itab-hslvt. 
WHEN  '1122'.                                   "应收利息 
itabs-yslx = itabs-yslx + itab-tamount. 
jtab-yslx = jtab-yslx + itab-hslvt. 
WHEN '1121'.                              "应收股利 
itabs-ysgl = itabs-ysgl + itab-tamount. 
jtab-ysgl = jtab-ysgl + itab-hslvt. 
WHEN  '1133' .                                 "其他应收款 
itabs-qtysk = itabs-qtysk + itab-tamount. 
jtab-qtysk = jtab-qtysk + itab-hslvt. 
WHEN '1201' OR '1211' OR '1221' OR '1231' OR '1232' OR '1241' OR '1242' OR 
'1243' OR '1244' OR '1251' OR '1261' OR '1271' OR '1291'.      "存货 
itabs-cuih = itabs-cuih + itab-tamount. 
jtab-cuih = jtab-cuih + itab-hslvt. 
IF itab-racct+2(4) = '1211' OR itab-racct = '0012320101'.  "原材料存货 
itabs-nmycl = itabs-nmycl + itab-tamount. 
jtab-ncycl = jtab-ncycl + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1243'.                   "库存商品 
itabs-nmsp = itabs-nmsp + itab-tamount. 
jtab-ncsp = jtab-ncsp + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1241'.          "自制半成品 
itabs-nmbcp = itabs-nmbcp + itab-tamount. 
jtab-ncbcp = jtab-ncbcp + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1291'.         "分期付款发出商品 
itabs-nmfqfk = itabs-nmfqfk + itab-tamount. 
jtab-ncfqfk = jtab-ncfqfk + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1251'.           "委托加工物资 
itabs-nmwtjg = itabs-nmwtjg + itab-tamount. 
jtab-ncwtjg = jtab-ncwtjg + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1242'.              "在制品 
itabs-nmzzp = itabs-nmzzp + itab-tamount. 
jtab-nczzp  = jtab-nczzp  + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1231'.           "低值易耗品 
itabs-nmdzyh = itabs-nmdzyh + itab-tamount. 
jtab-ncdzyh = jtab-ncdzyh + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1221'.            "包装物 
itabs-nmbzw = itabs-nmbzw + itab-tamount. 
jtab-ncbzw = jtab-ncbzw + itab-hslvt. 
ENDIF. 
WHEN '1281'.                                    "存货跌价准备 
itabs-chdjzb = itabs-chdjzb + itab-tamount. 
jtab-chdjzb = jtab-chdjzb + itab-hslvt. 
WHEN '1301'.                                        "待摊费用 
itabs-dtfei = itabs-dtfei + itab-tamount. 
jtab-dtfei = jtab-dtfei + itab-hslvt. 
WHEN '1911' OR '1431' . " OR '1432'.               "其他流动资产    zhj  2011.4.1 
itabs-qtldzc = itabs-qtldzc + itab-tamount. 
jtab-qtldzc = jtab-qtldzc + itab-hslvt. 
WHEN '1999'.                                 "内部往来 
itabs-nbwl = itabs-nbwl + itab-tamount. 
jtab-nbwl = jtab-nbwl + itab-hslvt. 
**************非流动资产 
WHEN '1405'.                               "可供出售金融资产 
itabs-kgcsjr = itabs-kgcsjr + itab-tamount. 
jtab-kgcsjr = jtab-kgcsjr + itab-hslvt. 
WHEN '1404' OR '1422' .                      "持有至到期投资 
IF itab-racct+2(4) = '1404' . 
ikm1404 = ikm1404 + itab-tamount. 
jkm1404 = jkm1404 + itab-hslvt. 
ELSE. 
ikm1422 = ikm1422 + itab-tamount. 
jkm1422 = jkm1422 + itab-hslvt. 
ENDIF. 
itabs-cyzdq = ikm1404 - ikm1422. 
jtab-cyzdq = jkm1404 - jkm1422. 
WHEN '1171'.                                 "长期应收款 
itabs-cqysk = itabs-cqysk + itab-tamount. 
jtab-cqysk = jtab-cqysk + itab-hslvt. 
WHEN '1401' .                                "长期股权投资 
itabs-cqgq = itabs-cqgq + itab-tamount. 
jtab-cqgq = jtab-cqgq + itab-hslvt. 
WHEN '1421' .                                "长期投资减值准备 
itabs-cqgqjz = itabs-cqgqjz + itab-tamount. 
jtab-cqgqjz = jtab-cqgqjz + itab-hslvt. 
WHEN '1511' OR '1515' OR '1516'.              "投资性房地产 
IF itab-racct+2(4) = '1511' . 
ikm1511 = ikm1511 + itab-tamount. 
jkm1511 = jkm1511 + itab-hslvt. 
ELSEIF itab-racct+2(4) = '1515'. 
ikm1515 = ikm1515 + itab-tamount. 
jkm1515 = jkm1515 + itab-hslvt. 
ELSE. 
ikm1516 = ikm1516 + itab-tamount. 
jkm1516 = jkm1516 + itab-hslvt. 
ENDIF. 
itabs-tzxfdc = ikm1511 - ikm1515 - ikm1516. 
jtab-tzxfdc = jkm1511 - jkm1515 - jkm1516. 
WHEN '1501'.                                 "固定资产 
itabs-gdzc = itabs-gdzc + itab-tamount. 
jtab-gdzc = jtab-gdzc + itab-hslvt. 
WHEN '1502'.                                "累计折旧 
itabs-ljzj = itabs-ljzj + itab-tamount. 
jtab-ljzj = jtab-ljzj + itab-hslvt. 
WHEN '1505' .                              "固定资产减值准备 
itabs-gdzcjzz = itabs-gdzcjzz + itab-tamount. 
jtab-gdzcjzz = jtab-gdzcjzz + itab-hslvt. 
WHEN '1603' OR '1605'.                     "在建工程 
itabs-zjgc = itabs-zjgc + itab-tamount. 
jtab-zjgc = jtab-zjgc + itab-hslvt. 
WHEN '1601'.                               "工程物资 
itabs-gcwz = itabs-gcwz + itab-tamount. 
jtab-gcwz = jtab-gcwz + itab-hslvt. 
WHEN '1701'.                              "固定资产清理 
itabs-gdzcql = itabs-gdzcql + itab-tamount. 
jtab-gdzcql = jtab-gdzcql + itab-hslvt. 
WHEN '1801' OR '1804' .                      "无形资产 
IF itab-racct+2(4) = '1801' . 
ikm1801 = ikm1801 + itab-tamount. 
jkm1801 = jkm1801 + itab-hslvt. 
ELSE. 
ikm1804 = ikm1804 + itab-tamount. 
jkm1804 = jkm1804 + itab-hslvt. 
ENDIF. 
itabs-wxzc = ikm1801 + ikm1804. 
jtab-wxzc = jkm1801 + jkm1804. 
WHEN '1609'.                              "开发支出 
itabs-kfzc = itabs-kfzc + itab-tamount. 
jtab-kfzc = jtab-kfzc + itab-hslvt. 
WHEN '1825' OR '1826' .                      "商誉 
IF itab-racct+2(4) = '1825' . 
ikm1825 = ikm1825 + itab-tamount. 
jkm1825 = jkm1825 + itab-hslvt. 
ELSE. 
ikm1826 = ikm1826 + itab-tamount. 
jkm1826 = jkm1826 + itab-hslvt. 
ENDIF. 
itabs-sy = ikm1825 - ikm1826. 
jtab-sy = jkm1825 - jkm1826. 
WHEN '1901'.                              "长期待摊费用 
itabs-cqdtf = itabs-cqdtf + itab-tamount. 
jtab-cqdtf = jtab-cqdtf + itab-hslvt. 
WHEN '1851'.                              "递延所得税资产 
itabs-dysdsz = itabs-dysdsz + itab-tamount. 
jtab-dysdsz = jtab-dysdsz + itab-hslvt. 
WHEN '1802'.                              "其他长期资产 
itabs-qtcqzc = itabs-qtcqzc + itab-tamount. 
jtab-qtcqzc = jtab-qtcqzc + itab-hslvt. 
WHEN '1815'.                              "其他非流动资产 
itabs-qtfld = itabs-qtfld + itab-tamount. 
jtab-qtfld = jtab-qtfld + itab-hslvt. 
*****************流动负债 
WHEN '2101'.                                 "短期借款 
itabs-dqjk = itabs-dqjk + itab-tamount. 
jtab-dqjk = jtab-dqjk + itab-hslvt. 
WHEN '2102'.                                 "以公允价值计量且其变动计入当期损益的金融负债 
itabs-jyxjrf = itabs-jyxjrf + itab-tamount. 
jtab-jyxjrf = jtab-jyxjrf + itab-hslvt. 
WHEN '2103'.                                 "以公允价值计量且其变动计入当期损益的金融负债 add 
itabs-jyxjrf = itabs-jyxjrf + itab-tamount. 
jtab-jyxjrf = jtab-jyxjrf + itab-hslvt. 
WHEN '2111'.                                  "应付票据 
itabs-yfpj = itabs-yfpj + itab-tamount. 
jtab-yfpj = jtab-yfpj + itab-hslvt. 
WHEN '2121'.                              "应付帐款 
*        IF itab-racct+2(4) = '2121' OR itab-racct = '0090000007'.  "Modify by Rex on 2011.8.15 
itabs-yfzk = itabs-yfzk + itab-tamount. 
jtab-yfzk = jtab-yfzk + itab-hslvt. 
*        ENDIF. 
WHEN  '2131'.                              "预收帐款 
itabs-yuszk = itabs-yuszk + itab-tamount. 
jtab-yuszk = jtab-yuszk + itab-hslvt. 
WHEN  '2154'.                              "应付职工薪酬 
itabs-yfzgxc = itabs-yfzgxc + itab-tamount. 
jtab-yfzgxc = jtab-yfzgxc + itab-hslvt. 
WHEN  '2178' OR '2171'.                              "应交税费 
itabs-yjsf = itabs-yjsf + itab-tamount. 
jtab-yjsf = jtab-yjsf + itab-hslvt. 
WHEN  '2221'.                              "应付利息 
itabs-yflx = itabs-yflx + itab-tamount. 
jtab-yflx = jtab-yflx + itab-hslvt. 
WHEN '2161'.                             "应付股利 
itabs-yfgl = itabs-yfgl + itab-tamount. 
jtab-yfgl = jtab-yfgl + itab-hslvt. 
WHEN '2181'.                              "其他应付款 
itabs-qtyfk = itabs-qtyfk + itab-tamount. 
jtab-qtyfk = jtab-qtyfk + itab-hslvt. 
WHEN '2191'.                               "预提费用 
itabs-ytfy = itabs-ytfy + itab-tamount. 
jtab-ytfy = jtab-ytfy + itab-hslvt. 
************************非流动负债 
WHEN '2223'.                            "长期借款 
itabs-cqjk = itabs-cqjk + itab-tamount. 
jtab-cqjk = jtab-cqjk + itab-hslvt. 
WHEN '2311'.                            "应付债券 
itabs-yfzq = itabs-yfzq + itab-tamount. 
jtab-yfzq = jtab-yfzq + itab-hslvt. 
WHEN '2321'.                             "长期应付款 
itabs-cqyfk = itabs-cqyfk + itab-tamount. 
jtab-cqyfk = jtab-cqyfk + itab-hslvt. 
WHEN '2331'.                             "专项应付款 
itabs-zxyfk = itabs-zxyfk + itab-tamount. 
jtab-zxyfk = jtab-zxyfk + itab-hslvt. 
WHEN '2211'.                              "预计负债 
itabs-yjfz = itabs-yjfz + itab-tamount. 
jtab-yjfz = jtab-yjfz + itab-hslvt. 
WHEN '2212'.                              "递延收益 
itabs-dysy = itabs-dysy + itab-tamount. 
jtab-dysy = jtab-dysy + itab-hslvt. 
WHEN '2341'.                             "递延所得税负债 
**        IF ITAB-DRCRK = 'S'.           zhj 2011.4.2 
**        ELSE. 
itabs-dysdsf = itabs-dysdsf + itab-tamount. 
jtab-dysdsf = jtab-dysdsf + itab-hslvt. 
**        ENDIF. 
WHEN '2999'.                             "其他长期负债 
itabs-qtcqfz = itabs-qtcqfz + itab-tamount. 
jtab-qtcqfz = jtab-qtcqfz + itab-hslvt. 
**********************所有者权益 
WHEN '3101' OR '3102'.                 "实收资本(或股本) add by zhj 2006-12-13 
itabs-sszb = itabs-sszb + itab-tamount. 
jtab-sszb = jtab-sszb + itab-hslvt. 
WHEN '3111'.                             "资本公积 
itabs-zbgj = itabs-zbgj + itab-tamount. 
jtab-zbgj = jtab-zbgj + itab-hslvt. 
WHEN '3161'.                             "其他综合收益 
itabs-qtzhsy = itabs-qtzhsy + itab-tamount. 
jtab-qtzhsy = jtab-qtzhsy + itab-hslvt. 
WHEN '3151'.                             "库存股 
itabs-kcg = itabs-kcg + itab-tamount. 
jtab-kcg = jtab-kcg + itab-hslvt. 
WHEN '3121'.               "盈余公积 
itabs-yygj = itabs-yygj + itab-tamount. 
jtab-yygj = jtab-yygj + itab-hslvt. 
IF itab-racct = '0031210301' OR itab-racct = '0031210201'.  "公益金 
itabs-gyj = itabs-gyj + itab-tamount. 
jtab-gyj = jtab-gyj + itab-hslvt. 
ENDIF. 
WHEN '3131' OR '3141'.       "未分配利润 
itabs-wfplr = itabs-wfplr + itab-tamount. 
jtab-wfplr = jtab-wfplr + itab-hslvt. 
ENDCASE. 
IF itab-racct = '0090000002'. 
itabs-yjsf = itabs-yjsf + itab-tamount. 
jtab-yjsf = jtab-yjsf + itab-hslvt. 
ENDIF. 
IF itab-racct = '0090000005'. 
itabs-yszk = itabs-yszk + itab-tamount. 
jtab-yszk = jtab-yszk + itab-hslvt. 
ENDIF. 
IF itab-racct = '0090000007'. 
itabs-yfzk = itabs-yfzk + itab-tamount. 
jtab-yfzk = jtab-yfzk + itab-hslvt. 
ENDIF. 
MODIFY jtab INDEX sy-tabix. 
MODIFY itabs INDEX sy-tabix. 
ENDLOOP. 
ENDFORM.                    " Process_data 
*&---------------------------------------------------------------------* 
*&      Form  output_format 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_ZCDES  资产边描述 
*      -->P_ZCL    资产边行次 
*      -->P_ZCCV   资产边期初值 
*      -->P_ZCV    资产边期未值 
*      -->P_FJDES  负债边描述 
*      -->P_FJL    负债边行次 
*      -->P_FJCV   负债边期初值 
*      -->P_FJV    负债边期未值 
*----------------------------------------------------------------------* 
FORM output_format  USING    p_zcdes 
p_zcl 
p_zccv 
p_zcv 
p_fjdes 
p_fjl 
p_fjcv 
p_fjv. 
WRITE:/ sy-vline NO-GAP,p_zcdes,28 sy-vline NO-GAP, 
30 p_zcl. 
IF p_zccv NE 0 . 
WRITE: 33 sy-vline NO-GAP, p_zccv. 
ELSE. 
WRITE: 33 sy-vline NO-GAP. 
ENDIF. 
IF p_zcv NE 0 . 
WRITE: 55 sy-vline NO-GAP, p_zcv. 
ELSE. 
WRITE: 55 sy-vline NO-GAP. 
ENDIF. 
WRITE: 77 sy-vline NO-GAP,p_fjdes, 
106 sy-vline NO-GAP,108 p_fjl. 
IF p_fjcv NE 0 . 
WRITE: 111 sy-vline NO-GAP, p_fjcv. 
ELSE. 
WRITE: 111 sy-vline NO-GAP. 
ENDIF. 
IF p_fjv NE 0 . 
WRITE: 133 sy-vline NO-GAP, p_fjv. 
ELSE. 
WRITE: 133 sy-vline NO-GAP. 
ENDIF. 
WRITE: 155 sy-vline. 
*  IF p_zcdes = ' 以公允价值计量且其变动'. 
*  ELSE. 
*  ULINE. 
*  ENDIF. 
case p_zcdes. 
when ' 以公允价值计量且其变动' or ' 划分为持有待售的非流动' or ' 资产及被划分为持有待售' or  ' 其 他 应 收 款 净 额'. 
when ''. 
if p_fjdes = ' 处置组中的负债'. 
uline. 
endif. 
when others. 
uline. 
endcase. 
ENDFORM.                    " output_format 
*&---------------------------------------------------------------------* 
*&      Form  OUTPUT_SFORMAT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_1579   text 
*      -->P_1580   text 
*      -->P_JLEN1  text 
*      -->P_JTAB_HBZJ  text 
*      -->P_ILEN1  text 
*      -->P_ITABS_HBZJ  text 
*      -->P_1585   text 
*      -->P_1586   text 
*      -->P_JTAB_DQJK  text 
*      -->P_ITABS_DQJK  text 
*----------------------------------------------------------------------* 
FORM output_sformat  USING   p_zcdes 
p_zcl 
jlen1 
p_zccv 
ilen1 
p_zcv 
p_fjdes 
p_fjl 
p_fjcv 
p_fjv. 
WRITE:/ sy-vline NO-GAP,p_zcdes,28 sy-vline NO-GAP, 
30 p_zcl. 
CONDENSE p_zccv  NO-GAPS. 
IF ( p_zccv NE ' ' AND  p_zccv  NE '0.00' ). 
WRITE: 33 sy-vline NO-GAP, AT jlen1 p_zccv. 
ELSE. 
WRITE: 33 sy-vline NO-GAP. 
ENDIF. 
CONDENSE p_zcv  NO-GAPS. 
IF ( p_zcv NE ' ' AND  p_zcv  NE '0.00' ). 
WRITE: 55 sy-vline NO-GAP, AT ilen1 p_zcv. 
ELSE. 
WRITE: 55 sy-vline NO-GAP. 
ENDIF. 
WRITE: 77 sy-vline NO-GAP,p_fjdes, 
106 sy-vline NO-GAP,108 p_fjl. 
IF p_fjcv NE 0 . 
WRITE: 111 sy-vline NO-GAP, p_fjcv. 
ELSE. 
WRITE: 111 sy-vline NO-GAP. 
ENDIF. 
IF p_fjv NE 0 . 
WRITE: 133 sy-vline NO-GAP, p_fjv. 
ELSE. 
WRITE: 133 sy-vline NO-GAP. 
ENDIF. 
WRITE: 155 sy-vline. 
if p_zcdes =  ' 其 他 应 收 款 净 额'. 
else. 
ULINE. 
endif. 
ENDFORM.                    " OUTPUT_SFORMAT 
*&---------------------------------------------------------------------* 
*&      Form  PROCESS_DATA1 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM process_data1 . 
ENDFORM.                    " PROCESS_DATA1 
*&---------------------------------------------------------------------* 
*&      Form  OUTPUT_S1FORMAT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_1945   text 
*      -->P_1946   text 
*      -->P_JTAB_YSZK  text 
*      -->P_ITABS_YSZK  text 
*      -->P_1949   text 
*      -->P_1950   text 
*      -->P_JTAB_YJSJ  text 
*      -->P_ITABS_YJSJ  text 
*----------------------------------------------------------------------* 
FORM output_s1format  USING  p_zcdes 
p_zcl 
p_zccv 
p_zcv 
p_fjdes 
p_fjl 
jlen1 
p_fjcv 
ilen1 
p_fjv. 
WRITE:/ sy-vline NO-GAP,p_zcdes,28 sy-vline NO-GAP, 
30 p_zcl. 
IF p_zccv NE 0 . 
WRITE: 33 sy-vline NO-GAP, p_zccv. 
ELSE. 
WRITE: 33 sy-vline NO-GAP. 
ENDIF. 
IF p_zcv NE 0 . 
WRITE: 55 sy-vline NO-GAP, p_zcv. 
ELSE. 
WRITE: 55 sy-vline NO-GAP. 
ENDIF. 
WRITE: 77 sy-vline NO-GAP,p_fjdes, 
106 sy-vline NO-GAP, p_fjl. 
CONDENSE p_fjcv  NO-GAPS. 
IF ( p_fjcv NE ' ' AND  p_fjcv  NE '0.00' ). 
WRITE: 111 sy-vline NO-GAP, AT jlen1 p_fjcv. 
ELSE. 
WRITE: 111 sy-vline NO-GAP. 
ENDIF. 
CONDENSE p_fjv  NO-GAPS. 
IF ( p_fjv NE ' ' AND  p_fjv  NE '0.00' ). 
WRITE: 133 sy-vline NO-GAP, AT ilen1 p_fjv. 
ELSE. 
WRITE: 133 sy-vline NO-GAP. 
ENDIF. 
WRITE: 155 sy-vline. 
ULINE. 
ENDFORM.                    " OUTPUT_S1FORMAT

现金流量表

************************************************************************ 
* PROGRAM NAME        : 现金流量表(新会计准则)                         * 
* APPLICATION NAME    : FI                                             * 
* SUBSYSTEM           : FI                                             * 
* AUTHOR              : James Yang(朱修改)                             * 
* TRANSACTION         : ZFIR005N                                       * 
* PROGRAM TYPE        : Report                                         * 
* SAP RELEASE         : 4.7C                                           * 
*PROGRAM DESCRIPTION  : 现金流量表                                     * 
************************************************************************ 
* REVISION LOG                                                         * 
* LOG#    DATE        AUTHOR       DESCRIPTION                         * 
* ----   -------      ------       -----------                         * 
* 0000   03/03/2005   James Yang   现金流量表                          * 
************************************************************************ 
REPORT ZFIR005 NO STANDARD PAGE HEADING MESSAGE-ID ZWL 
LINE-COUNT 90 LINE-SIZE 120. 
*&---------------------------------------------------------------------* 
*& TABLES: 
*&---------------------------------------------------------------------* 
TABLES:BSEG,BKPF,T001,T001W,GLT0. 
*&---------------------------------------------------------------------* 
*& PROGRAM VARIABLES 
*&---------------------------------------------------------------------* 
DATA:LIN TYPE I. 
DATA: P_BUTXT  LIKE T001-BUTXT. 
*&---------------------------------------------------------------------* 
*  data declaration 
*&---------------------------------------------------------------------* 
DATA:BEGIN OF ITAB OCCURS 0, 
BUDAT LIKE BKPF-BUDAT, 
BELNR LIKE BKPF-BELNR,    "会计凭证号码 
GJAHR LIKE BKPF-GJAHR,    "会计年度 
BUKRS LIKE BKPF-BUKRS,    "公司代码 
END OF ITAB. 
DATA:BEGIN OF ITAB1 OCCURS 0, 
RSTGR LIKE BSEG-RSTGR,    "付款原因代码 
DMBTR LIKE BSEG-DMBTR, 
SHKZG LIKE BSEG-SHKZG,    "借方/贷方标识 
BUDAT LIKE BKPF-BUDAT, 
END OF ITAB1. 
DATA:BEGIN OF JTAB OCCURS 0,   "本期数 
*****经营活动产生的现金流量 
JYXS   LIKE BSEG-DMBTR,   "销售商品、提供劳务收到的现金 
JYSFFH LIKE BSEG-DMBTR,   "收到税费返还 
JYQTSR LIKE BSEG-DMBTR,   "其他与经营活动有关的现金 
JYLRXJ LIKE BSEG-DMBTR,   "经营现金流入小计 
JYGM   LIKE BSEG-DMBTR,   "购买商品、接受劳务支付的现金 
JYZF   LIKE BSEG-DMBTR,   "支付给职工以及为职工支付的现金 
JYZFSF LIKE BSEG-DMBTR,   "支付的各项税费 
JYQTZF LIKE BSEG-DMBTR,   "支付的其他与经营活动有关的现金 
JYLCXJ LIKE BSEG-DMBTR,   "经营现金流出小计 
JYXJJE LIKE BSEG-DMBTR,   "现金流量净额 
*****投资活动产生的现金流量 
TZSH   LIKE BSEG-DMBTR,   "收回投资所收到的现金 
TZQDSY LIKE BSEG-DMBTR,   "取得投资收益所收到的现金 
TZCZSH LIKE BSEG-DMBTR,   "处置固定资产等收回的现金净额 
TZCZXJ LIKE BSEG-DMBTR,   "处置子公司及其他营业单位收到的现金净额  ZHU 2007.1.5 
TZQTSH LIKE BSEG-DMBTR,   "收到的其它与投资活动有关的现金 
TZLRXJ LIKE BSEG-DMBTR,   "投资现金流入小计 
TZGM   LIKE BSEG-DMBTR,   "购建固定资产等所支付的现金 
TZZF   LIKE BSEG-DMBTR,   "投资所支付的现金 
TZQDXJ LIKE BSEG-DMBTR,   "取得子公司及其他营业单位支付的现金净额  ZHU 2007.1.5 
TZQTZF LIKE BSEG-DMBTR,   "支付的其它与投资活动有关的现金 
TZLCXJ LIKE BSEG-DMBTR,   "投资现金流出小计 
TZXJJE LIKE BSEG-DMBTR,   "投资活动产生的现金流量净额 
*****筹资活动产生的现金流量 
CZXS   LIKE BSEG-DMBTR,   "吸收投资所收到的现金 
CZJK   LIKE BSEG-DMBTR,   "借款所收到的现金 
CZQT   LIKE BSEG-DMBTR,   "收到的其他与筹资活动有关的现金 
CZLRXJ LIKE BSEG-DMBTR,   "筹资现金流入小计 
CZCH   LIKE BSEG-DMBTR,   "偿还债务所支付的现金 
CZZF   LIKE BSEG-DMBTR,   "分配股利利润或偿还利息所支付的现金 
*     CZZCZF LIKE BSEG-DMBTR,   "减少注册资本所支付的现金 
CZQTZF LIKE BSEG-DMBTR,   "支付的其他与筹资活动有关的现金 
CZLCXJ LIKE BSEG-DMBTR,   "筹资现金流出小计 
CZXJJE LIKE BSEG-DMBTR,   "筹资活动产生的现金流量净额 
*****汇率变动对现金的影响额 
HLBD   LIKE BSEG-DMBTR,   "汇率变动对现金的影响额 
*****现金及现金等价物净增加额 
JZJE   LIKE BSEG-DMBTR,   "现金及现金等价物净增加额 
END OF JTAB. 
****** 期初现金及现金等价物上月末余额 
DATA: SYYE LIKE GLT0-HSLVT. 
****** 期初现金及现金等价物上年末余额 
DATA: SNYE LIKE GLT0-HSLVT. 
****** 期末现金及现金等价物余额 
DATA: QMYE LIKE GLT0-HSLVT. 
****** 期末现金及现金等价物余额(累计数) 
DATA: LJQMYE LIKE GLT0-HSLVT. 
DATA: BEGIN OF ITAB2 OCCURS 10. 
INCLUDE STRUCTURE GLT0. 
DATA: TAMOUNT LIKE GLT0-HSLVT. 
DATA: END OF ITAB2. 
DATA:JTAB1 LIKE JTAB OCCURS 0 WITH HEADER LINE. 
*&---------------------------------------------------------------------* 
*& SELECT-OPTIONS 
*&---------------------------------------------------------------------* 
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. 
PARAMETERS:S_BUKRS LIKE BSEG-BUKRS OBLIGATORY DEFAULT '1100', 
S_YEAR(4) TYPE C OBLIGATORY DEFAULT SY-DATUM+0(4), 
S_MONTH(2) TYPE C OBLIGATORY DEFAULT SY-DATUM+4(2). 
*           S_GSBER LIKE BSEG-GSBER." OBLIGATORY. 
SELECT-OPTIONS: S_GSBER FOR BSEG-GSBER. 
*               S_BUDAT FOR BKPF-BUDAT OBLIGATORY. 
SELECTION-SCREEN END OF BLOCK B1. 
*&------------------------------------------------------------------* 
*& at selection-screen. 
*&------------------------------------------------------------------* 
AT SELECTION-SCREEN. 
AUTHORITY-CHECK OBJECT 'Z_FI_BUKRS' 
ID 'BUKRS' FIELD S_BUKRS. 
IF SY-SUBRC NE 0 . 
MESSAGE E000 WITH  S_BUKRS '公司代码中没有权限!'. 
ELSE. 
IF S_BUKRS = '1100'. 
*add*********************** 
DATA:BEGIN OF IT_TAB OCCURS 0, 
GSBER LIKE TGSBT-GSBER, 
END OF IT_TAB. 
CLEAR IT_TAB.REFRESH IT_TAB. 
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE IT_TAB 
FROM TGSBT 
WHERE GSBER IN S_GSBER. 
SORT IT_TAB BY GSBER. 
DELETE ADJACENT DUPLICATES FROM IT_TAB COMPARING GSBER. 
LOOP AT IT_TAB. 
*end add******************* 
AUTHORITY-CHECK OBJECT 'Z_FI_GSBER' 
ID 'GSBER' FIELD IT_TAB-GSBER. 
IF SY-SUBRC NE 0 . 
MESSAGE E000(00) WITH  IT_TAB-GSBER '业务范围中没有权限!'. 
ENDIF. 
ENDLOOP. 
ENDIF. 
ENDIF. 
*----------------------------------------------------------------------* 
* top-of-page 
*----------------------------------------------------------------------* 
TOP-OF-PAGE. 
PERFORM WRITE_TITLE. 
PERFORM WRITE_PAGE. 
*----------------------------------------------------------------------* 
* End-of-page 
*----------------------------------------------------------------------* 
END-OF-PAGE. 
*----------------------------------------------------------------------* 
*START-OF-SELECTION 
*----------------------------------------------------------------------* 
START-OF-SELECTION. 
PERFORM MAIN. 
*&---------------------------------------------------------------------* 
*&      Form  MAIN 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM MAIN. 
PERFORM SELECT_DATA. 
PERFORM PROCESS_DATA. 
*add 3.12.2005 当公司代码为1300并且为2005年1,2月份(灯塔)时,由于系统中无 
*数据,所以本年累计数要硬写进去的,而且PERFORM PROCESS_DATA时不需要判断当 
*为2005年1,2月份时不取值而是用写进去的数值,因为取了也一样是空值,同时其他 
*月份算本年累计数时也要加上2月份时写进去的该本年累计数 
PERFORM PROCESS_DATA1. 
*end add 3.12.2005 
******取现金及现金等价物上月末和上年末数据 
PERFORM SELECT_DATA2. 
PERFORM PROCESS_DATA2. 
*********END  5/6/2007 
PERFORM SUBTOTAL. 
PERFORM WRITE_DATA. 
ENDFORM.                               " MAIN 
*&---------------------------------------------------------------------* 
*&      Form  SELECT_DATA 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM SELECT_DATA. 
DATA:YEAR(4) TYPE C, 
MONTH(2) TYPE C, 
DATE TYPE D, 
DATE1 TYPE D, 
SLEN TYPE I. 
YEAR = S_YEAR. 
MONTH = S_MONTH. 
CONCATENATE YEAR '01' '01' INTO DATE. 
IF MONTH = 12. 
YEAR = YEAR + 1. 
MONTH = '01'. 
ELSE. 
YEAR = YEAR. 
MONTH = MONTH + 1. 
ENDIF. 
SLEN = STRLEN( MONTH ). 
IF SLEN = 1. 
CONCATENATE '0' MONTH INTO MONTH. 
ENDIF. 
CONCATENATE YEAR MONTH '01' INTO DATE1. 
SELECT BUDAT BELNR GJAHR BUKRS 
APPENDING CORRESPONDING FIELDS OF TABLE ITAB 
FROM BKPF 
WHERE BUKRS = S_BUKRS 
AND BUDAT >= DATE 
AND BUDAT < DATE1 
AND BLART NOT IN ('WA','WE','WI','WL','WN'). 
*  区分事业部和公司的现金流量表 
IF S_GSBER-LOW = '    ' AND S_GSBER-HIGH = '    '. " ADD BY ZHJ 
LOOP AT ITAB. 
SELECT RSTGR DMBTR SHKZG INTO (ITAB1-RSTGR,ITAB1-DMBTR,ITAB1-SHKZG) 
FROM BSEG 
WHERE BUKRS = ITAB-BUKRS 
AND BELNR = ITAB-BELNR 
AND GJAHR = ITAB-GJAHR 
AND GSBER IN S_GSBER 
AND HKONT >= '0010010000' 
AND HKONT <= '0010099999'. 
ITAB1-BUDAT = ITAB-BUDAT. 
APPEND ITAB1. 
ENDSELECT. 
ENDLOOP. 
* ADD BY ZHJ 
ELSE. 
LOOP AT ITAB. 
SELECT RSTGR DMBTR SHKZG INTO (ITAB1-RSTGR,ITAB1-DMBTR,ITAB1-SHKZG) 
FROM BSEG 
WHERE BUKRS = ITAB-BUKRS 
AND BELNR = ITAB-BELNR 
AND GJAHR = ITAB-GJAHR 
AND GSBER IN S_GSBER 
AND ( HKONT = '0019990501' OR HKONT = '0019990502' OR HKONT = 
'0019991001' OR HKONT = '0019990503' ). 
ITAB1-BUDAT = ITAB-BUDAT. 
APPEND ITAB1. 
ENDSELECT. 
ENDLOOP. 
ENDIF. 
*END 
ENDFORM.                    " SELECT_DATA 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_DATA 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM WRITE_DATA. 
JTAB-JYGM = 0 - JTAB-JYGM. 
JTAB-JYZF = 0 - JTAB-JYZF. 
JTAB-JYZFSF = 0 - JTAB-JYZFSF. 
JTAB-JYQTZF = 0 - JTAB-JYQTZF. 
JTAB-JYLCXJ = 0 - JTAB-JYLCXJ.         "add 3.12.2005 
JTAB-TZGM = 0 - JTAB-TZGM. 
JTAB-TZZF = 0 - JTAB-TZZF. 
JTAB-TZQDXJ = 0 - JTAB-TZQDXJ.         "ZHU 2007.1.5 
JTAB-TZQTZF = 0 - JTAB-TZQTZF. 
JTAB-TZLCXJ = 0 - JTAB-TZLCXJ.         "add 3.12.2005 
JTAB-CZCH = 0 - JTAB-CZCH. 
JTAB-CZZF = 0 - JTAB-CZZF. 
*  JTAB-CZZCZF = 0 - JTAB-CZZCZF. 
JTAB-CZQTZF = 0 - JTAB-CZQTZF. 
JTAB-CZLCXJ = 0 - JTAB-CZLCXJ.        "add 3.12.2005 
JTAB1-JYGM = 0 - JTAB1-JYGM. 
JTAB1-JYZF = 0 - JTAB1-JYZF. 
JTAB1-JYZFSF = 0 - JTAB1-JYZFSF. 
JTAB1-JYQTZF = 0 - JTAB1-JYQTZF. 
JTAB1-JYLCXJ = 0 - JTAB1-JYLCXJ.       "add 3.12.2005 
JTAB1-TZGM = 0 - JTAB1-TZGM. 
JTAB1-TZZF = 0 - JTAB1-TZZF. 
JTAB1-TZQDXJ = 0 - JTAB1-TZQDXJ.         "ZHU 2007.1.5 
JTAB1-TZQTZF = 0 - JTAB1-TZQTZF. 
JTAB1-TZLCXJ = 0 - JTAB1-TZLCXJ.         "add 3.12.2005 
JTAB1-CZCH = 0 - JTAB1-CZCH. 
JTAB1-CZZF = 0 - JTAB1-CZZF. 
*  JTAB1-CZZCZF = 0 - JTAB1-CZZCZF. 
JTAB1-CZQTZF = 0 - JTAB1-CZQTZF. 
JTAB1-CZLCXJ = 0 - JTAB1-CZLCXJ.        "add 3.12.2005 
PERFORM OUTPUT_FORMAT USING '一、经营活动产生的现金流量' 
' '  ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      销售商品、提供劳务收到的现金' 
'1' JTAB-JYXS JTAB1-JYXS. 
PERFORM OUTPUT_FORMAT USING '      收到税费返还' 
'3' JTAB-JYSFFH JTAB1-JYSFFH. 
PERFORM OUTPUT_FORMAT USING '      收到的其他与经营活动有关的现金' 
'8' JTAB-JYQTSR JTAB1-JYQTSR. 
PERFORM OUTPUT_FORMAT USING '            现金流入小计' 
'9' JTAB-JYLRXJ JTAB1-JYLRXJ. 
PERFORM OUTPUT_FORMAT USING '      购买商品、接受劳务支付的现金' 
'10' JTAB-JYGM JTAB1-JYGM. 
PERFORM OUTPUT_FORMAT USING '      支付给职工以及为职工支付的现金' 
'12' JTAB-JYZF JTAB1-JYZF. 
PERFORM OUTPUT_FORMAT USING '      支付的各项税费' 
'13' JTAB-JYZFSF JTAB1-JYZFSF. 
PERFORM OUTPUT_FORMAT USING '      支付的其他与经营活动有关的现金' 
'18' JTAB-JYQTZF JTAB1-JYQTZF. 
PERFORM OUTPUT_FORMAT USING '            现金流出小计' 
'20' JTAB-JYLCXJ JTAB1-JYLCXJ. 
PERFORM OUTPUT_FORMAT USING '      经营活动产生的现金流量净额' 
'21' JTAB-JYXJJE JTAB1-JYXJJE. 
PERFORM OUTPUT_FORMAT USING '二、投资活动产生的现金流量' 
' '  ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      收回投资所收到的现金' 
'22' JTAB-TZSH JTAB1-TZSH. 
*  PERFORM OUTPUT_FORMAT USING '          其中:出售子公司所收到的现金' 
*                             '23' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      取得投资收益所收到的现金' 
'24' JTAB-TZQDSY JTAB1-TZQDSY. 
PERFORM OUTPUT_FORMAT USING 
'      处置固定资产、无形资产和其他长期资产而收回的现金净额' 
'25' JTAB-TZCZSH JTAB1-TZCZSH. 
PERFORM OUTPUT_FORMAT USING  '      处置子公司及其他营业单位收到的现金净额' 
'26' JTAB-TZCZXJ JTAB1-TZCZXJ. 
PERFORM OUTPUT_FORMAT USING '      收到的其它与投资活动有关的现金' 
'28' JTAB-TZQTSH JTAB1-TZQTSH. 
PERFORM OUTPUT_FORMAT USING '            现金流入小计' 
'29' JTAB-TZLRXJ JTAB1-TZLRXJ. 
PERFORM OUTPUT_FORMAT USING 
'      购建固定资产、无形资产和其他长期资产所支付的现金' 
'30' JTAB-TZGM JTAB1-TZGM. 
PERFORM OUTPUT_FORMAT USING '      投资所支付的现金' 
'31' JTAB-TZZF JTAB1-TZZF. 
PERFORM OUTPUT_FORMAT USING '      取得子公司及其他营业单位支付的现金净额' 
'32' JTAB-TZZF JTAB1-TZZF. 
PERFORM OUTPUT_FORMAT USING '      支付的其它与投资活动有关的现金' 
'35' JTAB-TZQTZF JTAB1-TZQTZF. 
PERFORM OUTPUT_FORMAT USING '            现金流出小计' 
'36' JTAB-TZLCXJ JTAB1-TZLCXJ. 
PERFORM OUTPUT_FORMAT USING '      投资活动产生的现金流量净额' 
'37' JTAB-TZXJJE JTAB1-TZXJJE. 
PERFORM OUTPUT_FORMAT USING '三、筹资活动产生的现金流量' 
' '  ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      吸收投资所收到的现金' 
'38' JTAB-CZXS JTAB1-CZXS. 
PERFORM OUTPUT_FORMAT USING 
'          其中:子公司吸收少数股东权益投资收到的现金' 
'39' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      借款所收到的现金' 
'40' JTAB-CZJK JTAB1-CZJK. 
PERFORM OUTPUT_FORMAT USING '      收到的其他与筹资活动有关的现金' 
'43' JTAB-CZQT JTAB1-CZQT. 
PERFORM OUTPUT_FORMAT USING '            现金流入小计' 
'44' JTAB-CZLRXJ JTAB1-CZLRXJ. 
PERFORM OUTPUT_FORMAT USING '      偿还债务所支付的现金' 
'45' JTAB-CZCH JTAB1-CZCH. 
PERFORM OUTPUT_FORMAT USING '      分配股利利润或偿还利息所支付的现金' 
'46' JTAB-CZZF JTAB1-CZZF. 
PERFORM OUTPUT_FORMAT USING '          其中:子公司支付少数股东的股利' 
'47' ' ' ' '. 
*  PERFORM OUTPUT_FORMAT USING '      减少注册资本所支付的现金' 
*                              '48' JTAB-CZZCZF JTAB1-CZZCZF. 
*  PERFORM OUTPUT_FORMAT USING '          其中:子公司依法减资支付给少数股东的现金' 
*                              '49' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '      支付的其他与筹资活动有关的现金' 
'52' JTAB-CZQTZF JTAB1-CZQTZF. 
PERFORM OUTPUT_FORMAT USING '            现金流出小计' 
'53' JTAB-CZLCXJ JTAB1-CZLCXJ. 
PERFORM OUTPUT_FORMAT USING '      筹资活动产生的现金流量净额' 
'54' JTAB-CZXJJE JTAB1-CZXJJE. 
PERFORM OUTPUT_FORMAT USING '四、汇率变动对现金的影响额' 
'55' JTAB-HLBD JTAB1-HLBD. 
PERFORM OUTPUT_FORMAT USING '五、现金及现金等价物净增加额' 
'56' JTAB-JZJE JTAB1-JZJE. 
PERFORM OUTPUT_FORMAT USING '    加:期初现金及现金等价物余额' 
'57' SYYE SNYE. 
PERFORM OUTPUT_FORMAT USING '六、期末现金及现金等价物余额' 
'58' QMYE LJQMYE. 
NEW-PAGE. 
WRITE:/ SY-VLINE NO-GAP,'补 充 资 料:',66 SY-VLINE NO-GAP, 
69 ' ', 76 SY-VLINE NO-GAP,80 ' ', 
98 SY-VLINE NO-GAP,103 ' ',120 SY-VLINE. 
ULINE. 
PERFORM OUTPUT_FORMAT USING '一、将净利润调节为经营活动的现金流量' 
' ' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    净利润' '60' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    加:资产减值准备' '61' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        固定资产折旧、油气资产折耗、生产性生物资产折旧' 
'62' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        无形资产摊销' '63' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        长期待摊费用摊销' '64' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        处置固定资产、无形资产和其他长期资产的损失' 
'65' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        固定资产报废损失' '66' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        公允价值变动损失' '67' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING  '        财务费用' '68' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        财务费用' '69' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        递延所得税资产减少' '70' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        递延所得税负债增加' '71' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        存货的减少' '72' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        经营性应收项目的减少' '73' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        经营性应付项目的增加' '74' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        其他' '75' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    经营活动产生的现金流量净额' '76' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '二、不涉及现金收支的重大投资和筹资活动' ' ' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    债务转为资本' '77' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    一年内到期的可转换公司债券' '78' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    融资租赁固定资产' '79' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '三、现金及现金等价物净增加情况' ' ' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '        现金的期末余额' '80' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    减:现金的期初余额' '81' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    加:现金等价物的期末余额' '82' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    减:现金等价物的期初余额' '83' ' ' ' '. 
PERFORM OUTPUT_FORMAT USING '    现金及现金等价物净增加额' '84' ' ' ' '. 
WRITE:/ '公司法定代表人:',45 '主管会计工作负责人:', 
85 '会计机构负责人:'. 
ENDFORM.                    " WRITE_DATA 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_TITLE 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM WRITE_TITLE. 
DATA : COMP(24) TYPE C, 
COMP1(30) TYPE C, 
TITL_POSI TYPE I, 
BTITL_POSI TYPE I, 
DATE_POSI TYPE I. 
*公司代码 
SELECT SINGLE BUTXT FROM T001 
INTO P_BUTXT WHERE BUKRS = S_BUKRS. 
*分厂代码 
SELECT SINGLE NAME1 FROM T001W 
INTO COMP1 WHERE WERKS = S_GSBER-LOW. 
COMP = P_BUTXT. 
BTITL_POSI = ( SY-LINSZ - STRLEN( COMP ) ) / 2 . 
TITL_POSI = ( SY-LINSZ - STRLEN( SY-TITLE ) ) / 2 - 8. 
DATE_POSI = TITL_POSI + 2. 
PRINT-CONTROL  FONT '012'. 
WRITE:/,AT TITL_POSI '现  金  流  量  表'. 
SKIP 1. 
PRINT-CONTROL  FONT '006'. 
IF COMP1 NE SPACE. 
WRITE:/, 2 '单位名称:',COMP,'/',COMP1, 
70 S_YEAR,'年',S_MONTH,'月', 
100 '单位:人民币元'. 
ELSE. 
WRITE:/, 2 '单位名称:',COMP,AT DATE_POSI ' ', 
60 S_YEAR,'年',S_MONTH,'月', 
100 '单位:人民币元'. 
ENDIF. 
ULINE. 
WRITE:/ SY-VLINE NO-GAP,11 '项          目',66 SY-VLINE NO-GAP, 
69 '行 次', 76 SY-VLINE NO-GAP,80 '本    期    数', 
98 SY-VLINE NO-GAP,103 '累    计    数',120 SY-VLINE. 
ULINE. 
ENDFORM.                    " WRITE_TITLE 
*&---------------------------------------------------------------------* 
*&      Form  WRITE_PAGE 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM WRITE_PAGE. 
ENDFORM.                    " WRITE_PAGE 
*&---------------------------------------------------------------------* 
*&      Form  PROCESS_DATA 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM PROCESS_DATA . 
LOOP AT ITAB1. 
CASE ITAB1-RSTGR. 
WHEN '001'.    "销售商品、提供劳务收到的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYXS = JTAB-JYXS + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYXS = JTAB1-JYXS + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYXS = JTAB-JYXS - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYXS = JTAB1-JYXS - ITAB1-DMBTR. 
ENDIF. 
WHEN '003'.    "收到税费返还 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYSFFH = JTAB-JYSFFH + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYSFFH = JTAB1-JYSFFH + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYSFFH = JTAB-JYSFFH - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYSFFH = JTAB1-JYSFFH - ITAB1-DMBTR. 
ENDIF. 
WHEN '008'.   "其他与经营活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYQTSR = JTAB-JYQTSR + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYQTSR = JTAB1-JYQTSR + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYQTSR = JTAB-JYQTSR - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYQTSR = JTAB1-JYQTSR - ITAB1-DMBTR. 
ENDIF. 
WHEN '010'.    "购买商品、接受劳务支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYGM = JTAB-JYGM + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYGM = JTAB1-JYGM + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYGM = JTAB-JYGM - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYGM = JTAB1-JYGM - ITAB1-DMBTR. 
ENDIF. 
WHEN '012'.    "支付给职工以及为职工支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYZF = JTAB-JYZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYZF = JTAB1-JYZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYZF = JTAB-JYZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYZF = JTAB1-JYZF - ITAB1-DMBTR. 
ENDIF. 
WHEN '013'.    "支付的各项税费 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYZFSF = JTAB-JYZFSF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYZFSF = JTAB1-JYZFSF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYZFSF = JTAB-JYZFSF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYZFSF = JTAB1-JYZFSF - ITAB1-DMBTR. 
ENDIF. 
WHEN '018'.    "支付的其他与经营活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYQTZF = JTAB-JYQTZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYQTZF = JTAB1-JYQTZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-JYQTZF = JTAB-JYQTZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-JYQTZF = JTAB1-JYQTZF - ITAB1-DMBTR. 
ENDIF. 
WHEN '022'.    "收回投资所收到的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZSH = JTAB-TZSH + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZSH = JTAB1-TZSH + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZSH = JTAB-TZSH - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZSH = JTAB1-TZSH - ITAB1-DMBTR. 
ENDIF. 
WHEN '024'.    "取得投资收益所收到的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQDSY = JTAB-TZQDSY + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQDSY = JTAB1-TZQDSY + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQDSY = JTAB-TZQDSY - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQDSY = JTAB1-TZQDSY - ITAB1-DMBTR. 
ENDIF. 
WHEN '025'.    "处置固定资产等收回的现金净额 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZCZSH = JTAB-TZCZSH + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZCZSH = JTAB1-TZCZSH + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZCZSH = JTAB-TZCZSH - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZCZSH = JTAB1-TZCZSH - ITAB1-DMBTR. 
ENDIF. 
WHEN '028'.    "收到的其它与投资活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQTSH = JTAB-TZQTSH + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQTSH = JTAB1-TZQTSH + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQTSH = JTAB-TZQTSH - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQTSH = JTAB1-TZQTSH - ITAB1-DMBTR. 
ENDIF. 
WHEN '030'.    "购建固定资产等所支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZGM = JTAB-TZGM + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZGM = JTAB1-TZGM + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZGM = JTAB-TZGM - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZGM = JTAB1-TZGM - ITAB1-DMBTR. 
ENDIF. 
WHEN '031'.    "投资所支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZZF = JTAB-TZZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZZF = JTAB1-TZZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZZF = JTAB-TZZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZZF = JTAB1-TZZF - ITAB1-DMBTR. 
ENDIF. 
WHEN '035'.    "支付的其它与投资活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQTZF = JTAB-TZQTZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQTZF = JTAB1-TZQTZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQTZF = JTAB-TZQTZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQTZF = JTAB1-TZQTZF - ITAB1-DMBTR. 
ENDIF. 
WHEN '038'.    "吸收投资所收到的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZXS = JTAB-CZXS + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZXS = JTAB1-CZXS + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZXS = JTAB-CZXS - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZXS = JTAB1-CZXS - ITAB1-DMBTR. 
ENDIF. 
WHEN '040'.    "借款所收到的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZJK = JTAB-CZJK + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZJK = JTAB1-CZJK + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZJK = JTAB-CZJK - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZJK = JTAB1-CZJK - ITAB1-DMBTR. 
ENDIF. 
WHEN '043'.    "收到的其他与筹资活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZQT = JTAB-CZQT + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZQT = JTAB1-CZQT + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZQT = JTAB-CZQT - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZQT = JTAB1-CZQT - ITAB1-DMBTR. 
ENDIF. 
WHEN '045'.    "偿还债务所支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZCH = JTAB-CZCH + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZCH = JTAB1-CZCH + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZCH = JTAB-CZCH - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZCH = JTAB1-CZCH - ITAB1-DMBTR. 
ENDIF. 
WHEN '046'.    "分配股利利润或偿还利息所支付的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZZF = JTAB-CZZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZZF = JTAB1-CZZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZZF = JTAB-CZZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZZF = JTAB1-CZZF - ITAB1-DMBTR. 
ENDIF. 
*      WHEN '048'.    "减少注册资本所支付的现金 
*        IF ITAB1-SHKZG = 'S'. 
*          IF ITAB1-BUDAT+4(2) = S_MONTH. 
*            JTAB-CZZCZF = JTAB-CZZCZF + ITAB1-DMBTR. 
*          ENDIF. 
*          JTAB1-CZZCZF = JTAB1-CZZCZF + ITAB1-DMBTR. 
*        ELSE. 
*          IF ITAB1-BUDAT+4(2) = S_MONTH. 
*            JTAB-CZZCZF = JTAB-CZZCZF - ITAB1-DMBTR. 
*          ENDIF. 
*          JTAB1-CZZCZF = JTAB1-CZZCZF - ITAB1-DMBTR. 
*        ENDIF. 
WHEN '052'.    "支付的其他与筹资活动有关的现金 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZQTZF = JTAB-CZQTZF + ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZQTZF = JTAB1-CZQTZF + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-CZQTZF = JTAB-CZQTZF - ITAB1-DMBTR. 
ENDIF. 
JTAB1-CZQTZF = JTAB1-CZQTZF - ITAB1-DMBTR. 
ENDIF. 
WHEN '053'.    "汇率变动对现金的影响额 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-HLBD = JTAB-HLBD + ITAB1-DMBTR. 
ENDIF. 
JTAB1-HLBD = JTAB1-HLBD + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-HLBD = JTAB-HLBD - ITAB1-DMBTR. 
ENDIF. 
JTAB1-HLBD = JTAB1-HLBD - ITAB1-DMBTR. 
ENDIF. 
WHEN '055'.    "处置子公司及其他营业单位收到的现金净额    ZHU  2007.1.5 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZCZXJ = JTAB-TZCZXJ + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZCZXJ = JTAB1-TZCZXJ + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZCZXJ = JTAB-TZCZXJ - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZCZXJ = JTAB1-TZCZXJ - ITAB1-DMBTR. 
ENDIF. 
WHEN '056'.    "取得子公司及其他营业单位支付的现金净额    ZHU  2007.1.5 
IF ITAB1-SHKZG = 'S'. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQDXJ = JTAB-TZQDXJ + ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQDXJ = JTAB1-TZQDXJ + ITAB1-DMBTR. 
ELSE. 
IF ITAB1-BUDAT+4(2) = S_MONTH. 
JTAB-TZQDXJ = JTAB-TZQDXJ - ITAB1-DMBTR. 
ENDIF. 
JTAB1-TZQDXJ = JTAB1-TZQDXJ - ITAB1-DMBTR. 
ENDIF. 
ENDCASE. 
MODIFY JTAB INDEX SY-TABIX. 
MODIFY JTAB1 INDEX SY-TABIX. 
ENDLOOP. 
ENDFORM.                    " PROCESS_DATA 
*&---------------------------------------------------------------------* 
*&      Form  select_data2 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM SELECT_DATA2 . 
******  区分事业部和公司 
IF S_GSBER-LOW = '    ' AND S_GSBER-HIGH = '    '. 
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB2 FROM GLT0 
WHERE   RYEAR = S_YEAR 
AND  BUKRS = S_BUKRS 
AND  RBUSA IN S_GSBER 
AND  RLDNR = '00' 
AND  RRCTY = '0'   "0:实际发生;  1:表示计划发生 
AND  ( ( RACCT >= '0010010000' AND RACCT <= '0010029999' ) OR 
( RACCT >= '0010090000' AND RACCT <= '0010099999' ) ). 
ELSE. 
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB2 FROM GLT0 
WHERE   RYEAR = S_YEAR 
AND  BUKRS = S_BUKRS 
AND  RBUSA IN S_GSBER 
AND  RLDNR = '00' 
AND  RRCTY = '0'   "0:实际发生;  1:表示计划发生 
AND ( RACCT = '0019990501' OR RACCT = '0019990502' OR RACCT = 
'0019991001' OR RACCT = '0019990503' ). 
ENDIF. 
*END 
SORT ITAB2 BY RACCT. 
ENDFORM.                    " select_data2 
*&---------------------------------------------------------------------* 
*&      Form  Process_data2 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM PROCESS_DATA2 . 
LOOP AT ITAB2. 
CASE S_MONTH. 
WHEN '1' OR '01'. 
ITAB2-TAMOUNT = ITAB2-HSLVT . 
WHEN '2' OR '02'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 . 
WHEN '3' OR '03'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 . 
WHEN '4' OR '04'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03. 
WHEN '5' OR '05'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 . 
WHEN '6' OR '06'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 . 
WHEN '7' OR '07'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 . 
WHEN '8' OR '08'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07. 
WHEN '9' OR '09'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 . 
WHEN '10'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 . 
WHEN '11'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 . 
WHEN '12'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 + ITAB2-HSL11. 
WHEN '13'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 + ITAB2-HSL11 
+ ITAB2-HSL12 . 
WHEN '14'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 + ITAB2-HSL11 
+ ITAB2-HSL12 + ITAB2-HSL13 . 
WHEN '15'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 + ITAB2-HSL11 
+ ITAB2-HSL12 + ITAB2-HSL13 + ITAB2-HSL14 . 
WHEN '16'. 
ITAB2-TAMOUNT = ITAB2-HSLVT + ITAB2-HSL01 + ITAB2-HSL02 + ITAB2-HSL03 
+ ITAB2-HSL04 + ITAB2-HSL05 + ITAB2-HSL06 + ITAB2-HSL07 
+ ITAB2-HSL08 + ITAB2-HSL09 + ITAB2-HSL10 + ITAB2-HSL11 
+ ITAB2-HSL12 + ITAB2-HSL13 + ITAB2-HSL14 + ITAB2-HSL15. 
ENDCASE. 
MODIFY ITAB2 INDEX SY-TABIX. 
SYYE = SYYE + ITAB2-TAMOUNT. 
SNYE = SNYE + ITAB2-HSLVT. 
ENDLOOP. 
ENDFORM.                    " Process_data2 
*&---------------------------------------------------------------------* 
*&      Form  SUBTOTAL 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM SUBTOTAL . 
*经营现金流入小计 
JTAB-JYLRXJ = JTAB-JYXS + JTAB-JYSFFH + JTAB-JYQTSR. 
*经营现金流出小计 
JTAB-JYLCXJ = JTAB-JYGM + JTAB-JYZF + JTAB-JYZFSF + JTAB-JYQTZF. 
*经营活动产生的现金流量净额 
JTAB-JYXJJE = JTAB-JYLRXJ + JTAB-JYLCXJ.          "changed 3.12.2005 
*投资现金流入小计    2007.1.5 增加 TZCZXJ 
JTAB-TZLRXJ = JTAB-TZSH + JTAB-TZQDSY + JTAB-TZCZSH + JTAB-TZCZXJ + JTAB-TZQTSH. 
*投资现金流出小计    2007.1.5 增加 TZQDXJ 
JTAB-TZLCXJ = JTAB-TZGM + JTAB-TZZF + JTAB-TZQDXJ + JTAB-TZQTZF. 
*投资活动产生的现金流量净额 
JTAB-TZXJJE = JTAB-TZLRXJ + JTAB-TZLCXJ.          "changed 3.12.2005 
*筹资现金流入小计 
JTAB-CZLRXJ = JTAB-CZXS + JTAB-CZJK + JTAB-CZQT. 
*筹资现金流出小计 
JTAB-CZLCXJ = JTAB-CZCH + JTAB-CZZF + JTAB-CZQTZF. 
*筹资活动产生的现金流量净额 
JTAB-CZXJJE = JTAB-CZLRXJ + JTAB-CZLCXJ.          "changed 3.12.2005 
*现金及现金等价物净增加额 
JTAB-JZJE = JTAB-JYXJJE + JTAB-TZXJJE + JTAB-CZXJJE. 
MODIFY JTAB INDEX SY-TABIX. 
JTAB1-JYLRXJ = JTAB1-JYXS + JTAB1-JYSFFH + JTAB1-JYQTSR. 
JTAB1-JYLCXJ = JTAB1-JYGM + JTAB1-JYZF + JTAB1-JYZFSF + JTAB1-JYQTZF. 
JTAB1-JYXJJE = JTAB1-JYLRXJ + JTAB1-JYLCXJ.      "changed 3.12.2005 
JTAB1-TZLRXJ = JTAB1-TZSH + JTAB1-TZQDSY + JTAB1-TZCZSH + JTAB1-TZCZXJ 
+ JTAB1-TZQTSH. 
JTAB1-TZLCXJ = JTAB1-TZGM + JTAB1-TZZF + JTAB1-TZQDXJ + JTAB1-TZQTZF. 
JTAB1-TZXJJE = JTAB1-TZLRXJ + JTAB1-TZLCXJ.       "changed 3.12.2005 
JTAB1-CZLRXJ = JTAB1-CZXS + JTAB1-CZJK + JTAB1-CZQT. 
JTAB1-CZLCXJ = JTAB1-CZCH + JTAB1-CZZF + JTAB1-CZQTZF. 
JTAB1-CZXJJE = JTAB1-CZLRXJ + JTAB1-CZLCXJ.      "changed 3.12.2005 
JTAB1-JZJE = JTAB1-JYXJJE + JTAB1-TZXJJE + JTAB1-CZXJJE. 
MODIFY JTAB1 INDEX SY-TABIX. 
******期末现金及现金等价物余额 
QMYE = JTAB-JZJE + SYYE + JTAB-HLBD. 
LJQMYE = JTAB1-JZJE + SNYE + JTAB1-HLBD. 
ENDFORM.                    " SUBTOTAL 
*&---------------------------------------------------------------------* 
*&      Form  OUTPUT_FORMAT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->P_0500   text 
*      -->P_0501   text 
*      -->P_JTAB_DQTZ  text 
*      -->P_ITABS_DQTZ  text 
*      -->P_0504   text 
*      -->P_0505   text 
*      -->P_JTAB_YFPJ  text 
*      -->P_ITABS_YFPJ  text 
*----------------------------------------------------------------------* 
FORM OUTPUT_FORMAT  USING    P_ZCDES 
P_ZCL 
P_ZCCV 
P_ZCV. 
WRITE:/ SY-VLINE NO-GAP,P_ZCDES,66 SY-VLINE NO-GAP, 
71 P_ZCL. 
IF P_ZCCV NE 0 . 
WRITE: 76 SY-VLINE NO-GAP, P_ZCCV. 
ELSE. 
WRITE: 76 SY-VLINE NO-GAP. 
ENDIF. 
IF P_ZCV NE 0 . 
WRITE: 98 SY-VLINE NO-GAP, P_ZCV. 
ELSE. 
WRITE: 98 SY-VLINE NO-GAP. 
ENDIF. 
WRITE: 120 SY-VLINE. 
ULINE. 
ENDFORM.                    " OUTPUT_FORMAT 
*&---------------------------------------------------------------------* 
*&      Form  PROCESS_DATA1 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM PROCESS_DATA1 . 
******灯塔 
IF S_YEAR = '2005' AND S_BUKRS = '1300'. 
JTAB1-JYXS = JTAB1-JYXS + '9512458.05'. 
JTAB1-JYSFFH = JTAB1-JYSFFH + '198796.40'. 
JTAB1-JYQTSR = JTAB1-JYQTSR + '15154953.61'. 
JTAB1-JYGM = JTAB1-JYGM + '-15989390.30'. 
JTAB1-JYZF = JTAB1-JYZF + '-1754897.14'. 
JTAB1-JYZFSF = JTAB1-JYZFSF + '-419308.58'. 
JTAB1-JYQTZF = JTAB1-JYQTZF + '-10723250.65'. 
JTAB1-TZSH = JTAB1-TZSH + '000000.00'. 
JTAB1-TZQDSY = JTAB1-TZQDSY + '000000.00'. 
JTAB1-TZGM = JTAB1-TZGM + '-445759.00'. 
JTAB1-CZJK = JTAB1-CZJK + '10000000.00'. 
JTAB1-CZCH = JTAB1-CZCH + '-10000000.00'. 
JTAB1-CZZF = JTAB1-CZZF + '-282046.50'. 
MODIFY JTAB1 INDEX SY-TABIX. 
ENDIF. 
******股份公司  ADD 
IF S_YEAR = '2006' AND S_BUKRS = '1100'. 
JTAB1-JYXS = JTAB1-JYXS + '101205202.57'. 
JTAB1-JYQTSR = JTAB1-JYQTSR + '6037233.67'. 
JTAB1-JYGM = JTAB1-JYGM + '-72887793.50'. 
JTAB1-JYZF = JTAB1-JYZF + '-4682704.50'. 
JTAB1-JYZFSF = JTAB1-JYZFSF + '-9169208.40'. 
JTAB1-JYQTZF = JTAB1-JYQTZF + '-8836183.73'. 
JTAB1-TZGM = JTAB1-TZGM + '-3835096.05'. 
JTAB1-TZZF = JTAB1-TZZF + '-5219996.60'. 
JTAB1-CZJK = JTAB1-CZJK + '57000000.00'. 
JTAB1-CZCH = JTAB1-CZCH + '-94230000.00'. 
JTAB1-CZZF = JTAB1-CZZF + '-2305982.00'. 
MODIFY JTAB1 INDEX SY-TABIX. 
ENDIF. 
******END 
ENDFORM.                    " PROCESS_DATA1

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/19576.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论