*$*$ begin of routine - insert your code only below this line *-* ... "insert your code here DATA: it_gl_acct TYPESTANDARDTABLEOF /bic/pzgl_acct1, wa_gl_acct TYPE /bic/pzgl_acct1,
it_gl_group TYPESTANDARDTABLEOF /bic/pzbpc_gro, wa_gl_group TYPE /bic/pzbpc_gro,
it_xj_acct TYPESTANDARDTABLEOF /bic/pzbpc_map, wa_xj_acct TYPE /bic/pzbpc_map,
it_gl_flow TYPESTANDARDTABLEOF /bic/pz_flow, wa_gl_flow TYPE /bic/pz_flow,
period TYPE n LENGTH 3,
it_gro_acct typeSTANDARDTABLEOF /BIC/PZ_KMLB, wa_gro_acct type /BIC/PZ_KMLB, *-------------------------------------现金流量求期初 e_s_result1 TYPE _ty_t_tg_1, *-------------------------------------现金流量求期初 e_s_result TYPE _ty_t_tg_1, STR TYPE /BIC/PZBPC_GRO-/bic/z_group. FIELD-SYMBOLS: <result_fields> TYPE _ty_s_tg_1, <wa_gl_group> TYPE /bic/pzbpc_gro, <WA_GL_FLOW> TYPE /bic/pz_flow, <it_gro_acct> type /BIC/PZ_KMLB. SELECT * INTO CORRESPONDING FIELDSOFTABLE it_gl_group FROM /bic/pzbpc_gro WHERE objvers = 'A'AND /BIC/Z_PLGL = 'N'. LOOPAT it_gl_group ASSIGNING <wa_gl_group>. CALLFUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = <wa_gl_group>-company IMPORTING output = <wa_gl_group>-company. ENDLOOP.
SELECT * INTO CORRESPONDING FIELDSOFTABLE it_gl_acct FROM /bic/pzgl_acct1 WHERE objvers = 'A'. SELECT * INTO CORRESPONDING FIELDSOFTABLE it_gl_flow FROM /bic/pz_flow WHERE objvers = 'A'. LOOPAT it_gl_flow ASSIGNING <WA_GL_FLOW>. CALLFUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = <WA_GL_FLOW>-/BIC/ZGL_ACCT IMPORTING output = <WA_GL_FLOW>-/BIC/ZGL_ACCT. ENDLOOP.
SELECT * INTO CORRESPONDING FIELDSOFTABLE it_gro_acct FROM /BIC/PZ_KMLB WHERE objvers = 'A'AND /BIC/Z_PLGL = 'N'.
*-----------------------------------------------------对于当月发生额的获取F_620 READTABLE it_gl_flow INTO wa_gl_flow WITHKEY /bic/zgl_acct = wa_gl_acct-/bic/zgl_acct /bic/zf_620 = 'F_620' objvers = 'A'. IF sy-subrc = 0. RESULT_FIELDS-/BIC/ZFLOW = 'F_620'. RESULT_FIELDS-/BIC/ZSIGNDATA = <source_fields>-debit - <source_fields>-credit. COLLECT RESULT_FIELDS INTO RESULT_PACKAGE. ENDIF. CLEAR RESULT_FIELDS. ENDLOOP. *-----------------------------------------------------对于年度累计发生额的数据计算 BREAK-POINT. LOOPAT e_s_result INTO RESULT_FIELDS. IF RESULT_FIELDS-/BIC/ZFLOW = 'F_120'. CALLFUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = RESULT_FIELDS-/BIC/ZBPCTIM IMPORTING output = RESULT_FIELDS-/BIC/ZBPCTIM. period = RESULT_FIELDS-/BIC/ZBPCTIM+4(3). DO. CONCATENATE RESULT_FIELDS-/BIC/ZBPCTIM+0(4) period INTO RESULT_FIELDS-/BIC/ZBPCTIM. COLLECT RESULT_FIELDS INTO RESULT_PACKAGE. period = period + 1. IF period > 12. EXIT. ENDIF. ENDDO. ENDIF. ENDLOOP.
LOOPAT e_s_result1 INTO RESULT_FIELDS. CALLFUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = RESULT_FIELDS-/BIC/ZBPCTIM IMPORTING output = RESULT_FIELDS-/BIC/ZBPCTIM. CLEAR period. period = RESULT_FIELDS-/BIC/ZBPCTIM+4(3). DO. CONCATENATE RESULT_FIELDS-/BIC/ZBPCTIM+0(4) period INTO RESULT_FIELDS-/BIC/ZBPCTIM. COLLECT RESULT_FIELDS INTO RESULT_PACKAGE. period = period + 1. IF period > 12. EXIT. ENDIF. ENDDO. ENDLOOP.