---- Rahmendaten des Programms ZABAPDOWN01;0; I002 Keine Downloadberechtigung vorhanden ZABAPDOWN01;0; I101 Bitte Reportselektion einschränken ZABAPDOWN01;0; R ZABAPDOWN01 Programm für Revision ZABAPDOWN01;0; SPATH Downloadpfad ZABAPDOWN01;0; SREPO Report ---- Quellcode des Programms ZABAPDOWN01;1; REPORT ZABAPDOWN01 MESSAGE-ID ZDM. ZABAPDOWN01;42; ZABAPDOWN01;43; TABLES: TRDIR "Application Masterdata ZABAPDOWN01;44; . ZABAPDOWN01;45; SELECT-OPTIONS: REPO FOR TRDIR-NAME. ZABAPDOWN01;46; PARAMETERS: PATH(60) TYPE C DEFAULT 'C:\TEMP\'. ZABAPDOWN01;47; ZABAPDOWN01;48; DATA: BEGIN OF TABSOURCE OCCURS 10 ZABAPDOWN01;52; ,source(255) TYPE c ZABAPDOWN01;53; ,END OF TABSOURCE. ZABAPDOWN01;54; ZABAPDOWN01;60; DATA: BEGIN OF TABTEXT OCCURS 10, ZABAPDOWN01;61; ID TYPE TEXTPOOL-ID, ZABAPDOWN01;62; KEY TYPE TEXTPOOL-KEY, ZABAPDOWN01;63; ENTRY TYPE TEXTPOOL-ENTRY, ZABAPDOWN01;64; LENGTH TYPE TEXTPOOL-LENGTH, ZABAPDOWN01;65; END OF TABTEXT. ZABAPDOWN01;67; DATA: BEGIN OF TABRDIR OCCURS 100 ZABAPDOWN01;68; ,RDIR LIKE TRDIR ZABAPDOWN01;69; ,END OF TABRDIR. ZABAPDOWN01;70; ZABAPDOWN01;72; DATA: FILENAME TYPE STRING ZABAPDOWN01;73; ,MODE TYPE C VALUE ' ' ZABAPDOWN01;74; ,RDIRROWS TYPE I ZABAPDOWN01;75; ,SOURCEROWS TYPE I ZABAPDOWN01;76; ,RC TYPE I ZABAPDOWN01;77; ,LENGTH TYPE I, ZABAPDOWN01;78; LAENGE TYPE I, ZABAPDOWN01;79; LAENGE1 TYPE I ZABAPDOWN01;80; . ZABAPDOWN01;81; FIELD-SYMBOLS:

. ZABAPDOWN01;82; ZABAPDOWN01;83; DATA: OK TYPE I VALUE 0 ZABAPDOWN01;84; ,FAIL TYPE I VALUE 1. ZABAPDOWN01;87; DATA: BEGIN OF TABSOURCE_SAVE_S, ZABAPDOWN01;88; PRAEFIX(47) TYPE C ZABAPDOWN01;91; ,source(255) TYPE c ZABAPDOWN01;93; ,END OF TABSOURCE_SAVE_S. ZABAPDOWN01;95; DATA: BEGIN OF TABTEXT_SAVE_S, ZABAPDOWN01;96; PRAEFIX(47) TYPE C, ZABAPDOWN01;99; ID TYPE TEXTPOOL-ID, ZABAPDOWN01;100; KEY TYPE TEXTPOOL-KEY, ZABAPDOWN01;101; ENTRY TYPE TEXTPOOL-ENTRY, ZABAPDOWN01;102; LENGTH TYPE TEXTPOOL-LENGTH, ZABAPDOWN01;105; END OF TABTEXT_SAVE_S. ZABAPDOWN01;107; DATA: TABSOURCE_SAVE LIKE STANDARD TABLE OF TABSOURCE_SAVE_S. ZABAPDOWN01;108; DATA: TABTEXT_SAVE LIKE STANDARD TABLE OF TABTEXT_SAVE_S. ZABAPDOWN01;112; DATA: NAME(12) TYPE C. ZABAPDOWN01;113; DATA: ZEILE TYPE STRING. ZABAPDOWN01;114; DATA: L_TABIX(5) TYPE C. ZABAPDOWN01;116; AT SELECTION-SCREEN. ZABAPDOWN01;117; DATA: I TYPE I. ZABAPDOWN01;118; DESCRIBE TABLE REPO LINES I. ZABAPDOWN01;119; IF I <= 0. ZABAPDOWN01;120; SET CURSOR FIELD REPO. ZABAPDOWN01;121; MESSAGE E065 WITH TEXT-101. ZABAPDOWN01;122; ENDIF. ZABAPDOWN01;123; MOVE SY-UNAME TO NAME. ZABAPDOWN01;124; CONDENSE NAME. ZABAPDOWN01;154; SELECT * FROM TRDIR INTO TABLE TABRDIR WHERE NAME IN REPO. ZABAPDOWN01;155; DESCRIBE TABLE TABRDIR LINES RDIRROWS. ZABAPDOWN01;156; CHECK RDIRROWS > 0. ZABAPDOWN01;157; ZABAPDOWN01;158; LOOP AT TABRDIR. ZABAPDOWN01;159; MOVE TABRDIR TO TRDIR. ZABAPDOWN01;160; PERFORM DOWNLOAD_SOURCE USING RC. ZABAPDOWN01;161; ZABAPDOWN01;163; PERFORM DOWNLOAD_TEXTPOOL USING RC. ZABAPDOWN01;164; ZABAPDOWN01;165; ENDLOOP. ZABAPDOWN01;167; DESCRIBE TABLE TABSOURCE_SAVE LINES RDIRROWS. ZABAPDOWN01;168; IF RDIRROWS > 0. ZABAPDOWN01;169; RC = OK. ZABAPDOWN01;170; ENDIF. ZABAPDOWN01;171; CONCATENATE PATH 'abap2.aba' INTO FILENAME. ZABAPDOWN01;172; CONDENSE FILENAME NO-GAPS. ZABAPDOWN01;173; PERFORM DOWNLOAD TABLES TABSOURCE_SAVE USING FILENAME RC. ZABAPDOWN01;174; DESCRIBE TABLE TABTEXT_SAVE LINES RDIRROWS. ZABAPDOWN01;175; IF RDIRROWS > 0. ZABAPDOWN01;176; RC = OK. ZABAPDOWN01;177; ENDIF. ZABAPDOWN01;178; ZABAPDOWN01;179; CONCATENATE PATH 'abap1.txt' INTO FILENAME. ZABAPDOWN01;180; CONDENSE FILENAME NO-GAPS. ZABAPDOWN01;181; PERFORM DOWNLOAD TABLES TABTEXT_SAVE USING FILENAME RC. ZABAPDOWN01;182; ELSE. ZABAPDOWN01;183; MESSAGE I065 WITH TEXT-002. ZABAPDOWN01;184; ZABAPDOWN01;185; ENDIF. ZABAPDOWN01;190; FORM DOWNLOAD_SOURCE USING RC. ZABAPDOWN01;194; CLEAR: TABSOURCE, FILENAME. ZABAPDOWN01;195; REFRESH: TABSOURCE. ZABAPDOWN01;196; ZABAPDOWN01;199; READ REPORT TRDIR-NAME INTO TABSOURCE. ZABAPDOWN01;200; DESCRIBE TABLE TABSOURCE LINES SOURCEROWS. ZABAPDOWN01;201; CHECK SOURCEROWS > 0. ZABAPDOWN01;214; LOOP AT TABSOURCE. ZABAPDOWN01;215; MOVE SY-TABIX TO L_TABIX. ZABAPDOWN01;216; CONCATENATE TRDIR-NAME ';' L_TABIX ';' INTO ZEILE. ZABAPDOWN01;217; CONDENSE ZEILE NO-GAPS. ZABAPDOWN01;224; CLEAR TABSOURCE_SAVE_S. ZABAPDOWN01;225; MOVE ZEILE TO TABSOURCE_SAVE_S-PRAEFIX. ZABAPDOWN01;226; MOVE TABSOURCE TO TABSOURCE_SAVE_S-SOURCE. ZABAPDOWN01;227; APPEND TABSOURCE_SAVE_S TO TABSOURCE_SAVE. ZABAPDOWN01;229; ENDLOOP. ZABAPDOWN01;230; ZABAPDOWN01;234; ENDFORM. "download_source ZABAPDOWN01;235; ZABAPDOWN01;239; FORM DOWNLOAD_TEXTPOOL USING RC. ZABAPDOWN01;240; ZABAPDOWN01;242; CLEAR: TABTEXT, FILENAME. ZABAPDOWN01;243; REFRESH: TABTEXT. ZABAPDOWN01;244; READ TEXTPOOL TRDIR-NAME INTO TABTEXT LANGUAGE SY-LANGU. ZABAPDOWN01;245; DESCRIBE TABLE TABTEXT LINES SOURCEROWS. ZABAPDOWN01;246; CHECK SOURCEROWS > 0. ZABAPDOWN01;261; LOOP AT TABTEXT. ZABAPDOWN01;262; MOVE SY-TABIX TO L_TABIX. ZABAPDOWN01;263; CONCATENATE TRDIR-NAME ';' L_TABIX ';' INTO ZEILE. ZABAPDOWN01;264; CONDENSE ZEILE NO-GAPS. ZABAPDOWN01;271; CLEAR TABTEXT_SAVE_S. ZABAPDOWN01;272; MOVE ZEILE TO TABTEXT_SAVE_S-PRAEFIX. ZABAPDOWN01;273; MOVE TABTEXT-ID TO TABTEXT_SAVE_S-ID. ZABAPDOWN01;274; MOVE TABTEXT-KEY TO TABTEXT_SAVE_S-KEY. ZABAPDOWN01;275; MOVE TABTEXT-ENTRY TO TABTEXT_SAVE_S-ENTRY. ZABAPDOWN01;276; MOVE TABTEXT-LENGTH TO TABTEXT_SAVE_S-LENGTH. ZABAPDOWN01;277; APPEND TABTEXT_SAVE_S TO TABTEXT_SAVE. ZABAPDOWN01;279; ENDLOOP. ZABAPDOWN01;280; ZABAPDOWN01;281; ZABAPDOWN01;282; ENDFORM. "download_textpool ZABAPDOWN01;283; ZABAPDOWN01;284; ZABAPDOWN01;285; ZABAPDOWN01;289; FORM DOWNLOAD TABLES TABDATA USING FILENAME RC. ZABAPDOWN01;290; ZABAPDOWN01;291; RC = FAIL. ZABAPDOWN01;292; ZABAPDOWN01;314; CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD ZABAPDOWN01;315; EXPORTING ZABAPDOWN01;316; * BIN_FILESIZE = ZABAPDOWN01;317; FILENAME = FILENAME ZABAPDOWN01;318; FILETYPE = 'ASC' ZABAPDOWN01;319; * APPEND = SPACE ZABAPDOWN01;320; * WRITE_FIELD_SEPARATOR = SPACE ZABAPDOWN01;321; * HEADER = '00' ZABAPDOWN01;322; * TRUNC_TRAILING_BLANKS = SPACE ZABAPDOWN01;323; * WRITE_LF = 'X' ZABAPDOWN01;324; * COL_SELECT = SPACE ZABAPDOWN01;325; * COL_SELECT_MASK = SPACE ZABAPDOWN01;326; * DAT_MODE = SPACE ZABAPDOWN01;327; * CONFIRM_OVERWRITE = SPACE ZABAPDOWN01;328; * NO_AUTH_CHECK = SPACE ZABAPDOWN01;329; * CODEPAGE = SPACE ZABAPDOWN01;330; * IGNORE_CERR = ABAP_TRUE ZABAPDOWN01;331; * REPLACEMENT = '#' ZABAPDOWN01;332; * WRITE_BOM = SPACE ZABAPDOWN01;333; * TRUNC_TRAILING_BLANKS_EOL = 'X' ZABAPDOWN01;334; * WK1_N_FORMAT = SPACE ZABAPDOWN01;335; * WK1_N_SIZE = SPACE ZABAPDOWN01;336; * WK1_T_FORMAT = SPACE ZABAPDOWN01;337; * WK1_T_SIZE = SPACE ZABAPDOWN01;338; * IMPORTING ZABAPDOWN01;339; * FILELENGTH = ZABAPDOWN01;340; CHANGING ZABAPDOWN01;341; DATA_TAB = TABDATA[] ZABAPDOWN01;342; EXCEPTIONS ZABAPDOWN01;343; FILE_WRITE_ERROR = 1 ZABAPDOWN01;344; NO_BATCH = 2 ZABAPDOWN01;345; GUI_REFUSE_FILETRANSFER = 3 ZABAPDOWN01;346; INVALID_TYPE = 4 ZABAPDOWN01;347; NO_AUTHORITY = 5 ZABAPDOWN01;348; UNKNOWN_ERROR = 6 ZABAPDOWN01;349; HEADER_NOT_ALLOWED = 7 ZABAPDOWN01;350; SEPARATOR_NOT_ALLOWED = 8 ZABAPDOWN01;351; FILESIZE_NOT_ALLOWED = 9 ZABAPDOWN01;352; HEADER_TOO_LONG = 10 ZABAPDOWN01;353; DP_ERROR_CREATE = 11 ZABAPDOWN01;354; DP_ERROR_SEND = 12 ZABAPDOWN01;355; DP_ERROR_WRITE = 13 ZABAPDOWN01;356; UNKNOWN_DP_ERROR = 14 ZABAPDOWN01;357; ACCESS_DENIED = 15 ZABAPDOWN01;358; DP_OUT_OF_MEMORY = 16 ZABAPDOWN01;359; DISK_FULL = 17 ZABAPDOWN01;360; DP_TIMEOUT = 18 ZABAPDOWN01;361; FILE_NOT_FOUND = 19 ZABAPDOWN01;362; DATAPROVIDER_EXCEPTION = 20 ZABAPDOWN01;363; CONTROL_FLUSH_ERROR = 21 ZABAPDOWN01;364; NOT_SUPPORTED_BY_GUI = 22 ZABAPDOWN01;365; ERROR_NO_GUI = 23 ZABAPDOWN01;366; OTHERS = 24 ZABAPDOWN01;367; . ZABAPDOWN01;368; IF SY-SUBRC <> 0. ZABAPDOWN01;369; * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ZABAPDOWN01;370; * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ZABAPDOWN01;371; ENDIF. ZABAPDOWN01;373; ZABAPDOWN01;374; RC = SY-SUBRC. ZABAPDOWN01;375; ZABAPDOWN01;376; ZABAPDOWN01;377; ENDFORM. "download