You are on page 1of 2

REPORT Z_BACKUP NO STANDARD PAGE HEADING LINE-SIZE 255. *----------------------------------------------------------------------* * Declare Database Objects * *----------------------------------------------------------------------* tables: DOKIL, TRDIR.

*----------------------------------------------------------------------* * Constants* CONSTANTS: MC_TRDIR_IDENTIFIER(72) TYPE C VALUE '%&%& RDIR', *----------------------------------------------------------------------* *----------------------------------------------------------------------* * Declare Module level data structures * *----------------------------------------------------------------------* DATA: BEGIN OF MTAB_PROGRAM_SOURCE OCCURS 0, LINE(150) TYPE C, END OF MTAB_PROGRAM_SOURCE. DATA: MTAB_PROGRAM_TRDIR LIKE TRDIR OCCURS 0 WITH HEADER LINE. DATA: MTAB_PROGRAM_TEXTS LIKE TEXTPOOL OCCURS 0 WITH HEADER LINE. DATA: MSTR_THEAD LIKE THEAD. DATA: BEGIN OF MTAB_PROGRAM_FILE OCCURS 0, LINE(275) TYPE C, END OF MTAB_PROGRAM_FILE. DATA: BEGIN OF MTAB_DIRECTORY OCCURS 0, NAME LIKE TRDIR-NAME, DESC(72) TYPE C, SAVENAME LIKE RLGRAP-FILENAME, END OF MTAB_DIRECTORY. DATA: BEGIN OF MTAB_PROGRAM_DOCUMENTATION OCCURS 0, LINE(255) TYPE C, END OF MTAB_PROGRAM_DOCUMENTATION. *----------------------------------------------------------------------* * Selection Screen * *----------------------------------------------------------------------* *-- Options for upload/download of programs SELECTION-SCREEN BEGIN OF BLOCK FRM_OPTIONS WITH FRAME TITLE TEXT-UDL. PARAMETERS: RB_DOWN RADIOBUTTON GROUP UDL DEFAULT 'X'. " Download reports SELECTION-SCREEN BEGIN OF BLOCK FRM_TRDIR WITH FRAME TITLE TEXT-DIR. SELECT-OPTIONS: S_NAME FOR TRDIR-NAME, " Program Name S_SUBC FOR TRDIR-SUBC " Program Type DEFAULT 'F' OPTION EQ SIGN E," Exclude Functions by default S_CNAM FOR TRDIR-CNAM " Created by DEFAULT SY-UNAME, S_UNAM FOR TRDIR-UNAM, " Last Changed by S_CDAT FOR TRDIR-CDAT, " Creation date S_UDAT FOR TRDIR-UDAT. " Last update date MTAB_PROGRAM_FILE = MTAB_PROGRAM_SOURCE. APPEND MTAB_PROGRAM_FILE. ENDLOOP. *-- Put the identifier line in so that the start of the report text *-- is marked CONCATENATE MC_TEXT_IDENTIFIER MTAB_PROGRAM_TRDIR-NAME

INTO MTAB_PROGRAM_FILE-LINE. APPEND MTAB_PROGRAM_FILE. *-- Add the report texts LOOP AT MTAB_PROGRAM_TEXTS. MTAB_PROGRAM_FILE = MTAB_PROGRAM_TEXTS. APPEND MTAB_PROGRAM_FILE. ENDLOOP. *-- Put the identifier line in so that the start of the THEAD record *-- is marked CONCATENATE MC_THEAD_IDENTIFIER MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_FILE-LINE. APPEND MTAB_PROGRAM_FILE. MTAB_PROGRAM_FILE = MSTR_THEAD. APPEND MTAB_PROGRAM_FILE. *-- Put the identifier line in so that the start of the report *-- documentation is marked CONCATENATE MC_DOC_IDENTIFIER MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_FILE-LINE. APPEND MTAB_PROGRAM_FILE. *-- Add the report documentation LOOP AT MTAB_PROGRAM_DOCUMENTATION. MTAB_PROGRAM_FILE = MTAB_PROGRAM_DOCUMENTATION. APPEND MTAB_PROGRAM_FILE. ENDLOOP. *-- Make the fully pathed filename that report will be saved to CONCATENATE P_PATH MTAB_PROGRAM_TRDIR-NAME '.txt' INTO LC_FULL_FILENAME. PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_PROGRAM_FILE USING LC_FULL_FILENAME. *-- Write out message with Program Name/Description READ TABLE MTAB_PROGRAM_TEXTS WITH KEY ID = 'R'. IF SY-SUBRC = 0. MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME. MTAB_DIRECTORY-DESC = MTAB_PROGRAM_TEXTS-ENTRY. MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME. APPEND MTAB_DIRECTORY. WRITE: / MTAB_PROGRAM_TRDIR-NAME, MTAB_PROGRAM_TEXTS-ENTRY(65) COLOR COL_HEADING. ELSE. MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME. MTAB_DIRECTORY-DESC = 'No description available'. MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME. APPEND MTAB_DIRECTORY. WRITE: / MTAB_PROGRAM_TRDIR-NAME. ENDIF. ENDLOOP. ENDFORM. " BUILD_PROGRAM_DIRECTORY

You might also like