REPORT ZSABADOW MESSAGE-ID FB. * * * * * * * * * * * * * * * * * * * * * * * * * * * ABAP DOWNLOAD * 26.09.1996 PAS Organisationsberatung * * BESCHREIBUNG : Abap-Source auf lokaler Festplatte speichern * * HISTORY: * *"01 TTMMJJ name Text * * * * * * * * * * * * * * * * * * * * * * * * * TABLES: TRDIR. * T A B E L L E N ***************************************************** DATA: BEGIN OF TAB_NAME OCCURS 100, NAME LIKE TRDIR-NAME, END OF TAB_NAME. DATA: BEGIN OF TAB_ITAB OCCURS 2000, ZEILE(80), END OF TAB_ITAB. * V A R I A B L E N *************************************************** DATA: VAR_FILE LIKE RLGRAP-FILENAME, VAR_KEY(9), VAR_UDAT LIKE SY-DATUM VALUE '19000000', VAR_ANSWER(1). * Z A E H L E R ******************************************************* DATA: ANZ_DATEIEN TYPE I. PARAMETERS: PATH(30) DEFAULT 'C:\SAP\' OBLIGATORY, XTENSION(3) DEFAULT 'REP'. SELECTION-SCREEN ULINE. PARAMETERS: ABAPS(8) DEFAULT 'Z%'. SELECT-OPTIONS: CREATOR FOR TRDIR-CNAM, CREATED FOR TRDIR-CDAT, CHANGER FOR TRDIR-UNAM DEFAULT SY-UNAME, CHANGED FOR TRDIR-UDAT DEFAULT SY-DATUM. SELECTION-SCREEN ULINE. SELECTION-SCREEN SKIP. PARAMETER ASKPOPUP AS CHECKBOX DEFAULT 'X'. START-OF-SELECTION. ************************************************************************ * H A U P T P R O G R A M M ************************************************************************ PERFORM INITIALISIERUNG. PERFORM DOWNLOAD_PROGRAMME. PERFORM ENDE. ************************************************************************ * U N T E R R O U T I N E N ************************************************************************ FORM INITIALISIERUNG. * --Dateiauswahl-aufgrund-Selektionsbedingungen-in TRDIR-- CONDENSE ABAPS NO-GAPS. VAR_KEY+0(8) = ABAPS. CONDENSE VAR_KEY NO-GAPS. SELECT * FROM TRDIR WHERE NAME LIKE VAR_KEY AND CNAM IN CREATOR AND UNAM IN CHANGER AND CDAT IN CREATED AND UDAT IN CHANGED. TAB_NAME-NAME = TRDIR-NAME. APPEND TAB_NAME. ENDSELECT. ENDFORM. ************************************************************************ FORM DOWNLOAD_PROGRAMME. LOOP AT TAB_NAME. * --Download-gewuenscht--------------------- IF ASKPOPUP = 'X'. PERFORM FRAGEN_DOWNLOAD_GEWUENSCHT USING VAR_ANSWER. CASE VAR_ANSWER. WHEN 'J'. WHEN OTHERS. CHECK 1 = 2. ENDCASE. ENDIF. PERFORM DATEINAMEN_INITIALISIEREN. PERFORM AUSFUEHREN_DOWNLOAD. ENDLOOP. ENDFORM. ************************************************************************ FORM FRAGEN_DOWNLOAD_GEWUENSCHT USING VAR_ANSWER. CALL FUNCTION 'POPUP_TO_CONFIRM_STEP' EXPORTING DEFAULTOPTION = 'Y' TEXTLINE1 = 'gefundenes Programm:' TEXTLINE2 = TAB_NAME-NAME TITEL = 'Download gewuenscht?' IMPORTING ANSWER = VAR_ANSWER. ENDFORM. ************************************************************************ FORM DATEINAMEN_INITIALISIEREN. VAR_FILE+0(30) = PATH. VAR_FILE+30(8) = TAB_NAME-NAME. VAR_FILE+38(1) = '.'. VAR_FILE+39(3) = XTENSION. CONDENSE VAR_FILE NO-GAPS. ENDFORM. ************************************************************************ FORM AUSFUEHREN_DOWNLOAD. * --Lies-ABAP-in-interne-Tabelle------------ REFRESH TAB_ITAB. CLEAR TAB_ITAB. READ REPORT TAB_NAME-NAME INTO TAB_ITAB. IF SY-SUBRC <> 0. WRITE: / 'Report konnte nicht eingelesen werden !!!'(000). ENDIF. CALL FUNCTION 'WS_DOWNLOAD' EXPORTING CODEPAGE = 'IBM' FILENAME = VAR_FILE FILETYPE = 'ASC' TABLES DATA_TAB = TAB_ITAB EXCEPTIONS FILE_OPEN_ERROR = 01 FILE_WRITE_ERROR = 02 INVALID_FILESIZE = 03 INVALID_TABLE_WIDTH = 04 INVALID_TYPE = 05 NO_BATCH = 06 UNKNOWN_ERROR = 07. IF SY-SUBRC <> 0. MESSAGE I000 WITH 'Fehler beim Download:' SY-SUBRC VAR_FILE. ELSE. ADD 1 TO ANZ_DATEIEN. WRITE:/5 TAB_NAME-NAME. ENDIF. ENDFORM. ************************************************************************ FORM ENDE. SKIP 2. WRITE: / 'Anzahl Download-Files =', ANZ_DATEIEN. ENDFORM.