Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Download the whole development class programs,

Former Member
0 Kudos

HI,

I want to take a back up of custom developed programs. So i want to download all the programs developed in a developemnt class at once.

I have done in past, but don't remember the program or process now.

Points will be rewarded for helpful answers

Thanks

3 REPLIES 3

Former Member
0 Kudos

HI,

First check in tadir that the given package is valid

SELECT SINGLE devclass FROM tadir INTO ws_devclass WHERE devclass = p_devcls.

Select all the records from TADIR table where OBJECT = 'FUGR' and PGMID = 'R3TR '.

In this way u can get all the FUnction group for that package.

For getting the function module under the function module use the FM RS_FUNCTION_POOL_CONTENTS to get all the function module under the Function group.

Usign the table tfdir get the program name of the Function module.

Using the FM 'GET_INCLUDETAB' get all the includes

for that PRogram name.

Loop at the internal table which you got from the function module.

Use the READ REPORT prog INTO itab.

Download the contents to the place where you want.

Reward points if this Helps.

Manish

Former Member
0 Kudos

Hi:

just try this -

Following is the code for downloading program to selected directory.

REPORT ZABAPDL2 LINE-SIZE 80 LINE-COUNT 50 NO STANDARD PAGE HEADING.

************************************************************************

  • PROGRAM : ZABAPDL2 *

  • DESCRIPTION : This program will download programs to a *

  • selected directory. *

************************************************************************

TABLES: TRDIR, "System table TRDIR

BHDGD. "Report headings

CONSTANTS: INCL(1) TYPE C VALUE 'I',

SAPP(4) TYPE C VALUE 'SAP*',

ABAP_FILE(4) TYPE C VALUE '.SAP',

TEXT_FILE(4) TYPE C VALUE '.TXT'.

DATA: BEGIN OF Z_NAME OCCURS 100,

PROG LIKE TRDIR-NAME,

TYPE LIKE TRDIR-SUBC,

PPATH(128) TYPE C,

TPATH(128) TYPE C,

END OF Z_NAME.

DATA: BEGIN OF Z_TEXT OCCURS 20.

INCLUDE STRUCTURE TEXTPOOL.

DATA: END OF Z_TEXT.

DATA: BEGIN OF Z_INTTAB OCCURS 100,

CONTENTS(80) TYPE C,

END OF Z_INTTAB.

DATA: FILE(42) TYPE C,

Z_ANSWER(1) TYPE C.

DATA: SEL_COND(72) OCCURS 1 WITH HEADER LINE.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-003.

PARAMETERS: P_PROG LIKE TRDIR-NAME OBLIGATORY DEFAULT 'Z*'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_PATH(30) OBLIGATORY DEFAULT 'A:\'.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-002.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_INCL AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_SAP AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_TEXT AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BL2.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF BLOCK RAD1

WITH FRAME TITLE TEXT-004.

SELECT-OPTIONS : S_USER FOR TRDIR-CNAM ,

S_USERL FOR TRDIR-UNAM .

SELECTION-SCREEN END OF BLOCK RAD1.

SELECTION-SCREEN END OF BLOCK BL1.

START-OF-SELECTION.

P_PATH+29(1) = '\'.

CONDENSE P_PATH NO-GAPS.

IF P_PATH CS '
'.

REPLACE '
' WITH '\' INTO P_PATH.

ENDIF.

IF P_PROG CS '*'.

TRANSLATE P_PROG USING '*%'.

ENDIF.

MOVE: SY-LINSZ TO BHDGD-LINES, "Line Size

SY-UNAME TO BHDGD-UNAME,

SY-REPID TO BHDGD-REPID,

SY-TITLE TO BHDGD-LINE1,

'0' TO BHDGD-INIFL, "Flag for reinitializing

'BUKRS' TO BHDGD-DOMAI. "Domain Name

CLEAR: Z_NAME, SEL_COND.

REFRESH: Z_NAME, SEL_COND.

IF P_INCL EQ ' '.

CLEAR SEL_COND.

CONCATENATE ' subc ne ''' INCL '''' INTO SEL_COND.

APPEND SEL_COND.

ENDIF.

IF P_INCL EQ ' '

AND P_SAP EQ ' '.

CLEAR SEL_COND.

CONCATENATE ' and cnam ne ''' SAPP '''' INTO SEL_COND.

APPEND SEL_COND.

ENDIF.

IF P_INCL EQ 'X'

AND P_SAP EQ ' '.

CLEAR SEL_COND.

CONCATENATE ' cnam ne ''' SAPP '''' INTO SEL_COND.

APPEND SEL_COND.

ENDIF.

PERFORM POPUP_TO_CONFIRM.

TOP-OF-PAGE.

FORMAT INTENSIFIED.

PERFORM BATCH-HEADING(RSBTCHH0).

FORMAT INTENSIFIED OFF.

ULINE.

WRITE:/.

WRITE:/ 'Program', P_PROG COLOR COL_TOTAL.

WRITE:/ 'Path ', P_PATH COLOR COL_TOTAL.

WRITE:/.

ULINE.

----


  • FORM SELECT_PROGRAMS *

----


  • ........ *

----


FORM SELECT_PROGRAMS.

SELECT * FROM TRDIR

WHERE NAME LIKE P_PROG

AND CNAM IN S_USER

AND UNAM IN S_USERL

AND (SEL_COND).

PERFORM BUILD_FILE_PATH.

Z_NAME-PROG = TRDIR-NAME.

Z_NAME-TYPE = TRDIR-SUBC.

APPEND Z_NAME.

ENDSELECT.

ENDFORM.

----


  • FORM BUILD_FILE_PATH *

----


  • Program filename will be in the format of XXXXXXXX.SAP *

  • Text filename will be in the format of XXXXXXXX.TXT *

----


FORM BUILD_FILE_PATH.

CLEAR FILE.

MOVE P_PATH TO FILE.

FILE+30(8) = TRDIR-NAME.

FILE+38(4) = ABAP_FILE.

CONDENSE FILE NO-GAPS.

Z_NAME-PPATH = FILE.

CLEAR FILE.

MOVE P_PATH TO FILE.

FILE+30(8) = TRDIR-NAME.

FILE+38(4) = TEXT_FILE.

CONDENSE FILE NO-GAPS.

Z_NAME-TPATH = FILE.

ENDFORM.

----


  • FORM DOWNLOAD_TO_FILE *

----


  • ........ *

----


FORM DOWNLOAD_TO_FILE.

LOOP AT Z_NAME.

PERFORM DOWNLOAD_PROGRAM.

IF P_TEXT EQ 'X'

AND Z_NAME-TYPE EQ '1'.

PERFORM DOWNLOAD_TEXT.

ENDIF.

ENDLOOP.

ENDFORM.

----


  • FORM DOWNLOAD_PROGRAM *

----


  • ........ *

----


FORM DOWNLOAD_PROGRAM.

CLEAR Z_INTTAB.

REFRESH Z_INTTAB.

READ REPORT Z_NAME-PROG INTO Z_INTTAB.

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

FILENAME = Z_NAME-PPATH

FILETYPE = 'ASC'

TABLES

DATA_TAB = Z_INTTAB.

IF SY-SUBRC EQ 0.

WRITE:/ 'Program', Z_NAME-PROG, 'successfully downloaded'

COLOR COL_NORMAL.

ELSE.

WRITE:/ 'Program', Z_NAME-PROG, 'download failed '

COLOR COL_NEGATIVE.

ENDIF.

ENDFORM.

----


  • FORM DOWNLOAD_TEXT *

----


  • ........ *

----


FORM DOWNLOAD_TEXT.

CLEAR Z_TEXT.

REFRESH Z_TEXT.

READ TEXTPOOL Z_NAME-PROG INTO Z_TEXT LANGUAGE SY-LANGU.

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

FILENAME = Z_NAME-TPATH

FILETYPE = 'ASC'

TABLES

DATA_TAB = Z_TEXT.

IF SY-SUBRC EQ 0.

WRITE:/ 'Text ', Z_NAME-PROG, 'successfully downloaded'

COLOR COL_NORMAL.

ELSE.

WRITE:/ 'Text ', Z_NAME-PROG, 'download failed '

COLOR COL_NEGATIVE.

ENDIF.

ENDFORM.

----


  • FORM POPUP_TO_CONFIRM *

----


  • ........ *

----


FORM POPUP_TO_CONFIRM.

CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

EXPORTING

TEXTLINE1 = 'Are you sure you want to download'

TEXTLINE2 = P_PROG

TITEL = 'Confirmation popup window'

IMPORTING

ANSWER = Z_ANSWER

EXCEPTIONS

OTHERS = 1.

IF Z_ANSWER EQ 'J'.

PERFORM SELECT_PROGRAMS.

IF SY-SUBRC EQ 0.

PERFORM DOWNLOAD_TO_FILE.

ELSE.

WRITE:/ 'No programs were found' COLOR COL_NEGATIVE.

ENDIF.

ENDIF.

ENDFORM.

Former Member
0 Kudos

hi

good

try this program

Selection parameter descriptions:

SO_NAME = Program name

SO_DEVC = Development class

PATHNAME = Destination drive and folder

P_AUTHOR = Program author

-


REPORT ZZDOWNLD.

TABLES: TRDIR, TADIR.

DATA: BEGIN OF REPLIST OCCURS 200, NAME(8) TYPE C, END OF REPLIST.

DATA: BEGIN OF BUFFER OCCURS 0, LINE(72) TYPE C, END OF BUFFER.

DATA: FILENAME(128) TYPE C, FILELENGTH(10) TYPE C.

SELECT-OPTIONS : SO_NAME FOR TADIR-OBJ_NAME.

SELECT-OPTIONS : SO_DEVC FOR TADIR-DEVCLASS.

PARAMETERS : PATHNAME(40).

PARAMETERS: P_AUTHOR LIKE SY-UNAME DEFAULT SY-UNAME.

SELECT * FROM TADIR

WHERE DEVCLASS IN SO_DEVC

AND OBJECT = 'PROG'

AND OBJ_NAME IN SO_NAME

AND AUTHOR = P_AUTHOR.

SELECT * FROM TRDIR

WHERE NAME = TADIR-OBJ_NAME AND CNAM = P_AUTHOR.

MOVE TRDIR-NAME TO REPLIST-NAME.

APPEND REPLIST.

ENDSELECT.

ENDSELECT.

LOOP AT REPLIST.

READ REPORT REPLIST-NAME INTO BUFFER.

FILENAME = PATHNAME.

FILENAME+40 = REPLIST-NAME.

FILENAME+50 = '.'.

FILENAME+51 = 'txt' "helpful to replace with SY-SYSID

CONDENSE FILENAME NO-GAPS.

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

FILENAME = FILENAME

FILETYPE = 'ASC'

IMPORTING

FILELENGTH = FILELENGTH

TABLES

DATA_TAB = BUFFER

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_WRITE_ERROR = 2.

CASE SY-SUBRC.

WHEN 0.

WHEN 1.

WRITE : / 'did not download', FILENAME, 'error opening file.'.

WHEN 2.

WRITE : / 'did not download', FILENAME, 'error reading file.'.

WHEN OTHERS.

ENDCASE.

ENDLOOP.

thanks

mrutyun^