ENDIF.
*--->权限检查
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD S_BUKRS-LOW. IF SY-SUBRC <> 0.
MESSAGE S055(ZFI) DISPLAY LIKE 'E'. EXIT. ENDIF.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& 包含 ZFIR_1026_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT. * SET PF-STATUS '0100'. * SET TITLEBAR '0100'.
PERFORM FRM_BUILT_ALV_100.
ENDMODULE. \
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0200 OUTPUT. * SET PF-STATUS 'xxxxxxxx'. * SET TITLEBAR 'xxx'.
DATA: L_TOP TYPE I, L_LAST TYPE I.
DATA:INDICATOR(100) TYPE C VALUE '正在写入,请等待...'.
SET PF-STATUS 'EXCEL_PF'.
PERFORM FRM_CREATE_BASIC_OBJECT.
PERFORM PROGRESS_INDICATOR USING INDICATOR. LOOP AT IT_TAB .
ITAB[] = IT_TAB-TABCONTENT[].
PERFORM FRM_SET_CELL. ENDLOOP.
PERFORM FRM_SET_GROUP CHANGING GT_HIERARCHY. ** **高度宽度自适应5
CALL METHOD DOCUMENT->EXECUTE_MACRO EXPORTING
MACRO_STRING = 'module.Macro1'.
ENDMODULE. \
*&---------------------------------------------------------------------*
*& 包含 ZFIR_1026_I01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT. CASE SY-UCOMM. WHEN '&F03' .
LEAVE TO SCREEN 0. WHEN '&F15' OR'&F12' . LEAVE PROGRAM. WHEN 'EXPORT' .
PERFORM FRM_EXCEL_OUTPUT . WHEN OTHERS. ENDCASE.
CALL METHOD CL_GUI_CFW=>FLUSH. CLEAR :SY-UCOMM.
ENDMODULE. \
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0200 INPUT. CASE SY-UCOMM. WHEN 'BACK'.
CALL METHOD CL_GUI_CFW=>FLUSH. CALL METHOD CL_GUI_CFW=>DISPATCH.
FREE: CONTROL,DOCUMENT,ERROR,BDS_INSTANCE,SPREADSHEET. REFRESH: DOC_COMPONENTS, DOC_URIS,DOC_SIGNATURE. CLEAR:INITIALIZED.
CALL METHOD CONTAINER->FREE. CALL METHOD SPLITTER->FREE. LEAVE TO SCREEN 0. WHEN 'EXIT'.
IF NOT DOCUMENT IS INITIAL.
CALL METHOD DOCUMENT->CLOSE_DOCUMENT. FREE DOCUMENT. ENDIF.
IF NOT CONTROL IS INITIAL.
CALL METHOD CONTROL->DESTROY_CONTROL. FREE CONTROL. ENDIF.
LEAVE PROGRAM. WHEN 'SAVE' . CLEAR FILENAME .
CALL FUNCTION 'F4_FILENAME' EXPORTING
* PROGRAM_NAME = SYST-CPROG * DYNPRO_NUMBER = SYST-DYNNR FIELD_NAME = 'FILENAME ' IMPORTING
FILE_NAME = FILENAME.
CALL METHOD DOCUMENT->SAVE_COPY_AS EXPORTING
FILE_NAME = FILENAME NO_FLUSH = 'X' PROMPT_USER = ' ' IMPORTING
RETCODE = RETCODE.
IF SY-SUBRC = 0.
MESSAGE '保存成功!' TYPE 'S' . LEAVE TO SCREEN 0 . ELSE.
CALL METHOD C_OI_ERRORS=>SHOW_MESSAGE EXPORTING TYPE = 'E'. ENDIF. ENDCASE.
ENDMODULE. \
*&---------------------------------------------------------------------*
*& 包含 ZFIR_1026_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_BUILT_ALV_100
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text * <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_BUILT_ALV_100 .
DATA:LS_HEADER TYPE TREEV_HHDR,
LS_EVENT TYPE CNTL_SIMPLE_EVENT, LT_EVENTS TYPE CNTL_SIMPLE_EVENTS. DATA:LV_TITLEBAR TYPE STRING.
* lv_titlebar = '银行账户余额(' && s_budat-low && '-' && s_budat-high && ')'. LV_TITLEBAR = '银行账户余额日报表'. SET PF-STATUS '0100'.
SET TITLEBAR '0001' WITH LV_TITLEBAR .
IF GC_CCONTAINER100 IS INITIAL. CREATE OBJECT GC_CCONTAINER100 EXPORTING
CONTAINER_NAME = GV_CONT_100
日报表 EXCEPTIONS
CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2 CREATE_ERROR = 3 LIFETIME_ERROR = 4 LIFETIME_DYNPRO_DYNPRO_LINK = 5 OTHERS = 6. IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
* setup the hierarchy header
LS_HEADER-HEADING = '银行账户日报表 '. \
LS_HEADER-WIDTH = 40. \
* create a tree control CREATE OBJECT GO_TREE100 EXPORTING
PARENT = GC_CCONTAINER100
NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
ITEM_SELECTION = 'X' HIERARCHY_COLUMN_NAME = 'NODID' HIERARCHY_HEADER = LS_HEADER EXCEPTIONS
CNTL_SYSTEM_ERROR = 1 CREATE_ERROR = 2 FAILED = 3 ILLEGAL_NODE_SELECTION_MODE = 4 ILLEGAL_COLUMN_NAME = 5 LIFETIME_ERROR = 6. IF SY-SUBRC <> 0. * MESSAGE a000. ENDIF.
***********************add **************************** * create object
IF GO_APPLICATION IS INITIAL. CREATE OBJECT GO_APPLICATION EXPORTING
HANDLE = GO_TREE100 CB_NODE_DOUBLE_CLICK = 'X'.