REPORT ZZBGS106 MESSAGE-ID Z1. *----------------------------------------------------------------------* * Description: Utillity used for downloading abap/4 source code and * * text elements to the desktop using ws_download. * * Is useful as backup or for transporting to another site.* * You must run this program in foreground/online due to * * the use of ws_download throug the SAPGUI. * * * * Implementing The program is client independent. * * * * Authoriza. No Authorization check. * * * * Submitting: Run by SA38, SE38. * * * * Parametre: You can use generic values when filling the parameters * * except for the Path. * * * * Customizing: No need for customization. * * * * Change of You only need to do the syntax check at releasechanges. * * release: * * * * R/3 Release: Developed and tested in R/3 Release: * * 2.2F * * 3.0D * * * * Programmer: Benny G. Sørensen, BGS-Consulting * * Date: Nov 1996. * * * * Version 1 *-------------------------------Corrections----------------------------* * Date Userid Correction Text * * 11.11.1996 BGS :::::::::::::: Start of development * *----------------------------------------------------------------------* *----------------------------------------------------------------------* * Tables * *----------------------------------------------------------------------* TABLES: TRDIR "Application Masterdata . *----------------------------------------------------------------------* * Parameters * *----------------------------------------------------------------------* SELECT-OPTIONS: REPO FOR TRDIR-NAME. PARAMETERS: PATH(60) TYPE C DEFAULT 'C:\SAP\'. *----------------------------------------------------------------------* * Work Variables and internal tables * *----------------------------------------------------------------------* DATA: BEGIN OF TABSOURCE OCCURS 10 ,SOURCE(72) TYPE C ,END OF TABSOURCE. DATA: BEGIN OF TABTEXT OCCURS 50 ,TAB LIKE TEXTPOOL ,END OF TABTEXT. DATA: BEGIN OF TABRDIR OCCURS 100 ,RDIR LIKE TRDIR ,END OF TABRDIR. DATA: FILENAME LIKE RLGRAP-FILENAME ,MODE TYPE C VALUE ' ' ,RDIRROWS TYPE I ,SOURCEROWS TYPE I ,RC TYPE I ,LENGTH TYPE I . FIELD-SYMBOLS: <P> . *----------------------------------------------------------------------* * Constants * *----------------------------------------------------------------------* DATA: OK TYPE I VALUE 0 ,FAIL TYPE I VALUE 1. *----------------------------------------------------------------------* * EVENT: validate users entries on the selection screen * *----------------------------------------------------------------------* AT SELECTION-SCREEN. DATA: I TYPE I. DESCRIBE TABLE REPO LINES I. IF I <= 0. SET CURSOR FIELD REPO. MESSAGE E065 WITH TEXT-101. ENDIF. *----------------------------------------------------------------------* * EVENT: Start-Of-Selection * *----------------------------------------------------------------------* START-OF-SELECTION. * Set slash at the end of path if not speciefied by user CONDENSE PATH NO-GAPS. LENGTH = STRLEN( PATH ) . SUBTRACT 1 FROM LENGTH. ASSIGN PATH+LENGTH(1) TO <P>. IF <P> <> '\'. ADD 1 TO LENGTH. ASSIGN PATH+LENGTH TO <P>. <P> = '\'. ENDIF. SELECT * FROM TRDIR INTO TABLE TABRDIR WHERE NAME IN REPO. DESCRIBE TABLE TABRDIR LINES RDIRROWS. CHECK RDIRROWS > 0. * For every selected program: LOOP AT TABRDIR. MOVE TABRDIR TO TRDIR. PERFORM DOWNLOAD_SOURCE USING RC. CHECK RC = OK. PERFORM DOWNLOAD_TEXTPOOL USING RC. ENDLOOP. *----------------------------------------------------------------------* * FORM: Download_Sourcecode * *----------------------------------------------------------------------* FORM DOWNLOAD_SOURCE USING RC. RC = FAIL. CLEAR: TABSOURCE, FILENAME. REFRESH: TABSOURCE. READ REPORT TRDIR-NAME INTO TABSOURCE. DESCRIBE TABLE TABSOURCE LINES SOURCEROWS. CHECK SOURCEROWS > 0. CALL FUNCTION 'STRING_CONCATENATE_3' "R. 2.2F EXPORTING "R. 2.2F STRING1 = PATH "R. 2.2F STRING2 = TRDIR-NAME "R. 2.2F STRING3 = '.aba' "R. 2.2F IMPORTING "R. 2.2F STRING = FILENAME "R. 2.2F EXCEPTIONS "R. 2.2F TOO_SMALL = 01. "R. 2.2F * CONCATENATE PATH TRDIR-NAME '.ABA' INTO FILENAME. "R. 3.0D CONDENSE FILENAME NO-GAPS. PERFORM DOWNLOAD TABLES TABSOURCE USING FILENAME RC. ENDFORM. *----------------------------------------------------------------------* * FORM: Download_Textpool * *----------------------------------------------------------------------* FORM DOWNLOAD_TEXTPOOL USING RC. RC = FAIL. CLEAR: TABTEXT, FILENAME. REFRESH: TABTEXT. READ TEXTPOOL TRDIR-NAME INTO TABTEXT LANGUAGE SY-LANGU. DESCRIBE TABLE TABTEXT LINES SOURCEROWS. CHECK SOURCEROWS > 0. CALL FUNCTION 'STRING_CONCATENATE_3' "R. 2.2F EXPORTING "R. 2.2F STRING1 = PATH "R. 2.2F STRING2 = TRDIR-NAME "R. 2.2F STRING3 = '.TXT' "R. 2.2F IMPORTING "R. 2.2F STRING = FILENAME "R. 2.2F EXCEPTIONS "R. 2.2F TOO_SMALL = 01. "R. 2.2F * CONCATENATE PATH TRDIR-NAME '.TXT' INTO FILENAME. "R. 3.0x CONDENSE FILENAME NO-GAPS. PERFORM DOWNLOAD TABLES TABTEXT USING FILENAME RC. ENDFORM. *----------------------------------------------------------------------* * FORM: Download * *----------------------------------------------------------------------* FORM DOWNLOAD TABLES TABDATA USING FILENAME RC. RC = FAIL. CALL FUNCTION 'WS_DOWNLOAD' EXPORTING FILENAME = FILENAME FILETYPE = 'ASC' MODE = MODE TABLES DATA_TAB = TABDATA EXCEPTIONS FILE_OPEN_ERROR = 1 FILE_WRITE_ERROR = 2 INVALID_FILESIZE = 3 INVALID_TABLE_WIDTH = 4 INVALID_TYPE = 5 NO_BATCH = 6 UNKNOWN_ERROR = 7. IF SY-SUBRC <> OK. WRITE:/ SY-SUBRC, TEXT-100. ENDIF. RC = SY-SUBRC. ENDFORM.