<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sap Source code in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005703#M408790</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this source code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DANGER WARNING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ABSOLUTELY NO WARRANTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USE AT OWN RISK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPYRIGHT DR. MARTIN ROGGE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNAUTHORISED USE PROHIBITED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;REPORT ZPTTMXFI LINE-SIZE 200 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: TRDIR, TADIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: XDIR LIKE TRDIR,&lt;/P&gt;&lt;P&gt;      XOBJ LIKE TADIR,&lt;/P&gt;&lt;P&gt;      XREL LIKE SY-SAPRL,&lt;/P&gt;&lt;P&gt;      XLAN LIKE SY-LANGU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF XSRC OCCURS 10,&lt;/P&gt;&lt;P&gt;        LINE(72),&lt;/P&gt;&lt;P&gt;      END OF XSRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF XTXT OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TEXTPOOL.&lt;/P&gt;&lt;P&gt;DATA: END OF XTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF PACK OCCURS 10,&lt;/P&gt;&lt;P&gt;        KEY(4),&lt;/P&gt;&lt;P&gt;        DATA(152),&lt;/P&gt;&lt;P&gt;      END OF PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF FILENAME,&lt;/P&gt;&lt;P&gt;        PATH(40),&lt;/P&gt;&lt;P&gt;        FILE LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;        SEP(1),&lt;/P&gt;&lt;P&gt;        EXT(3),&lt;/P&gt;&lt;P&gt;      END OF FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: TABIX TYPE I,&lt;/P&gt;&lt;P&gt;      LOCALFILE LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;      IRDIR LIKE TRDIR OCCURS 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 01 WITH FRAME TITLE TEXT-P01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: REPNAM FOR SY-REPID.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 02 WITH FRAME TITLE TEXT-P02.&lt;/P&gt;&lt;P&gt;PARAMETERS: PATH(40) DEFAULT 'C:\SAPGUI\',&lt;/P&gt;&lt;P&gt;            EXT(3)   DEFAULT 'TXT'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 03 WITH FRAME TITLE TEXT-P03.&lt;/P&gt;&lt;P&gt;PARAMETERS: DOWNLD RADIOBUTTON GROUP ACT,&lt;/P&gt;&lt;P&gt;            UPLOAD RADIOBUTTON GROUP ACT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 05 WITH FRAME TITLE TEXT-P05.&lt;/P&gt;&lt;P&gt;PARAMETERS: UPL_ADIR DEFAULT ' ' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_RDIR DEFAULT ' ' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_SRC  DEFAULT 'X' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_TXT  DEFAULT 'X' AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 05.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 04 WITH FRAME TITLE TEXT-P04.&lt;/P&gt;&lt;P&gt;PARAMETERS: DISP RADIOBUTTON GROUP SAFE,&lt;/P&gt;&lt;P&gt;            UPDT RADIOBUTTON GROUP SAFE,&lt;/P&gt;&lt;P&gt;            PASSWD LIKE SY-UNAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;safety parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK PASSWD EQ SY-UNAME.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE REPNAM LINES TABIX.&lt;/P&gt;&lt;P&gt;  CHECK TABIX GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF UPLOAD IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT * FROM TRDIR INTO TABLE IRDIR WHERE NAME IN REPNAM.&lt;/P&gt;&lt;P&gt;    LOOP AT IRDIR INTO XDIR.&lt;/P&gt;&lt;P&gt;      PERFORM GET USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      PERFORM PACK.&lt;/P&gt;&lt;P&gt;      IF DISP IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM DOWNLOAD USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_FILE USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      ULINE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT REPNAM WHERE OPTION EQ 'EQ'.&lt;/P&gt;&lt;P&gt;      PERFORM UPLOAD USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      PERFORM UNPACK.&lt;/P&gt;&lt;P&gt;      PERFORM CHECK_STRUCTURES.&lt;/P&gt;&lt;P&gt;      CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      IF DISP IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM PUT USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_STRUCTURES USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      ULINE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  REFRESH XSRC.&lt;/P&gt;&lt;P&gt;  REFRESH XTXT.&lt;/P&gt;&lt;P&gt;  MOVE SY-SAPRL TO XREL.&lt;/P&gt;&lt;P&gt;  MOVE SY-LANGU TO XLAN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move space to xdir.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE SPACE TO XOBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select single * from trdir into xdir where name eq repid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check sy-subrc eq 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE * FROM TADIR INTO XOBJ WHERE PGMID    EQ 'R3TR'&lt;/P&gt;&lt;P&gt;                                         AND OBJECT   EQ 'PROG'&lt;/P&gt;&lt;P&gt;                                         AND OBJ_NAME EQ REPID.&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;  READ REPORT REPID INTO XSRC.&lt;/P&gt;&lt;P&gt;  READ TEXTPOOL REPID INTO XTXT LANGUAGE XLAN.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PUT                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PUT USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    MODIFY TADIR FROM XOBJ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    MODIFY TRDIR FROM XDIR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    INSERT REPORT REPID FROM XSRC STATE 'A'.&lt;/P&gt;&lt;P&gt;    DELETE REPORT REPID STATE 'I'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    INSERT TEXTPOOL REPID FROM XTXT LANGUAGE XLAN STATE 'A'.&lt;/P&gt;&lt;P&gt;    DELETE TEXTPOOL REPID LANGUAGE '*' STATE 'I'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PACK                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PACK.&lt;/P&gt;&lt;P&gt;  REFRESH PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'REL'.&lt;/P&gt;&lt;P&gt;  MOVE XREL TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'LNG'.&lt;/P&gt;&lt;P&gt;  MOVE XLAN TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'DIR'.&lt;/P&gt;&lt;P&gt;  MOVE XDIR TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'OBJ'.&lt;/P&gt;&lt;P&gt;  MOVE XOBJ TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'SRC'.&lt;/P&gt;&lt;P&gt;  LOOP AT XSRC INTO PACK-DATA.&lt;/P&gt;&lt;P&gt;    APPEND PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT XTXT.&lt;/P&gt;&lt;P&gt;    CLEAR PACK.&lt;/P&gt;&lt;P&gt;    PACK-KEY = 'TXT'.&lt;/P&gt;&lt;P&gt;    PACK-DATA+00(001) = XTXT-ID.&lt;/P&gt;&lt;P&gt;    PACK-DATA+01(008) = XTXT-KEY.&lt;/P&gt;&lt;P&gt;    PACK-DATA+10(010) = XTXT-LENGTH.&lt;/P&gt;&lt;P&gt;    PACK-DATA+20(132) = XTXT-ENTRY.&lt;/P&gt;&lt;P&gt;    APPEND PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM UNPACK                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UNPACK.&lt;/P&gt;&lt;P&gt;  REFRESH XSRC.&lt;/P&gt;&lt;P&gt;  REFRESH XTXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move sy-saprl to xrel.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE 'XXX' TO XREL.&lt;/P&gt;&lt;P&gt;  MOVE SY-LANGU TO XLAN.&lt;/P&gt;&lt;P&gt;  MOVE SPACE TO XDIR.&lt;/P&gt;&lt;P&gt;  MOVE SPACE TO XOBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT PACK WHERE KEY EQ 'REL'.&lt;/P&gt;&lt;P&gt;    XREL = PACK-DATA.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT PACK WHERE KEY EQ 'LNG'.&lt;/P&gt;&lt;P&gt;    XLAN = PACK-DATA.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'DIR'.&lt;/P&gt;&lt;P&gt;      XDIR = PACK-DATA.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'OBJ'.&lt;/P&gt;&lt;P&gt;      XOBJ = PACK-DATA.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'SRC'.&lt;/P&gt;&lt;P&gt;      XSRC = PACK-DATA(72).&lt;/P&gt;&lt;P&gt;      APPEND XSRC.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'TXT'.&lt;/P&gt;&lt;P&gt;      CLEAR XTXT.&lt;/P&gt;&lt;P&gt;      XTXT-ID     = PACK-DATA+00(001).&lt;/P&gt;&lt;P&gt;      XTXT-KEY    = PACK-DATA+01(008).&lt;/P&gt;&lt;P&gt;      XTXT-LENGTH = PACK-DATA+10(010).&lt;/P&gt;&lt;P&gt;      XTXT-ENTRY  = PACK-DATA+20(132).&lt;/P&gt;&lt;P&gt;      APPEND XTXT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DOWNLOAD                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-PATH = PATH.&lt;/P&gt;&lt;P&gt;  FILENAME-FILE = REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-SEP  = '.'.&lt;/P&gt;&lt;P&gt;  FILENAME-EXT  = EXT.&lt;/P&gt;&lt;P&gt;  CONDENSE FILENAME NO-GAPS.&lt;/P&gt;&lt;P&gt;  LOCALFILE = FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* downloading', FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME            = LOCALFILE&lt;/P&gt;&lt;P&gt;            FILETYPE            = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB            = PACK&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR     = 1&lt;/P&gt;&lt;P&gt;            FILE_WRITE_ERROR    = 2&lt;/P&gt;&lt;P&gt;            INVALID_FILESIZE    = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;            OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '* download returncode', SY-SUBRC.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM UPLOAD                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPLOAD USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  REFRESH PACK.&lt;/P&gt;&lt;P&gt;  FILENAME-PATH = PATH.&lt;/P&gt;&lt;P&gt;  FILENAME-FILE = REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-SEP  = '.'.&lt;/P&gt;&lt;P&gt;  FILENAME-EXT  = EXT.&lt;/P&gt;&lt;P&gt;  CONDENSE FILENAME NO-GAPS.&lt;/P&gt;&lt;P&gt;  LOCALFILE = FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* uploading', FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME            = LOCALFILE&lt;/P&gt;&lt;P&gt;            FILETYPE            = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB            = PACK&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            CONVERSION_ERROR    = 1&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR     = 2&lt;/P&gt;&lt;P&gt;            FILE_READ_ERROR     = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;            OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '* upload returncode', SY-SUBRC.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CHECK_STRUCTURES                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CHECK_STRUCTURES.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XDIR EQ SPACE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no report directory entry'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XOBJ EQ SPACE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no object directory'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 2.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE XSRC LINES TABIX.&lt;/P&gt;&lt;P&gt;    IF TABIX LE 0.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no source code'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 3.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE XTXT LINES TABIX.&lt;/P&gt;&lt;P&gt;    IF TABIX LE 0.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no text elements'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 4.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF XREL NE SY-SAPRL.&lt;/P&gt;&lt;P&gt;    IF ( UPL_ADIR IS INITIAL ) AND ( UPL_RDIR IS INITIAL ).&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: system release is', SY-SAPRL,&lt;/P&gt;&lt;P&gt;               'whereas source release is', XREL.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: system release is', SY-SAPRL,&lt;/P&gt;&lt;P&gt;               'whereas source release is', XREL.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 8.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XOBJ-DEVCLASS EQ '$TMP' AND XOBJ-SRCSYSTEM NE SY-SYSID.&lt;/P&gt;&lt;P&gt;      WRITE: / '* info: changing source system to', SY-SYSID.&lt;/P&gt;&lt;P&gt;      XOBJ-SRCSYSTEM = SY-SYSID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF XOBJ-MASTERLANG NE SY-LANGU.&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: changing master language to', SY-LANGU.&lt;/P&gt;&lt;P&gt;      XOBJ-MASTERLANG = SY-LANGU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF XLAN NE SY-LANGU.&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: changing text language to', SY-LANGU.&lt;/P&gt;&lt;P&gt;      XLAN = SY-LANGU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF XLAN NE SY-LANGU.&lt;/P&gt;&lt;P&gt;    WRITE: / '* warning: system language is', SY-LANGU,&lt;/P&gt;&lt;P&gt;             'whereas text language is', XLAN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_STRUCTURES                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PRINT_STRUCTURES USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* displaying selected internal structures for', REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  WRITE: /4 XREL.&lt;/P&gt;&lt;P&gt;  WRITE: /4 XLAN.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /4 XDIR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /4 XOBJ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT XSRC.&lt;/P&gt;&lt;P&gt;      WRITE: /4 XSRC.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT XTXT.&lt;/P&gt;&lt;P&gt;      WRITE: /4 XTXT-ID,&lt;/P&gt;&lt;P&gt;              6 XTXT-KEY,&lt;/P&gt;&lt;P&gt;             20 XTXT-LENGTH,&lt;/P&gt;&lt;P&gt;             24 XTXT-ENTRY.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_FILE                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PRINT_FILE USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* displaying file content for', REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  LOOP AT PACK.&lt;/P&gt;&lt;P&gt;    WRITE: /4 PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Mar 2007 06:04:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-27T06:04:03Z</dc:date>
    <item>
      <title>Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005699#M408786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All ,,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how to read SAP source code from an ABAP program? I would appreciate your prompt response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 05:45:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005699#M408786</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T05:45:57Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005700#M408787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer the link,&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="90787"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Reward points if it is useful.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 05:48:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005700#M408787</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T05:48:55Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005701#M408788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use read report statement...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 05:54:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005701#M408788</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T05:54:02Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005702#M408789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just try this code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
TYPES: BEGIN OF TP_PROGRAM, 
         LINE(72), 
       END OF TP_PROGRAM. 
DATA: PROGRAM_NAME LIKE SY-REPID VALUE 'PROGNAME', 
           IT_PROGRAM TYPE STANDARD TABLE OF TP_PROGRAM WITH 
           NON-UNIQUE DEFAULT KEY INITIAL SIZE 500. 
 
READ REPORT PROGRAM_NAME INTO IT_PROGRAM. 
IF SY-SUBRC &amp;lt;&amp;gt; 0. 
  ... 
ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 05:56:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005702#M408789</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T05:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005703#M408790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this source code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DANGER WARNING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ABSOLUTELY NO WARRANTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USE AT OWN RISK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPYRIGHT DR. MARTIN ROGGE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNAUTHORISED USE PROHIBITED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;REPORT ZPTTMXFI LINE-SIZE 200 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: TRDIR, TADIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: XDIR LIKE TRDIR,&lt;/P&gt;&lt;P&gt;      XOBJ LIKE TADIR,&lt;/P&gt;&lt;P&gt;      XREL LIKE SY-SAPRL,&lt;/P&gt;&lt;P&gt;      XLAN LIKE SY-LANGU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF XSRC OCCURS 10,&lt;/P&gt;&lt;P&gt;        LINE(72),&lt;/P&gt;&lt;P&gt;      END OF XSRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF XTXT OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TEXTPOOL.&lt;/P&gt;&lt;P&gt;DATA: END OF XTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF PACK OCCURS 10,&lt;/P&gt;&lt;P&gt;        KEY(4),&lt;/P&gt;&lt;P&gt;        DATA(152),&lt;/P&gt;&lt;P&gt;      END OF PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF FILENAME,&lt;/P&gt;&lt;P&gt;        PATH(40),&lt;/P&gt;&lt;P&gt;        FILE LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;        SEP(1),&lt;/P&gt;&lt;P&gt;        EXT(3),&lt;/P&gt;&lt;P&gt;      END OF FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: TABIX TYPE I,&lt;/P&gt;&lt;P&gt;      LOCALFILE LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;      IRDIR LIKE TRDIR OCCURS 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 01 WITH FRAME TITLE TEXT-P01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: REPNAM FOR SY-REPID.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 02 WITH FRAME TITLE TEXT-P02.&lt;/P&gt;&lt;P&gt;PARAMETERS: PATH(40) DEFAULT 'C:\SAPGUI\',&lt;/P&gt;&lt;P&gt;            EXT(3)   DEFAULT 'TXT'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 03 WITH FRAME TITLE TEXT-P03.&lt;/P&gt;&lt;P&gt;PARAMETERS: DOWNLD RADIOBUTTON GROUP ACT,&lt;/P&gt;&lt;P&gt;            UPLOAD RADIOBUTTON GROUP ACT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 05 WITH FRAME TITLE TEXT-P05.&lt;/P&gt;&lt;P&gt;PARAMETERS: UPL_ADIR DEFAULT ' ' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_RDIR DEFAULT ' ' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_SRC  DEFAULT 'X' AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            UPL_TXT  DEFAULT 'X' AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 05.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 04 WITH FRAME TITLE TEXT-P04.&lt;/P&gt;&lt;P&gt;PARAMETERS: DISP RADIOBUTTON GROUP SAFE,&lt;/P&gt;&lt;P&gt;            UPDT RADIOBUTTON GROUP SAFE,&lt;/P&gt;&lt;P&gt;            PASSWD LIKE SY-UNAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;safety parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK PASSWD EQ SY-UNAME.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE REPNAM LINES TABIX.&lt;/P&gt;&lt;P&gt;  CHECK TABIX GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF UPLOAD IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT * FROM TRDIR INTO TABLE IRDIR WHERE NAME IN REPNAM.&lt;/P&gt;&lt;P&gt;    LOOP AT IRDIR INTO XDIR.&lt;/P&gt;&lt;P&gt;      PERFORM GET USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      PERFORM PACK.&lt;/P&gt;&lt;P&gt;      IF DISP IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM DOWNLOAD USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_FILE USING XDIR-NAME.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      ULINE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT REPNAM WHERE OPTION EQ 'EQ'.&lt;/P&gt;&lt;P&gt;      PERFORM UPLOAD USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      PERFORM UNPACK.&lt;/P&gt;&lt;P&gt;      PERFORM CHECK_STRUCTURES.&lt;/P&gt;&lt;P&gt;      CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      IF DISP IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM PUT USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_STRUCTURES USING REPNAM-LOW.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      ULINE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  REFRESH XSRC.&lt;/P&gt;&lt;P&gt;  REFRESH XTXT.&lt;/P&gt;&lt;P&gt;  MOVE SY-SAPRL TO XREL.&lt;/P&gt;&lt;P&gt;  MOVE SY-LANGU TO XLAN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move space to xdir.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE SPACE TO XOBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select single * from trdir into xdir where name eq repid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check sy-subrc eq 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE * FROM TADIR INTO XOBJ WHERE PGMID    EQ 'R3TR'&lt;/P&gt;&lt;P&gt;                                         AND OBJECT   EQ 'PROG'&lt;/P&gt;&lt;P&gt;                                         AND OBJ_NAME EQ REPID.&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;  READ REPORT REPID INTO XSRC.&lt;/P&gt;&lt;P&gt;  READ TEXTPOOL REPID INTO XTXT LANGUAGE XLAN.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PUT                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PUT USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    MODIFY TADIR FROM XOBJ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    MODIFY TRDIR FROM XDIR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    INSERT REPORT REPID FROM XSRC STATE 'A'.&lt;/P&gt;&lt;P&gt;    DELETE REPORT REPID STATE 'I'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    INSERT TEXTPOOL REPID FROM XTXT LANGUAGE XLAN STATE 'A'.&lt;/P&gt;&lt;P&gt;    DELETE TEXTPOOL REPID LANGUAGE '*' STATE 'I'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PACK                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PACK.&lt;/P&gt;&lt;P&gt;  REFRESH PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'REL'.&lt;/P&gt;&lt;P&gt;  MOVE XREL TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'LNG'.&lt;/P&gt;&lt;P&gt;  MOVE XLAN TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'DIR'.&lt;/P&gt;&lt;P&gt;  MOVE XDIR TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'OBJ'.&lt;/P&gt;&lt;P&gt;  MOVE XOBJ TO PACK-DATA.&lt;/P&gt;&lt;P&gt;  APPEND PACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR PACK.&lt;/P&gt;&lt;P&gt;  PACK-KEY = 'SRC'.&lt;/P&gt;&lt;P&gt;  LOOP AT XSRC INTO PACK-DATA.&lt;/P&gt;&lt;P&gt;    APPEND PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT XTXT.&lt;/P&gt;&lt;P&gt;    CLEAR PACK.&lt;/P&gt;&lt;P&gt;    PACK-KEY = 'TXT'.&lt;/P&gt;&lt;P&gt;    PACK-DATA+00(001) = XTXT-ID.&lt;/P&gt;&lt;P&gt;    PACK-DATA+01(008) = XTXT-KEY.&lt;/P&gt;&lt;P&gt;    PACK-DATA+10(010) = XTXT-LENGTH.&lt;/P&gt;&lt;P&gt;    PACK-DATA+20(132) = XTXT-ENTRY.&lt;/P&gt;&lt;P&gt;    APPEND PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM UNPACK                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UNPACK.&lt;/P&gt;&lt;P&gt;  REFRESH XSRC.&lt;/P&gt;&lt;P&gt;  REFRESH XTXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move sy-saprl to xrel.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE 'XXX' TO XREL.&lt;/P&gt;&lt;P&gt;  MOVE SY-LANGU TO XLAN.&lt;/P&gt;&lt;P&gt;  MOVE SPACE TO XDIR.&lt;/P&gt;&lt;P&gt;  MOVE SPACE TO XOBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT PACK WHERE KEY EQ 'REL'.&lt;/P&gt;&lt;P&gt;    XREL = PACK-DATA.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT PACK WHERE KEY EQ 'LNG'.&lt;/P&gt;&lt;P&gt;    XLAN = PACK-DATA.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'DIR'.&lt;/P&gt;&lt;P&gt;      XDIR = PACK-DATA.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'OBJ'.&lt;/P&gt;&lt;P&gt;      XOBJ = PACK-DATA.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'SRC'.&lt;/P&gt;&lt;P&gt;      XSRC = PACK-DATA(72).&lt;/P&gt;&lt;P&gt;      APPEND XSRC.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT PACK WHERE KEY EQ 'TXT'.&lt;/P&gt;&lt;P&gt;      CLEAR XTXT.&lt;/P&gt;&lt;P&gt;      XTXT-ID     = PACK-DATA+00(001).&lt;/P&gt;&lt;P&gt;      XTXT-KEY    = PACK-DATA+01(008).&lt;/P&gt;&lt;P&gt;      XTXT-LENGTH = PACK-DATA+10(010).&lt;/P&gt;&lt;P&gt;      XTXT-ENTRY  = PACK-DATA+20(132).&lt;/P&gt;&lt;P&gt;      APPEND XTXT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DOWNLOAD                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-PATH = PATH.&lt;/P&gt;&lt;P&gt;  FILENAME-FILE = REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-SEP  = '.'.&lt;/P&gt;&lt;P&gt;  FILENAME-EXT  = EXT.&lt;/P&gt;&lt;P&gt;  CONDENSE FILENAME NO-GAPS.&lt;/P&gt;&lt;P&gt;  LOCALFILE = FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* downloading', FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME            = LOCALFILE&lt;/P&gt;&lt;P&gt;            FILETYPE            = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB            = PACK&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR     = 1&lt;/P&gt;&lt;P&gt;            FILE_WRITE_ERROR    = 2&lt;/P&gt;&lt;P&gt;            INVALID_FILESIZE    = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;            OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '* download returncode', SY-SUBRC.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM UPLOAD                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPLOAD USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  REFRESH PACK.&lt;/P&gt;&lt;P&gt;  FILENAME-PATH = PATH.&lt;/P&gt;&lt;P&gt;  FILENAME-FILE = REPID.&lt;/P&gt;&lt;P&gt;  FILENAME-SEP  = '.'.&lt;/P&gt;&lt;P&gt;  FILENAME-EXT  = EXT.&lt;/P&gt;&lt;P&gt;  CONDENSE FILENAME NO-GAPS.&lt;/P&gt;&lt;P&gt;  LOCALFILE = FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* uploading', FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME            = LOCALFILE&lt;/P&gt;&lt;P&gt;            FILETYPE            = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB            = PACK&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            CONVERSION_ERROR    = 1&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR     = 2&lt;/P&gt;&lt;P&gt;            FILE_READ_ERROR     = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE        = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH            = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR       = 7&lt;/P&gt;&lt;P&gt;            OTHERS              = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '* upload returncode', SY-SUBRC.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CHECK_STRUCTURES                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CHECK_STRUCTURES.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XDIR EQ SPACE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no report directory entry'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XOBJ EQ SPACE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no object directory'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 2.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE XSRC LINES TABIX.&lt;/P&gt;&lt;P&gt;    IF TABIX LE 0.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no source code'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 3.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE XTXT LINES TABIX.&lt;/P&gt;&lt;P&gt;    IF TABIX LE 0.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: no text elements'.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 4.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF XREL NE SY-SAPRL.&lt;/P&gt;&lt;P&gt;    IF ( UPL_ADIR IS INITIAL ) AND ( UPL_RDIR IS INITIAL ).&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: system release is', SY-SAPRL,&lt;/P&gt;&lt;P&gt;               'whereas source release is', XREL.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: / '* fatal error: system release is', SY-SAPRL,&lt;/P&gt;&lt;P&gt;               'whereas source release is', XREL.&lt;/P&gt;&lt;P&gt;      SY-SUBRC = 8.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF XOBJ-DEVCLASS EQ '$TMP' AND XOBJ-SRCSYSTEM NE SY-SYSID.&lt;/P&gt;&lt;P&gt;      WRITE: / '* info: changing source system to', SY-SYSID.&lt;/P&gt;&lt;P&gt;      XOBJ-SRCSYSTEM = SY-SYSID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF XOBJ-MASTERLANG NE SY-LANGU.&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: changing master language to', SY-LANGU.&lt;/P&gt;&lt;P&gt;      XOBJ-MASTERLANG = SY-LANGU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF XLAN NE SY-LANGU.&lt;/P&gt;&lt;P&gt;      WRITE: / '* warning: changing text language to', SY-LANGU.&lt;/P&gt;&lt;P&gt;      XLAN = SY-LANGU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF XLAN NE SY-LANGU.&lt;/P&gt;&lt;P&gt;    WRITE: / '* warning: system language is', SY-LANGU,&lt;/P&gt;&lt;P&gt;             'whereas text language is', XLAN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_STRUCTURES                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PRINT_STRUCTURES USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* displaying selected internal structures for', REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  WRITE: /4 XREL.&lt;/P&gt;&lt;P&gt;  WRITE: /4 XLAN.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_RDIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /4 XDIR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_ADIR IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /4 XOBJ.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_SRC IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT XSRC.&lt;/P&gt;&lt;P&gt;      WRITE: /4 XSRC.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT UPL_TXT IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT XTXT.&lt;/P&gt;&lt;P&gt;      WRITE: /4 XTXT-ID,&lt;/P&gt;&lt;P&gt;              6 XTXT-KEY,&lt;/P&gt;&lt;P&gt;             20 XTXT-LENGTH,&lt;/P&gt;&lt;P&gt;             24 XTXT-ENTRY.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_FILE                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PRINT_FILE USING REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / '* displaying file content for', REPID.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  LOOP AT PACK.&lt;/P&gt;&lt;P&gt;    WRITE: /4 PACK.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 06:04:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005703#M408790</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T06:04:03Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Source code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005704#M408791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  P_PROG(100) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  ITAB(100) OCCURS 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ REPORT P_PROG INTO ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DOWNLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = 'C:\ASSIGN\PROG.TXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ITEM                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_MASK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_TEXT                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE_NO_CHANGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_ALL                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE_NO_SHOW              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SILENT                        = 'S'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECTMASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACT_FILENAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACT_FILETYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILESIZE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CANCEL                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = ITAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INVALID_FILESIZE              = 1&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 2&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 3&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 4&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 5&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 6&lt;/P&gt;&lt;P&gt;   OTHERS                        = 7&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************&lt;STRONG&gt;Program 2&lt;/STRONG&gt;**********************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  ITAB(1000) OCCURS 1000,&lt;/P&gt;&lt;P&gt;  W_PATH TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF FS_PNAME,&lt;/P&gt;&lt;P&gt;    PROGNAME TYPE REPOSRC-PROGNAME,&lt;/P&gt;&lt;P&gt;  END OF FS_PNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  T_PNAME LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;            OF FS_PNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT PROGNAME&lt;/P&gt;&lt;P&gt;  FROM REPOSRC&lt;/P&gt;&lt;P&gt;  INTO TABLE T_PNAME&lt;/P&gt;&lt;P&gt; WHERE PROGNAME LIKE 'YH645_%'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_PNAME INTO FS_PNAME.&lt;/P&gt;&lt;P&gt;  READ REPORT FS_PNAME INTO ITAB.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'D:\BACKUP\BACKUP\' FS_PNAME '.TXT' INTO W_PATH.&lt;/P&gt;&lt;P&gt;  PERFORM DOWNLOADING.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DOWNLOADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOADING.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      FILENAME                        = W_PATH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE                        = 'ASC'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_FIELD_SEPARATOR           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                          = '00'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_LF                        = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT_MASK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONFIRM_OVERWRITE               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                     = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                     = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_BOM                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS_EOL       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                        = ITAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     FILE_WRITE_ERROR                = 1&lt;/P&gt;&lt;P&gt;     NO_BATCH                        = 2&lt;/P&gt;&lt;P&gt;     GUI_REFUSE_FILETRANSFER         = 3&lt;/P&gt;&lt;P&gt;     INVALID_TYPE                    = 4&lt;/P&gt;&lt;P&gt;     NO_AUTHORITY                    = 5&lt;/P&gt;&lt;P&gt;     UNKNOWN_ERROR                   = 6&lt;/P&gt;&lt;P&gt;     HEADER_NOT_ALLOWED              = 7&lt;/P&gt;&lt;P&gt;     SEPARATOR_NOT_ALLOWED           = 8&lt;/P&gt;&lt;P&gt;     FILESIZE_NOT_ALLOWED            = 9&lt;/P&gt;&lt;P&gt;     HEADER_TOO_LONG                 = 10&lt;/P&gt;&lt;P&gt;     DP_ERROR_CREATE                 = 11&lt;/P&gt;&lt;P&gt;     DP_ERROR_SEND                   = 12&lt;/P&gt;&lt;P&gt;     DP_ERROR_WRITE                  = 13&lt;/P&gt;&lt;P&gt;     UNKNOWN_DP_ERROR                = 14&lt;/P&gt;&lt;P&gt;     ACCESS_DENIED                   = 15&lt;/P&gt;&lt;P&gt;     DP_OUT_OF_MEMORY                = 16&lt;/P&gt;&lt;P&gt;     DISK_FULL                       = 17&lt;/P&gt;&lt;P&gt;     DP_TIMEOUT                      = 18&lt;/P&gt;&lt;P&gt;     FILE_NOT_FOUND                  = 19&lt;/P&gt;&lt;P&gt;     DATAPROVIDER_EXCEPTION          = 20&lt;/P&gt;&lt;P&gt;     CONTROL_FLUSH_ERROR             = 21&lt;/P&gt;&lt;P&gt;     OTHERS                          = 22&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DOWNLOADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;kiran kumar k&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2007 06:05:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-source-code/m-p/2005704#M408791</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-27T06:05:30Z</dc:date>
    </item>
  </channel>
</rss>

