*&---------------------------------------------------------------------* *& Report ZZ_##_PROGS_SICHERN *& *&---------------------------------------------------------------------* *& Eingabeparameter ist die gruppennummer *& Ausgabe aller Programme die Aktiviert sind. *& Gruppen nummer wird automatisch erkannt *&---------------------------------------------------------------------* REPORT ZZ_##_PROGS_SICHERN. PARAMETERS: nummer(2) TYPE c DEFAULT SYST-UNAME+7(2), pfad TYPE string DEFAULT 'C:\Temp\'. CONSTANTS: cpfad TYPE string VALUE 'C:\Temp\'. DATA waprog TYPE progname. DATA progpre(6) TYPE c. DATA cnt TYPE i VALUE 0. DATA progs TYPE standard table of progname. DATA itab TYPE TABLE OF string. DATA zeile TYPE string. DATA dateiname TYPE string. DATA dateilaenge type i. CONCATENATE 'ZZ_' nummer '%' INTO progpre. WRITE 'Gefundene aktivierte Programme' COLOR COL_HEADING . SELECT progname FROM reposrc INTO (waprog) WHERE progname LIKE progpre AND r3state = 'A'. cnt = cnt + 1. WRITE / waprog. append waprog to progs. ENDSELECT. WRITE: / 'Anzahl: ', cnt. SKIP. loop at progs into waprog. READ REPORT waprog INTO itab. IF sy-subrc = 0. * LOOP AT itab INTO zeile. * Write / zeile. * ENDLOOP. CONCATENATE pfad waprog '.txt' into dateiname. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING * BIN_FILESIZE = filename = dateiname * FILETYPE = 'ASC' * APPEND = ' ' write_field_separator = ' ' * HEADER = '00' * TRUNC_TRAILING_BLANKS = ' ' * WRITE_LF = 'X' * COL_SELECT = ' ' * COL_SELECT_MASK = ' ' * DAT_MODE = ' ' * CONFIRM_OVERWRITE = ' ' * NO_AUTH_CHECK = ' ' * CODEPAGE = ' ' * IGNORE_CERR = ABAP_TRUE * REPLACEMENT = '#' * WRITE_BOM = ' ' * TRUNC_TRAILING_BLANKS_EOL = 'X' * WK1_N_FORMAT = ' ' * WK1_N_SIZE = ' ' * WK1_T_FORMAT = ' ' * WK1_T_SIZE = ' ' * WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE * SHOW_TRANSFER_STATUS = ABAP_TRUE IMPORTING FILELENGTH = dateilaenge TABLES data_tab = itab * FIELDNAMES = * EXCEPTIONS * FILE_WRITE_ERROR = 1 * NO_BATCH = 2 * GUI_REFUSE_FILETRANSFER = 3 * INVALID_TYPE = 4 * NO_AUTHORITY = 5 * UNKNOWN_ERROR = 6 * HEADER_NOT_ALLOWED = 7 * SEPARATOR_NOT_ALLOWED = 8 * FILESIZE_NOT_ALLOWED = 9 * HEADER_TOO_LONG = 10 * DP_ERROR_CREATE = 11 * DP_ERROR_SEND = 12 * DP_ERROR_WRITE = 13 * UNKNOWN_DP_ERROR = 14 * ACCESS_DENIED = 15 * DP_OUT_OF_MEMORY = 16 * DISK_FULL = 17 * DP_TIMEOUT = 18 * FILE_NOT_FOUND = 19 * DATAPROVIDER_EXCEPTION = 20 * CONTROL_FLUSH_ERROR = 21 * OTHERS = 22 . IF ( sy-subrc <> 0 ). * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. write: 'Es ist ein Fehler aufgetreten!'. else. WRITE: / 'Es wurden ' , (4) dateilaenge, 'Bytes nach ', dateiname, ' geschrieben'. ENDIF. ENDIF. endloop.