<?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: Download programs... in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540656#M577297</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO you want to download the source code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Check the table TRDIR and give ZXX* and get all the report which are all created by you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in Se38 u download all the report one by one by using &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Utilities&lt;DEL&gt;&amp;gt;More Utilities&lt;/DEL&gt;&amp;gt; DOwnload Option to save to a local file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vasanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jul 2007 08:47:17 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-19T08:47:17Z</dc:date>
    <item>
      <title>Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540654#M577295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where coutomized programs will strore... I want to download all programs which i wrote through a program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first 3 letters of my program names are same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can any only help me...?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good answers will be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;--&lt;/P&gt;&lt;P&gt;Sasidhar Reddy Matli.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:44:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540654#M577295</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:44:43Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540655#M577296</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;Check the table,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRDIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:46:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540655#M577296</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:46:50Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540656#M577297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO you want to download the source code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Check the table TRDIR and give ZXX* and get all the report which are all created by you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in Se38 u download all the report one by one by using &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Utilities&lt;DEL&gt;&amp;gt;More Utilities&lt;/DEL&gt;&amp;gt; DOwnload Option to save to a local file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vasanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:47:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540656#M577297</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:47:17Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540657#M577298</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;You can find your all program names in table TRDIR. Just put your three letter and * you can find all the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;AZAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewad if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:48:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540657#M577298</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:48:21Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540658#M577299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/download-and-upload-your-abap-program.htm" target="test_blank"&gt;http://www.sap-img.com/abap/download-and-upload-your-abap-program.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:48:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540658#M577299</guid>
      <dc:creator>Pawan_Kesari</dc:creator>
      <dc:date>2007-07-19T08:48:46Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540659#M577300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;     Check this program...i think this wil help u.  prog name is RPUDPSM0.&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karthick.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:50:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540659#M577300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540660#M577301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Karthick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't have access to run this program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please tell me some other way which i can download all my programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;--&lt;/P&gt;&lt;P&gt;Sasidhar Reddy Matli.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:57:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540660#M577301</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540661#M577302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  Utilities-&amp;gt;More Utilities-&amp;gt;Upload/Download-&amp;gt;Download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF USEFULL REWARD&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:59:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540661#M577302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540662#M577303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you want to download code of ur programs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Azad.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 09:00:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540662#M577303</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T09:00:39Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540663#M577304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZDOWN_UP_LOAD&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-SIZE  255.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declare Database Objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt; tables:&lt;/P&gt;&lt;P&gt;   DOKIL,&lt;/P&gt;&lt;P&gt;   TRDIR.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; CONSTANTS:&lt;/P&gt;&lt;P&gt;   MC_TRDIR_IDENTIFIER(72)  TYPE C VALUE '%&amp;amp;%&amp;amp; RDIR',&lt;/P&gt;&lt;P&gt;   MC_REPORT_IDENTIFIER(72) TYPE C VALUE '%&amp;amp;%&amp;amp; REPO',&lt;/P&gt;&lt;P&gt;   MC_TEXT_IDENTIFIER(72)   TYPE C VALUE '%&amp;amp;%&amp;amp; TEXP',&lt;/P&gt;&lt;P&gt;   MC_THEAD_IDENTIFIER(72)  TYPE C VALUE '%&amp;amp;%&amp;amp; HEAD',&lt;/P&gt;&lt;P&gt;   MC_DOC_IDENTIFIER(72)    TYPE C VALUE '%&amp;amp;%&amp;amp; DOKL',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   MC_TRDIR_SHORT(4)        TYPE C VALUE 'RDIR',&lt;/P&gt;&lt;P&gt;   MC_REPORT_SHORT(4)       TYPE C VALUE 'REPO',&lt;/P&gt;&lt;P&gt;   MC_TEXT_SHORT(4)         TYPE C VALUE 'TEXP',&lt;/P&gt;&lt;P&gt;   MC_THEAD_SHORT(4)        TYPE C VALUE 'HEAD',&lt;/P&gt;&lt;P&gt;   MC_DOC_SHORT(4)          TYPE C VALUE 'DOKP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declare Module level data structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt; DATA: BEGIN OF MTAB_PROGRAM_SOURCE OCCURS 0,&lt;/P&gt;&lt;P&gt;         LINE(72) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF MTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: MTAB_PROGRAM_TRDIR LIKE TRDIR OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: MTAB_PROGRAM_TEXTS LIKE TEXTPOOL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: MSTR_THEAD LIKE THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: BEGIN OF MTAB_PROGRAM_FILE OCCURS 0,&lt;/P&gt;&lt;P&gt;         LINE(275) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: BEGIN OF MTAB_DIRECTORY OCCURS 0,&lt;/P&gt;&lt;P&gt;         NAME LIKE TRDIR-NAME,&lt;/P&gt;&lt;P&gt;         DESC(72) TYPE C,&lt;/P&gt;&lt;P&gt;         SAVENAME LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;       END OF MTAB_DIRECTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: BEGIN OF MTAB_PROGRAM_DOCUMENTATION OCCURS 0,&lt;/P&gt;&lt;P&gt;         LINE(255) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF MTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Options for upload/download of programs&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK FRM_OPTIONS WITH FRAME TITLE TEXT-UDL.&lt;/P&gt;&lt;P&gt; PARAMETERS:&lt;/P&gt;&lt;P&gt;   RB_DOWN RADIOBUTTON GROUP UDL DEFAULT 'X'.       " Download reports&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK FRM_TRDIR WITH FRAME TITLE TEXT-DIR.&lt;/P&gt;&lt;P&gt; SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;   S_NAME  FOR TRDIR-NAME,              " Program Name&lt;/P&gt;&lt;P&gt;   S_SUBC  FOR TRDIR-SUBC               " Program Type&lt;/P&gt;&lt;P&gt;           DEFAULT 'F' OPTION EQ SIGN E," Exclude Functions by default&lt;/P&gt;&lt;P&gt;   S_CNAM  FOR TRDIR-CNAM               " Created by&lt;/P&gt;&lt;P&gt;           DEFAULT SY-UNAME,&lt;/P&gt;&lt;P&gt;   S_UNAM  FOR TRDIR-UNAM,              " Last Changed by&lt;/P&gt;&lt;P&gt;   S_CDAT  FOR TRDIR-CDAT,              " Creation date&lt;/P&gt;&lt;P&gt;   S_UDAT  FOR TRDIR-UDAT.              " Last update date&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK FRM_TRDIR.&lt;/P&gt;&lt;P&gt;*-- Options for uploading programs&lt;/P&gt;&lt;P&gt; PARAMETERS:&lt;/P&gt;&lt;P&gt;   RB_UP   RADIOBUTTON GROUP UDL.       " Upload reports&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK FRM_UPLOAD WITH FRAME TITLE TEXT-UPL.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN COMMENT 1(29) TEXT-SNG.&lt;/P&gt;&lt;P&gt; PARAMETERS:&lt;/P&gt;&lt;P&gt;   RB_FILE RADIOBUTTON GROUP HOW DEFAULT 'X'.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN COMMENT 33(42) TEXT-FNA.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt; PARAMETERS:&lt;/P&gt;&lt;P&gt;   RB_LIST RADIOBUTTON GROUP HOW.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK FRM_UPLOAD.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK FRM_OPTIONS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Options for up/downloading programs&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK FRM_FILEN WITH FRAME TITLE TEXT-FIL.&lt;/P&gt;&lt;P&gt; PARAMETERS:&lt;/P&gt;&lt;P&gt;   RB_DOS  RADIOBUTTON GROUP FIL DEFAULT 'X', " Save to local&lt;/P&gt;&lt;P&gt;   RB_UNIX RADIOBUTTON GROUP FIL,       " Save to UNIX&lt;/P&gt;&lt;P&gt;   P_PATH  LIKE RLGRAP-FILENAME         " Path to save files to&lt;/P&gt;&lt;P&gt;         DEFAULT 'c:\abap\'.&lt;/P&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK FRM_FILEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-LOW.&lt;/P&gt;&lt;P&gt;   CALL FUNCTION 'F4_PROGRAM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             OBJECT             = S_NAME-LOW&lt;/P&gt;&lt;P&gt;             SUPPRESS_SELECTION = 'X'&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             RESULT             = S_NAME-LOW&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;             OTHERS             = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-HIGH.&lt;/P&gt;&lt;P&gt;   CALL FUNCTION 'F4_PROGRAM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             OBJECT             = S_NAME-HIGH&lt;/P&gt;&lt;P&gt;             SUPPRESS_SELECTION = 'X'&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             RESULT             = S_NAME-HIGH&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;             OTHERS             = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-LOW.&lt;/P&gt;&lt;P&gt;   PERFORM GET_NAME USING 'S_UNAM-LOW'&lt;/P&gt;&lt;P&gt;                 CHANGING S_UNAM-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-HIGH.&lt;/P&gt;&lt;P&gt;   PERFORM GET_NAME USING 'S_UNAM-HIGH'&lt;/P&gt;&lt;P&gt;                 CHANGING S_UNAM-HIGH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-LOW.&lt;/P&gt;&lt;P&gt;   PERFORM GET_NAME USING 'S_CNAM-LOW'&lt;/P&gt;&lt;P&gt;                 CHANGING S_CNAM-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-HIGH.&lt;/P&gt;&lt;P&gt;   PERFORM GET_NAME USING 'S_CNAM-HIGH'&lt;/P&gt;&lt;P&gt;                 CHANGING S_CNAM-HIGH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;   IF RB_LIST = 'X'.&lt;/P&gt;&lt;P&gt;     FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     NEW-LINE.&lt;/P&gt;&lt;P&gt;     WRITE: AT 3 TEXT-H01,&lt;/P&gt;&lt;P&gt;            AT 15 TEXT-H03.&lt;/P&gt;&lt;P&gt;     FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;   CHECK RB_LIST = 'X'.                 " only do in list mode&lt;/P&gt;&lt;P&gt;   READ LINE SY-CUROW FIELD VALUE MTAB_DIRECTORY-SAVENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Read file into an internal table&lt;/P&gt;&lt;P&gt;   PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                 USING  MTAB_DIRECTORY-SAVENAME.&lt;/P&gt;&lt;P&gt;*-- Split table into TADIR entry, report lines, and report text&lt;/P&gt;&lt;P&gt;   PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                      MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                      MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                      MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                             CHANGING TRDIR&lt;/P&gt;&lt;P&gt;                                      MSTR_THEAD.&lt;/P&gt;&lt;P&gt;*-- Save all of the data&lt;/P&gt;&lt;P&gt;   PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                    MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                    MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                             USING  TRDIR&lt;/P&gt;&lt;P&gt;                                    MSTR_THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt; START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;   FORMAT COLOR COL_NORMAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF RB_DOWN = 'X'.&lt;/P&gt;&lt;P&gt;     PERFORM DOWNLOAD_REPORTS.&lt;/P&gt;&lt;P&gt;   ELSEIF RB_UP = 'X'.&lt;/P&gt;&lt;P&gt;     PERFORM UPLOAD_REPORTS.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF RB_DOWN = 'X'.&lt;/P&gt;&lt;P&gt;     CONCATENATE P_PATH&lt;/P&gt;&lt;P&gt;                 'directory.txt'&lt;/P&gt;&lt;P&gt;       INTO P_PATH.&lt;/P&gt;&lt;P&gt;     PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_DIRECTORY&lt;/P&gt;&lt;P&gt;                                USING  P_PATH.&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 UPLOAD_REPORTS                                           *&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_REPORTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Can upload a reports entered in selection criteria or&lt;/P&gt;&lt;P&gt;*-- select from a list.  List can be from index.txt in same directory&lt;/P&gt;&lt;P&gt;*-- (created by the download) or by reading the first line of each file&lt;/P&gt;&lt;P&gt;*-- in the directory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF RB_FILE = 'X'. " Upload single program from a file&lt;/P&gt;&lt;P&gt;*-- Read file into an internal table&lt;/P&gt;&lt;P&gt;     PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                   USING  P_PATH.&lt;/P&gt;&lt;P&gt;*-- Split table into TADIR entry, report lines, and report text&lt;/P&gt;&lt;P&gt;     PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                        MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                        MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                        MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                               CHANGING TRDIR&lt;/P&gt;&lt;P&gt;                                        MSTR_THEAD.&lt;/P&gt;&lt;P&gt;*-- Save all of the data&lt;/P&gt;&lt;P&gt;     PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                      MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                      MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                               USING  TRDIR&lt;/P&gt;&lt;P&gt;                                      MSTR_THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ELSEIF RB_LIST = 'X'. " Show list for user to choose from&lt;/P&gt;&lt;P&gt;*-- get list of report names/descriptions from directory text&lt;/P&gt;&lt;P&gt;     CONCATENATE P_PATH&lt;/P&gt;&lt;P&gt;                 'directory.txt'&lt;/P&gt;&lt;P&gt;     INTO P_PATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM READ_REPORT_FROM_DISK TABLES MTAB_DIRECTORY&lt;/P&gt;&lt;P&gt;                                   USING  P_PATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     SORT MTAB_DIRECTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Write out list of report names/descriptions&lt;/P&gt;&lt;P&gt;     LOOP AT MTAB_DIRECTORY.&lt;/P&gt;&lt;P&gt;       WRITE:&lt;/P&gt;&lt;P&gt;         / MTAB_DIRECTORY-NAME UNDER TEXT-H01,&lt;/P&gt;&lt;P&gt;           MTAB_DIRECTORY-DESC UNDER TEXT-H03,&lt;/P&gt;&lt;P&gt;           MTAB_DIRECTORY-SAVENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;*-- Process user selections for reports to upload.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDFORM.                               " upload_reports&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_REPORTS                                         *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      From the user selections, get all programs that meet the      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      criteria, and save them in ftab_program_directory.            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Also save the report to disk.                                 *&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_REPORTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA:&lt;/P&gt;&lt;P&gt;     LC_FULL_FILENAME LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- The table is put into an internal table because the program will&lt;/P&gt;&lt;P&gt;*-- abend if multiple transfers to a dataset occur within a SELECT/&lt;/P&gt;&lt;P&gt;*-- ENDSELCT (tested on 3.1H)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECT * FROM  TRDIR&lt;/P&gt;&lt;P&gt;          INTO TABLE MTAB_PROGRAM_TRDIR&lt;/P&gt;&lt;P&gt;          WHERE  NAME  IN S_NAME&lt;/P&gt;&lt;P&gt;          AND    SUBC  IN S_SUBC&lt;/P&gt;&lt;P&gt;          AND    CNAM  IN S_CNAM&lt;/P&gt;&lt;P&gt;          AND    UNAM  IN S_UNAM&lt;/P&gt;&lt;P&gt;          AND    CDAT  IN S_CDAT&lt;/P&gt;&lt;P&gt;          AND    UDAT  IN S_UDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT MTAB_PROGRAM_TRDIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Clear out text and source code tables&lt;/P&gt;&lt;P&gt;     CLEAR:&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_FILE,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_SOURCE,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_TEXTS,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     REFRESH:&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_FILE,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_SOURCE,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_TEXTS,&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the report&lt;/P&gt;&lt;P&gt;     READ REPORT MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the text for the report&lt;/P&gt;&lt;P&gt;     READ TEXTPOOL MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_TEXTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the documentation for the report&lt;/P&gt;&lt;P&gt;     CLEAR DOKIL.&lt;/P&gt;&lt;P&gt;     SELECT * UP TO 1 ROWS FROM DOKIL&lt;/P&gt;&lt;P&gt;            WHERE  ID          = 'RE'&lt;/P&gt;&lt;P&gt;            AND    OBJECT      = MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;            AND    LANGU       = SY-LANGU&lt;/P&gt;&lt;P&gt;            AND    TYP         = 'E'&lt;/P&gt;&lt;P&gt;            ORDER BY VERSION DESCENDING.&lt;/P&gt;&lt;P&gt;     ENDSELECT.&lt;/P&gt;&lt;P&gt;*-- Documentation exists for this object&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'DOCU_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;                 ID      = DOKIL-ID&lt;/P&gt;&lt;P&gt;                 LANGU   = DOKIL-LANGU&lt;/P&gt;&lt;P&gt;                 OBJECT  = DOKIL-OBJECT&lt;/P&gt;&lt;P&gt;                 TYP     = DOKIL-TYP&lt;/P&gt;&lt;P&gt;                 VERSION = DOKIL-VERSION&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;                 HEAD    = MSTR_THEAD&lt;/P&gt;&lt;P&gt;            TABLES&lt;/P&gt;&lt;P&gt;                 LINE    = MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;                 OTHERS  = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the report code and texts into a single file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the identifier line in so that the start of the TRDIR line&lt;/P&gt;&lt;P&gt;*-- is marked&lt;/P&gt;&lt;P&gt;     CONCATENATE MC_TRDIR_IDENTIFIER&lt;/P&gt;&lt;P&gt;     MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;     INTO MTAB_PROGRAM_FILE-LINE.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Add the TRDIR line&lt;/P&gt;&lt;P&gt;     MTAB_PROGRAM_FILE-LINE = MTAB_PROGRAM_TRDIR.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the identifier line in so that the start of the report code&lt;/P&gt;&lt;P&gt;*-- is marked&lt;/P&gt;&lt;P&gt;     CONCATENATE MC_REPORT_IDENTIFIER&lt;/P&gt;&lt;P&gt;                 MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;       INTO MTAB_PROGRAM_FILE-LINE.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Add the report code&lt;/P&gt;&lt;P&gt;     LOOP AT MTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_FILE = MTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;       APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the identifier line in so that the start of the report text&lt;/P&gt;&lt;P&gt;*-- is marked&lt;/P&gt;&lt;P&gt;     CONCATENATE MC_TEXT_IDENTIFIER&lt;/P&gt;&lt;P&gt;                 MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;       INTO MTAB_PROGRAM_FILE-LINE.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Add the report texts&lt;/P&gt;&lt;P&gt;     LOOP AT MTAB_PROGRAM_TEXTS.&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_FILE = MTAB_PROGRAM_TEXTS.&lt;/P&gt;&lt;P&gt;       APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the identifier line in so that the start of the THEAD record&lt;/P&gt;&lt;P&gt;*-- is marked&lt;/P&gt;&lt;P&gt;     CONCATENATE MC_THEAD_IDENTIFIER&lt;/P&gt;&lt;P&gt;                 MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;       INTO MTAB_PROGRAM_FILE-LINE.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     MTAB_PROGRAM_FILE = MSTR_THEAD.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Put the identifier line in so that the start of the report&lt;/P&gt;&lt;P&gt;*-- documentation is marked&lt;/P&gt;&lt;P&gt;     CONCATENATE MC_DOC_IDENTIFIER&lt;/P&gt;&lt;P&gt;                 MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;       INTO MTAB_PROGRAM_FILE-LINE.&lt;/P&gt;&lt;P&gt;     APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Add the report documentation&lt;/P&gt;&lt;P&gt;     LOOP AT MTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;       MTAB_PROGRAM_FILE = MTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;       APPEND MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Make the fully pathed filename that report will be saved to&lt;/P&gt;&lt;P&gt;     CONCATENATE P_PATH&lt;/P&gt;&lt;P&gt;                 MTAB_PROGRAM_TRDIR-NAME&lt;/P&gt;&lt;P&gt;                 '.txt'&lt;/P&gt;&lt;P&gt;       INTO LC_FULL_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                USING  LC_FULL_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Write out message with Program Name/Description&lt;/P&gt;&lt;P&gt;     READ TABLE MTAB_PROGRAM_TEXTS WITH KEY ID = 'R'.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-DESC = MTAB_PROGRAM_TEXTS-ENTRY.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.&lt;/P&gt;&lt;P&gt;       APPEND MTAB_DIRECTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WRITE: / MTAB_PROGRAM_TRDIR-NAME,&lt;/P&gt;&lt;P&gt;                MTAB_PROGRAM_TEXTS-ENTRY(65) COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-DESC = 'No description available'.&lt;/P&gt;&lt;P&gt;       MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.&lt;/P&gt;&lt;P&gt;       APPEND MTAB_DIRECTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WRITE: / MTAB_PROGRAM_TRDIR-NAME.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt; ENDFORM.                               " BUILD_PROGRAM_DIRECTORY&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 SAVE_TABLE_TO_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_TABLE                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  F_FILENAME                                                    *&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 SAVE_TABLE_TO_FILE TABLES FTAB_TABLE&lt;/P&gt;&lt;P&gt;                         USING  F_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF RB_DOS = 'X'.                  " Save file to presentation server&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;               FILENAME = F_FILENAME&lt;/P&gt;&lt;P&gt;               FILETYPE = 'ASC'&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;               DATA_TAB = FTAB_TABLE&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;               OTHERS   = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;       WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;                F_FILENAME COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ELSE.                                " Save file to application serve&lt;/P&gt;&lt;P&gt;     OPEN DATASET F_FILENAME FOR OUTPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;       LOOP AT FTAB_TABLE.&lt;/P&gt;&lt;P&gt;         TRANSFER FTAB_TABLE TO F_FILENAME.&lt;/P&gt;&lt;P&gt;         IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;           WRITE: / 'Error writing record to file;' COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;                    F_FILENAME COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;P&gt;       ENDLOOP.&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;       WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;                F_FILENAME COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ENDIF.                               " End RB_DOS&lt;/P&gt;&lt;P&gt; ENDFORM.                               " SAVE_PROGRAM&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 READ_REPORT_FROM_DISK                                    *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read report into internal table.  Can read from local or      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      remote computer                                               *&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 READ_REPORT_FROM_DISK TABLES FTAB_TABLE&lt;/P&gt;&lt;P&gt;                            USING  F_FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA:&lt;/P&gt;&lt;P&gt;      LC_MESSAGE(128) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR   FTAB_TABLE.&lt;/P&gt;&lt;P&gt;   REFRESH FTAB_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF RB_DOS = 'X'.&lt;/P&gt;&lt;P&gt;     TRANSLATE F_FILENAME USING '/\'.   " correct slash for Dos PC file&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;               FILENAME            = F_FILENAME&lt;/P&gt;&lt;P&gt;               FILETYPE            = 'ASC'&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;               DATA_TAB            = FTAB_TABLE&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;     IF SY-SUBRC &amp;gt;&amp;lt; 0.&lt;/P&gt;&lt;P&gt;       WRITE: / 'Error reading file from local PC' COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ELSEIF RB_UNIX = 'X'.&lt;/P&gt;&lt;P&gt;     TRANSLATE F_FILENAME USING '\/'.   " correct slash for unix&lt;/P&gt;&lt;P&gt;     OPEN DATASET F_FILENAME FOR INPUT MESSAGE LC_MESSAGE IN TEXT MODE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;       DO.&lt;/P&gt;&lt;P&gt;         READ DATASET F_FILENAME INTO FTAB_TABLE.&lt;/P&gt;&lt;P&gt;         IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;           APPEND FTAB_TABLE.&lt;/P&gt;&lt;P&gt;         ELSE.&lt;/P&gt;&lt;P&gt;           EXIT.&lt;/P&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;P&gt;       ENDDO.&lt;/P&gt;&lt;P&gt;       CLOSE DATASET F_FILENAME.&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;       WRITE: / 'Error reading file from remote computer'&lt;/P&gt;&lt;P&gt;                       COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;              / LC_MESSAGE,&lt;/P&gt;&lt;P&gt;              / F_FILENAME.&lt;/P&gt;&lt;P&gt;       SY-SUBRC = 4.&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;&lt;/P&gt;&lt;P&gt; ENDFORM.                               " READ_REPORT_FROM_DISK&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 SPLIT_INCOMING_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_PROGRAM_FILE                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_PROGRAM_SOURCE                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  `                                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_PROGRAM_TEXTS                                            *&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 SPLIT_INCOMING_FILE TABLES FTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                      STRUCTURE MTAB_PROGRAM_FILE&lt;/P&gt;&lt;P&gt;                                 FTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                      STRUCTURE MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                 FTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                      STRUCTURE MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                 FTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                                   STRUCTURE MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                        CHANGING FSTR_TRDIR&lt;/P&gt;&lt;P&gt;                                 FSTR_THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA:&lt;/P&gt;&lt;P&gt;     LC_DATATYPE(4) TYPE C,             " Type of data, REPO, TEXP, RDIR&lt;/P&gt;&lt;P&gt;     LC_PROGRAM_FILE LIKE MTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;     LC_PROGRAM_FILE = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;     CASE LC_PROGRAM_FILE(9).&lt;/P&gt;&lt;P&gt;       WHEN MC_TRDIR_IDENTIFIER.&lt;/P&gt;&lt;P&gt;         LC_DATATYPE = MC_TRDIR_SHORT.&lt;/P&gt;&lt;P&gt;       WHEN MC_REPORT_IDENTIFIER.&lt;/P&gt;&lt;P&gt;         LC_DATATYPE = MC_REPORT_SHORT.&lt;/P&gt;&lt;P&gt;       WHEN MC_TEXT_IDENTIFIER.&lt;/P&gt;&lt;P&gt;         LC_DATATYPE = MC_TEXT_SHORT.&lt;/P&gt;&lt;P&gt;       WHEN MC_DOC_IDENTIFIER.&lt;/P&gt;&lt;P&gt;         LC_DATATYPE = MC_DOC_SHORT.&lt;/P&gt;&lt;P&gt;       WHEN MC_THEAD_IDENTIFIER.&lt;/P&gt;&lt;P&gt;         LC_DATATYPE = MC_THEAD_SHORT.&lt;/P&gt;&lt;P&gt;       WHEN OTHERS. " Actual contents of report, trdir, or text&lt;/P&gt;&lt;P&gt;         CASE LC_DATATYPE.&lt;/P&gt;&lt;P&gt;           WHEN MC_TRDIR_SHORT.&lt;/P&gt;&lt;P&gt;             FSTR_TRDIR = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;           WHEN MC_REPORT_SHORT.&lt;/P&gt;&lt;P&gt;             FTAB_PROGRAM_SOURCE = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;             APPEND FTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;           WHEN MC_TEXT_SHORT.&lt;/P&gt;&lt;P&gt;             FTAB_PROGRAM_TEXTS = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;             APPEND FTAB_PROGRAM_TEXTS.&lt;/P&gt;&lt;P&gt;           WHEN MC_THEAD_SHORT.&lt;/P&gt;&lt;P&gt;             FSTR_THEAD = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;           WHEN MC_DOC_SHORT.&lt;/P&gt;&lt;P&gt;             FTAB_PROGRAM_DOCUMENTATION = FTAB_PROGRAM_FILE.&lt;/P&gt;&lt;P&gt;             APPEND FTAB_PROGRAM_DOCUMENTATION.&lt;/P&gt;&lt;P&gt;         ENDCASE.&lt;/P&gt;&lt;P&gt;     ENDCASE.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt; ENDFORM.                               " SPLIT_INCOMING_FILE&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 INSERT_NEW_REPORT                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_PROGRAM_SOURCE                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  FTAB_PROGRAM_TEXTS                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  F_TRDIR                                                       *&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 INSERT_NEW_REPORT TABLES FTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                                   STRUCTURE MTAB_PROGRAM_SOURCE&lt;/P&gt;&lt;P&gt;                               FTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                                    STRUCTURE MTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;                               FTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                                    STRUCTURE MTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;                        USING  FSTR_TRDIR LIKE TRDIR&lt;/P&gt;&lt;P&gt;                               FSTR_THEAD LIKE MSTR_THEAD.&lt;/P&gt;&lt;P&gt;   DATA:&lt;/P&gt;&lt;P&gt;     LC_OBJ_NAME LIKE E071-OBJ_NAME,&lt;/P&gt;&lt;P&gt;     LC_LINE2(40)     TYPE C,&lt;/P&gt;&lt;P&gt;     LC_ANSWER(1)     TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- read trdir to see if the report already exists, if it does, prompt&lt;/P&gt;&lt;P&gt;*-- user to overwrite or abort.&lt;/P&gt;&lt;P&gt;   SELECT SINGLE * FROM TRDIR WHERE NAME = FSTR_TRDIR-NAME.&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC = 0.                     " Already exists&lt;/P&gt;&lt;P&gt;     CONCATENATE 'want to overwrite report'&lt;/P&gt;&lt;P&gt;                 FSTR_TRDIR-NAME&lt;/P&gt;&lt;P&gt;       INTO LC_LINE2 SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CONCATENATE LC_LINE2&lt;/P&gt;&lt;P&gt;                 '?'&lt;/P&gt;&lt;P&gt;       INTO LC_LINE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;              DEFAULTOPTION  = 'N'&lt;/P&gt;&lt;P&gt;              TEXTLINE1   = 'The selected report already exists, do you'&lt;/P&gt;&lt;P&gt;              TEXTLINE2      = LC_LINE2&lt;/P&gt;&lt;P&gt;              TITEL          = 'Report already exists'&lt;/P&gt;&lt;P&gt;              CANCEL_DISPLAY = SPACE&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;               ANSWER         = LC_ANSWER&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;               OTHERS         = 1.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;     LC_ANSWER = 'J'.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF LC_ANSWER = 'J'.&lt;/P&gt;&lt;P&gt;*-- Create the TADIR entry.  (TRDIR entry created by INSERT REPORT)&lt;/P&gt;&lt;P&gt;     LC_OBJ_NAME = TRDIR-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'TR_TADIR_POPUP_ENTRY_E071'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;               WI_E071_PGMID     = 'R3TR'&lt;/P&gt;&lt;P&gt;               WI_E071_OBJECT    = 'PROG'&lt;/P&gt;&lt;P&gt;               WI_E071_OBJ_NAME  = LC_OBJ_NAME&lt;/P&gt;&lt;P&gt;               WI_TADIR_DEVCLASS = '$TMP'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;               EXIT              = 3&lt;/P&gt;&lt;P&gt;               OTHERS            = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*-- Create Report&lt;/P&gt;&lt;P&gt;       INSERT REPORT FSTR_TRDIR-NAME FROM FTAB_PROGRAM_SOURCE.&lt;/P&gt;&lt;P&gt;*-- Create Texts&lt;/P&gt;&lt;P&gt;       INSERT TEXTPOOL FSTR_TRDIR-NAME FROM FTAB_PROGRAM_TEXTS&lt;/P&gt;&lt;P&gt;              LANGUAGE SY-LANGU.&lt;/P&gt;&lt;P&gt;*-- Save Documentation&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'DOCU_UPDATE'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;                 HEAD    = FSTR_THEAD&lt;/P&gt;&lt;P&gt;                 STATE   = 'A'&lt;/P&gt;&lt;P&gt;                 TYP     = 'E'&lt;/P&gt;&lt;P&gt;                 VERSION = '1'&lt;/P&gt;&lt;P&gt;            TABLES&lt;/P&gt;&lt;P&gt;                 LINE    = FTAB_PROGRAM_DOCUMENTATION&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;                 OTHERS  = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;       WRITE: / 'Error updating the TADIR entry' COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;                'Program' COLOR COL_NEGATIVE INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;                FSTR_TRDIR-NAME, 'was not loaded into SAP.'&lt;/P&gt;&lt;P&gt;                   COLOR COL_NEGATIVE INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;     WRITE: / FSTR_TRDIR-NAME COLOR COL_NEGATIVE,&lt;/P&gt;&lt;P&gt;              'was not uploaded into SAP.  Action cancelled by user'&lt;/P&gt;&lt;P&gt;                  COLOR COL_NEGATIVE INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt; ENDFORM.                               " INSERT_NEW_REPORT&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_NAME                                                 *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(F_FIELD)                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  F_NAME                                                        *&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_NAME USING VALUE(F_FIELD)&lt;/P&gt;&lt;P&gt;            CHANGING F_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: LTAB_FIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;         LC_PROG LIKE D020S-PROG,&lt;/P&gt;&lt;P&gt;         LC_DNUM LIKE D020S-DNUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   TRANSLATE F_FIELD TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   refresh ltab_fields.&lt;/P&gt;&lt;P&gt;   LTAB_FIELDS-FIELDNAME = F_FIELD.&lt;/P&gt;&lt;P&gt;   append ltab_fields.&lt;/P&gt;&lt;P&gt;   LC_PROG =  SY-REPID .&lt;/P&gt;&lt;P&gt;   LC_DNUM =  SY-DYNNR .&lt;/P&gt;&lt;P&gt;   CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             DYNAME     = LC_PROG&lt;/P&gt;&lt;P&gt;             DYNUMB     = LC_DNUM&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;             dynpfields = ltab_fields&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;             OTHERS     = 01.&lt;/P&gt;&lt;P&gt;   read table ltab_fields index 1.&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;     F_NAME = LTAB_FIELDS-FIELDVALUE.&lt;/P&gt;&lt;P&gt;     refresh ltab_fields.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CALL FUNCTION 'F4_USER'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             OBJECT = F_NAME&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             RESULT = F_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDFORM.                               " GET_NAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TEXPZKBPROGS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IDIR     File Download Options (File Selection)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IFIL     File Options&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IFNA     Enter filename below (under File Options)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IH01     Prog Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IH03     Program Description&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ISNG     Upload a single file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IUDL     Upload to SAP/Download from SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IUPL     File Upload Options&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;R        Backup/Restore program source code with texts&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_PATH          Path to save programs to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_DOS          Files on local computer&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_DOWN         Download Programs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_FILE         Upload a single file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_LIST         Select program(s) from a list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_UNIX         Files on remote computer&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RB_UP           Upload Programs to SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_CDAT           Date Created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_CNAM          Created by UserID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_NAME          Program Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_SUBC          Program Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_UDAT          Date Changed&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S_UNAM          Last Changed by UserID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*HEADZKBPROGS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DOKU      ZHRBDC54&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*DOKLZKBPROGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- End of Program &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;srinivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*&lt;STRONG&gt;reward for useful answers&lt;/STRONG&gt;*&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 09:17:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540663#M577304</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T09:17:21Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540664#M577305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you can use &amp;lt;b&amp;gt;program  REPTRAN&amp;lt;/b&amp;gt;  to download the source code of your programs&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 09:20:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540664#M577305</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T09:20:12Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540665#M577306</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;try this example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: TRDIR.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:   S_REPID FOR TRDIR-NAME default 'Z*' option CP sign I.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;         TEXT(255),&lt;/P&gt;&lt;P&gt;      END   OF ITAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: FILENAME TYPE STRING,&lt;/P&gt;&lt;P&gt;      LINE     TYPE RSTXP-TDFIRST.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: ITRDIR TYPE TABLE OF TRDIR WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECT * FROM TRDIR INTO TABLE ITRDIR WHERE NAME IN S_REPID.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;LOOP AT ITRDIR.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR: ITAB. REFRESH: ITAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  READ REPORT ITRDIR-NAME INTO ITAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONCATENATE 'C:\' ITRDIR-NAME '.aba' INTO FILENAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Datei downloaden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;GUI_DOWNLOAD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME = FILENAME&lt;/P&gt;&lt;P&gt;      FILETYPE = 'ASC'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      DATA_TAB = ITAB[].&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Dieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 09:34:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540665#M577306</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T09:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: Download programs...</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540666#M577307</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;I hope u can find it in se80 transaction either through package name or u can use se81 and put first 3 letters of ur program in the component name and then *.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The best way is to go to se38 and put first 3 letters of ur program followed with * i.e; zcus* for zcus1,zcus2,zcus3,....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls do reward points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ameet&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 09:38:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/download-programs/m-p/2540666#M577307</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T09:38:37Z</dc:date>
    </item>
  </channel>
</rss>

