<?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: downloading programs in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405468#M817817</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;Use Standard Report "REPTRAN". &lt;/P&gt;&lt;P&gt;It will be very useful. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps. &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;SureshP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 18, 2008 12:24 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 18 Feb 2008 13:53:57 GMT</pubDate>
    <dc:creator>former_member60316</dc:creator>
    <dc:date>2008-02-18T13:53:57Z</dc:date>
    <item>
      <title>downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405463#M817812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How can we download our programs from ABAP R/3 ? is there any way we can download all of our programs from a package all at a time?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:36:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405463#M817812</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T13:36:31Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405464#M817813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;there is a option called save to local disk  in tool bar...by selecting that u can save u r programs .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:40:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405464#M817813</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T13:40:45Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405465#M817814</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;First check in tadir that the given package is valid&lt;/P&gt;&lt;P&gt;SELECT SINGLE devclass FROM tadir INTO ws_devclass WHERE devclass = p_devcls.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select all the records from TADIR table where OBJECT = 'FUGR' and PGMID = 'R3TR '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this way u can get all the FUnction group for that package.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For getting the function module under the function module use the FM RS_FUNCTION_POOL_CONTENTS to get all the function module under the Function group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Usign the table tfdir get the program name of the Function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the FM 'GET_INCLUDETAB' get all the includes &lt;/P&gt;&lt;P&gt;for that PRogram name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at the internal table which you got from the function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the READ REPORT prog INTO itab. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Download the contents to the place where you want.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;theja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:42:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405465#M817814</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T13:42:57Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405466#M817815</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;This is what you wanted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT ZV_DOWNLOAD_PROGRAM .
*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Report ZDOWNLOADSY *
*

*&amp;amp;---------------------------------------------------------------------*

*&amp;amp; Author : Gowrishankar
*

*&amp;amp; Descripton : The main aim of this program is used to download *

*&amp;amp; all the programs come under one particular package. *

*&amp;amp;---------------------------------------------------------------------*
*REPORT ZDOWNLOADSY.
*table decleration
TABLES : TADIR.
*data decleration
TYPES: ABAPLINE(255).

DATA: I_REPSRC TYPE STANDARD TABLE OF ABAPLINE WITH HEADER LINE.

DATA: BEGIN OF ITAB OCCURS 0,

PGMID TYPE TADIR-PGMID,

OBJECT TYPE TADIR-OBJECT,

OBJ_NAME TYPE TADIR-OBJ_NAME,

DEVCLASS TYPE TADIR-DEVCLASS,

END OF ITAB.

DATA: PROG(60) .

DATA : MC_FILENAME LIKE RLGRAP-FILENAME.

DATA : FILENAME TYPE STRING.

PARAMETERS: P_DEV TYPE TADIR-DEVCLASS.
*select statement.
SELECT PGMID OBJECT OBJ_NAME DEVCLASS FROM TADIR INTO TABLE ITAB

WHERE PGMID = 'R3TR' AND

OBJECT = 'PROG' AND

DEVCLASS = P_DEV.

LOOP AT ITAB.

  PROG = ITAB-OBJ_NAME.

  READ REPORT PROG INTO I_REPSRC.

  CONCATENATE 'C:\temp\'

  PROG

  '.txt'

  INTO MC_FILENAME.

  FILENAME = MC_FILENAME.
*function module for download files into local system
  CALL FUNCTION 'GUI_DOWNLOAD'

  EXPORTING

* BIN_FILESIZE =

  FILENAME = FILENAME

* FILETYPE = 'ASC'

* APPEND = ' '

* WRITE_FIELD_SEPARATOR = ' '

* HEADER = '00'

* TRUNC_TRAILING_BLANKS = ' '

* WRITE_LF = 'X'

* COL_SELECT = ' '

* COL_SELECT_MASK = ' '

* DAT_MODE = ' '

* CONFIRM_OVERWRITE = ' '

* NO_AUTH_CHECK = ' '

* CODEPAGE = ' '

* IGNORE_CERR = ABAP_TRUE

* REPLACEMENT = '#'

* WRITE_BOM = ' '

* IMPORTING

* FILELENGTH =

  TABLES

  DATA_TAB = I_REPSRC

  EXCEPTIONS

  FILE_WRITE_ERROR = 1

  NO_BATCH = 2

  GUI_REFUSE_FILETRANSFER = 3

  INVALID_TYPE = 4

  NO_AUTHORITY = 5

  UNKNOWN_ERROR = 6

  HEADER_NOT_ALLOWED = 7

  SEPARATOR_NOT_ALLOWED = 8

  FILESIZE_NOT_ALLOWED = 9

  HEADER_TOO_LONG = 10

  DP_ERROR_CREATE = 11

  DP_ERROR_SEND = 12

  DP_ERROR_WRITE = 13

  UNKNOWN_DP_ERROR = 14

  ACCESS_DENIED = 15

  DP_OUT_OF_MEMORY = 16

  DISK_FULL = 17

  DP_TIMEOUT = 18

  FILE_NOT_FOUND = 19

  DATAPROVIDER_EXCEPTION = 20

  CONTROL_FLUSH_ERROR = 21

  OTHERS = 22

  .

  IF SY-SUBRC &amp;lt;&amp;gt; 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

  CLEAR PROG.

  CLEAR I_REPSRC.

ENDLOOP.

MESSAGE S001(00) WITH 'Check your folder for the Programs downloaded'.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:44:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405466#M817815</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T13:44:39Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405467#M817816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i dont think there is any procedure to download all the report form sap r/3 to any excel sheet, you have to search the report as per your requment wise and you can save them one by one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:48:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405467#M817816</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T13:48:23Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405468#M817817</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;Use Standard Report "REPTRAN". &lt;/P&gt;&lt;P&gt;It will be very useful. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps. &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;SureshP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Feb 18, 2008 12:24 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 13:53:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405468#M817817</guid>
      <dc:creator>former_member60316</dc:creator>
      <dc:date>2008-02-18T13:53:57Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405469#M817818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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; Report  Z10_SE38_DOWNLOAD                                           *&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Name :Z10_SE38_DOWNLOAD&lt;/P&gt;&lt;P&gt;*&amp;amp; Purpose      :To create a parameter as PROGRAM  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      NAME   where Z10* needs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      to be entered and all the programs beginning *                       with this name needs to be displayed on &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      pressing button EXECUTE.Checkbox needs *                       to be provided for the same.The checked&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      box then needs to be downloaded to the flat *                       file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;report  z10_se38_download&lt;/P&gt;&lt;P&gt;        no standard page heading&lt;/P&gt;&lt;P&gt;        line-count 40&lt;/P&gt;&lt;P&gt;        message-id z11.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE-ID z10akd.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             T Y P E - D E C L A R A T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;types: begin of t_program,&lt;/P&gt;&lt;P&gt;          progname      type       progname,  "ABAP program name&lt;/P&gt;&lt;P&gt;          subc          type       subc,            "Program type&lt;/P&gt;&lt;P&gt;          cnam          type       cnam,          "Author&lt;/P&gt;&lt;P&gt;          cdat          type       rdir_cdate,      "Created on&lt;/P&gt;&lt;P&gt;          name          type       programm,    "ABAP Program Name&lt;/P&gt;&lt;P&gt;          text          type       repti,              "Report title&lt;/P&gt;&lt;P&gt;       end of t_program.&lt;/P&gt;&lt;P&gt;types: begin of t_download,&lt;/P&gt;&lt;P&gt;        lines(1500),                                   "No.of line of source code&lt;/P&gt;&lt;P&gt;       end of t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  D A T A - D E C L A R A T I O N         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Work Area Declartion&lt;/P&gt;&lt;P&gt;data:wa_program type t_program,&lt;/P&gt;&lt;P&gt;     wa_download type t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Internal table declarations&lt;/P&gt;&lt;P&gt;data: it_program type standard table of t_program,&lt;/P&gt;&lt;P&gt;      it_download type standard table of t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Other data declarations&lt;/P&gt;&lt;P&gt;data: n type i,                         "counter for checkbox&lt;/P&gt;&lt;P&gt;      d_checkbox type c,                "checkbox&lt;/P&gt;&lt;P&gt;      path type string,                 "to provide location in drive&lt;/P&gt;&lt;P&gt;      counter type i value 0.&lt;/P&gt;&lt;P&gt;*DATA : color_no TYPE i VALUE 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            S E L E C T I O N- S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;selection-screen begin of block b1 with frame title text-010.&lt;/P&gt;&lt;P&gt;parameters: p_prog(40) type c obligatory.&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I N I T I A L I Z A T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  clear   :wa_program,&lt;/P&gt;&lt;P&gt;           wa_download.&lt;/P&gt;&lt;P&gt;  refresh :it_program,&lt;/P&gt;&lt;P&gt;           it_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;        S T A R T- O F- S E L E C T I O N                        *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Creating menu for execute and download&lt;/P&gt;&lt;P&gt;  set pf-status 'MENU1'.&lt;/P&gt;&lt;P&gt;*&amp;amp;--for program name&lt;/P&gt;&lt;P&gt;  concatenate  p_prog '%' into p_prog.&lt;/P&gt;&lt;P&gt;*&amp;amp;--select data from table reposrc.&lt;/P&gt;&lt;P&gt;  select  progname&lt;/P&gt;&lt;P&gt;             subc&lt;/P&gt;&lt;P&gt;             cnam&lt;/P&gt;&lt;P&gt;             cdat into corresponding fields of table it_program&lt;/P&gt;&lt;P&gt;                    from reposrc&lt;/P&gt;&lt;P&gt;                    where progname like p_prog.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i037.&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            E N D- O F- S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  sort it_program by progname.&lt;/P&gt;&lt;P&gt;  write:/3 'SELECT' color 7 inverse on,&lt;/P&gt;&lt;P&gt;        20 'PROGRAM NAME' color 7 inverse on,&lt;/P&gt;&lt;P&gt;        65 'DISCRIPTION' color 7 inverse on.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;P&gt;  loop at it_program into wa_program.&lt;/P&gt;&lt;P&gt;    select single name&lt;/P&gt;&lt;P&gt;                  text into (wa_program-name,&lt;/P&gt;&lt;P&gt;                             wa_program-text)&lt;/P&gt;&lt;P&gt;                       from trdirt&lt;/P&gt;&lt;P&gt;                       where name = wa_program-progname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/5 d_checkbox as checkbox,&lt;/P&gt;&lt;P&gt;           12 wa_program-progname,&lt;/P&gt;&lt;P&gt;           65 wa_program-text.&lt;/P&gt;&lt;P&gt;    hide: wa_program-progname.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            A T U S E R - C O M M A N D&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;at user-command.&lt;/P&gt;&lt;P&gt;  case sy-ucomm.&lt;/P&gt;&lt;P&gt;    when 'DOWNLOAD'.&lt;/P&gt;&lt;P&gt;      n = 1.&lt;/P&gt;&lt;P&gt;      do.&lt;/P&gt;&lt;P&gt;        read line n field value d_checkbox wa_program-progname.&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if d_checkbox = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&amp;amp;--Function to read program&lt;/P&gt;&lt;P&gt;          call function 'RPY_PROGRAM_READ'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              language         = sy-langu&lt;/P&gt;&lt;P&gt;              program_name     = wa_program-progname&lt;/P&gt;&lt;P&gt;            tables&lt;/P&gt;&lt;P&gt;              source_extended  = it_download&lt;/P&gt;&lt;P&gt;            exceptions&lt;/P&gt;&lt;P&gt;              cancelled        = 1&lt;/P&gt;&lt;P&gt;              not_found        = 2&lt;/P&gt;&lt;P&gt;              permission_error = 3&lt;/P&gt;&lt;P&gt;              others           = 4.&lt;/P&gt;&lt;P&gt;          if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;                    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate 'd:\AMRUTA\DOWNLOADED PROGRAMS\'  wa_program-progname '.TXT'  into path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--fUNCTION TO DOWNLOAD INTO FLAT FILE.&lt;/P&gt;&lt;P&gt;          call function 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              filename                = path&lt;/P&gt;&lt;P&gt;              filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            tables&lt;/P&gt;&lt;P&gt;              data_tab                = it_download&lt;/P&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;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            counter = counter + 1 .&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        n = n + 1.&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  counter = counter / 2.&lt;/P&gt;&lt;P&gt;  if counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i038 with counter.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            T O P- O F- P A G E&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;  format inverse on.&lt;/P&gt;&lt;P&gt;  write:/ 'Author : ' color 7,wa_program-cnam color 7.&lt;/P&gt;&lt;P&gt;  write:/ 'Date   : ' color 7,sy-datum color 7.&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 14:02:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405469#M817818</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T14:02:24Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405470#M817819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hope this program will help you download the program code.&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; Report  Z10_SE38_DOWNLOAD                                           *&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Name :Z10_SE38_DOWNLOAD&lt;/P&gt;&lt;P&gt;*&amp;amp; Purpose      :To create a parameter as PROGRAM  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      NAME   where Z10* needs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      to be entered and all the programs beginning *                       with this name needs to be displayed on &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      pressing button EXECUTE.Checkbox needs *                       to be provided for the same.The checked&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      box then needs to be downloaded to the flat *                       file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;report  z10_se38_download&lt;/P&gt;&lt;P&gt;        no standard page heading&lt;/P&gt;&lt;P&gt;        line-count 40&lt;/P&gt;&lt;P&gt;        message-id z11.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE-ID z10akd.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             T Y P E - D E C L A R A T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;types: begin of t_program,&lt;/P&gt;&lt;P&gt;          progname      type       progname,  "ABAP program name&lt;/P&gt;&lt;P&gt;          subc          type       subc,            "Program type&lt;/P&gt;&lt;P&gt;          cnam          type       cnam,          "Author&lt;/P&gt;&lt;P&gt;          cdat          type       rdir_cdate,      "Created on&lt;/P&gt;&lt;P&gt;          name          type       programm,    "ABAP Program Name&lt;/P&gt;&lt;P&gt;          text          type       repti,              "Report title&lt;/P&gt;&lt;P&gt;       end of t_program.&lt;/P&gt;&lt;P&gt;types: begin of t_download,&lt;/P&gt;&lt;P&gt;        lines(1500),                                   "No.of line of source code&lt;/P&gt;&lt;P&gt;       end of t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  D A T A - D E C L A R A T I O N         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Work Area Declartion&lt;/P&gt;&lt;P&gt;data:wa_program type t_program,&lt;/P&gt;&lt;P&gt;     wa_download type t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Internal table declarations&lt;/P&gt;&lt;P&gt;data: it_program type standard table of t_program,&lt;/P&gt;&lt;P&gt;      it_download type standard table of t_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Other data declarations&lt;/P&gt;&lt;P&gt;data: n type i,                         "counter for checkbox&lt;/P&gt;&lt;P&gt;      d_checkbox type c,                "checkbox&lt;/P&gt;&lt;P&gt;      path type string,                 "to provide location in drive&lt;/P&gt;&lt;P&gt;      counter type i value 0.&lt;/P&gt;&lt;P&gt;*DATA : color_no TYPE i VALUE 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            S E L E C T I O N- S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;selection-screen begin of block b1 with frame title text-010.&lt;/P&gt;&lt;P&gt;parameters: p_prog(40) type c obligatory.&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I N I T I A L I Z A T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  clear   :wa_program,&lt;/P&gt;&lt;P&gt;           wa_download.&lt;/P&gt;&lt;P&gt;  refresh :it_program,&lt;/P&gt;&lt;P&gt;           it_download.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;        S T A R T- O F- S E L E C T I O N                        *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;*&amp;amp;--Creating menu for execute and download&lt;/P&gt;&lt;P&gt;  set pf-status 'MENU1'.&lt;/P&gt;&lt;P&gt;*&amp;amp;--for program name&lt;/P&gt;&lt;P&gt;  concatenate  p_prog '%' into p_prog.&lt;/P&gt;&lt;P&gt;*&amp;amp;--select data from table reposrc.&lt;/P&gt;&lt;P&gt;  select  progname&lt;/P&gt;&lt;P&gt;             subc&lt;/P&gt;&lt;P&gt;             cnam&lt;/P&gt;&lt;P&gt;             cdat into corresponding fields of table it_program&lt;/P&gt;&lt;P&gt;                    from reposrc&lt;/P&gt;&lt;P&gt;                    where progname like p_prog.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i037.&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            E N D- O F- S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  sort it_program by progname.&lt;/P&gt;&lt;P&gt;  write:/3 'SELECT' color 7 inverse on,&lt;/P&gt;&lt;P&gt;        20 'PROGRAM NAME' color 7 inverse on,&lt;/P&gt;&lt;P&gt;        65 'DISCRIPTION' color 7 inverse on.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;P&gt;  loop at it_program into wa_program.&lt;/P&gt;&lt;P&gt;    select single name&lt;/P&gt;&lt;P&gt;                  text into (wa_program-name,&lt;/P&gt;&lt;P&gt;                             wa_program-text)&lt;/P&gt;&lt;P&gt;                       from trdirt&lt;/P&gt;&lt;P&gt;                       where name = wa_program-progname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/5 d_checkbox as checkbox,&lt;/P&gt;&lt;P&gt;           12 wa_program-progname,&lt;/P&gt;&lt;P&gt;           65 wa_program-text.&lt;/P&gt;&lt;P&gt;    hide: wa_program-progname.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            A T U S E R - C O M M A N D&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;at user-command.&lt;/P&gt;&lt;P&gt;  case sy-ucomm.&lt;/P&gt;&lt;P&gt;    when 'DOWNLOAD'.&lt;/P&gt;&lt;P&gt;      n = 1.&lt;/P&gt;&lt;P&gt;      do.&lt;/P&gt;&lt;P&gt;        read line n field value d_checkbox wa_program-progname.&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if d_checkbox = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&amp;amp;--Function to read program&lt;/P&gt;&lt;P&gt;          call function 'RPY_PROGRAM_READ'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              language         = sy-langu&lt;/P&gt;&lt;P&gt;              program_name     = wa_program-progname&lt;/P&gt;&lt;P&gt;            tables&lt;/P&gt;&lt;P&gt;              source_extended  = it_download&lt;/P&gt;&lt;P&gt;            exceptions&lt;/P&gt;&lt;P&gt;              cancelled        = 1&lt;/P&gt;&lt;P&gt;              not_found        = 2&lt;/P&gt;&lt;P&gt;              permission_error = 3&lt;/P&gt;&lt;P&gt;              others           = 4.&lt;/P&gt;&lt;P&gt;          if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;                    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate 'd:\AMRUTA\DOWNLOADED PROGRAMS\'  wa_program-progname '.TXT'  into path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--fUNCTION TO DOWNLOAD INTO FLAT FILE.&lt;/P&gt;&lt;P&gt;          call function 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              filename                = path&lt;/P&gt;&lt;P&gt;              filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            tables&lt;/P&gt;&lt;P&gt;              data_tab                = it_download&lt;/P&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;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            counter = counter + 1 .&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        n = n + 1.&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  counter = counter / 2.&lt;/P&gt;&lt;P&gt;  if counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i038 with counter.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            T O P- O F- P A G E&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;  format inverse on.&lt;/P&gt;&lt;P&gt;  write:/ 'Author : ' color 7,wa_program-cnam color 7.&lt;/P&gt;&lt;P&gt;  write:/ 'Date   : ' color 7,sy-datum color 7.&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 14:03:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405470#M817819</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T14:03:42Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405471#M817820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;C'mon Guys  it's 2008 so don't write 1970's type code even if it does work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Think OO and the solution is quite easy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OO is simple and can be used for loads of stuff -- forget the "Old fashioned"  non OO ABAP way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For those not too familiar with OO Grids I've put some break points here -- but the functionality allows you to double click, select all rows, de-select all rows, enter data etc etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use it as a model to add your own stuff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get program names into a Grid, select what you want and download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also download the program list to a spreadsheet as well  - just click on the EXPORT standard Grid button when the initial grid is displayed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This program also has a nice feature --if you double click on the program name it will enter SE38. On Exit it returns to the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The standard SE38 functionality just loses the list if you display a list and chose a program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First however you have to create a screen ( SE51) with just a single element on it custom control called CCONTAINER1 and a standard GUI status (SE41) 001 with 3 standard buttons on it CANCEL, BACK, EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create also text for selectopn element s_prog  Program name(s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Copy code  and run it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you get the Grid just click on the EXPORT button and it will download the list to an excel spreadsheet / text file or whatever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also add some code into the  form select_all _rows  and add your download code there  to automate the whole process. Click on the button SELECT ENTIRE GRID&lt;/P&gt;&lt;P&gt;(It's quite easy really).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
PROGRAM zzjimbozzzz1.
INCLUDE &amp;lt;icon&amp;gt;.
DATA grid1 TYPE REF TO cl_gui_alv_grid.
DATA: es_row_no TYPE lvc_s_roid,
     ls_row_id  TYPE lvc_s_row,
     ls_col_id TYPE  lvc_s_col,
     ls_row    TYPE i,
     ls_value  TYPE c,
     ls_col    TYPE i,
     ls_row_no  TYPE lvc_s_roid.
types: row_table type table of lvc_s_roid.
data t_rows type row_table.

data: begin of wa_rows,
        ROW_ID  type int4,
        SUB_ROW_ID type int4,
      end of wa_rows.

data: t_index  type int4.
data: t_size  type int4.
CLASS lcl_event_handler DEFINITION .
  PUBLIC SECTION .
    METHODS:
**Hot spot Handler
    handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
                      IMPORTING e_row_id e_column_id es_row_no,
**Double Click Handler
    handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
                                    IMPORTING e_row e_column es_row_no,
** Toolbar handler.
 handle_toolbar
        FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING e_object e_interactive,
* button press
    handle_user_command
        FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING e_ucomm,
* data changed
 handle_data_changed
    for event data_changed of cl_gui_alv_grid
      importing er_data_changed,
*data changed finished
 handle_data_changed_finished
     for event data_changed of cl_gui_alv_grid.


ENDCLASS.                    "lcl_event_handler DEFINITION


CLASS lcl_event_handler IMPLEMENTATION.

*Handle Hotspot Click
  METHOD handle_hotspot_click .
    PERFORM mouse_click
      USING e_row_id
            e_column_id.
    CALL METHOD grid1-&amp;gt;get_current_cell
       IMPORTING
         e_row     = ls_row
         e_value   = ls_value
         e_col     = ls_col
         es_row_id = ls_row_id
        es_col_id = ls_col_id
        es_row_no = es_row_no.


    CALL METHOD grid1-&amp;gt;refresh_table_display.
    CALL METHOD grid1-&amp;gt;set_current_cell_via_id

  EXPORTING
    is_column_id =  e_column_id
    is_row_no  =  es_row_no.



  ENDMETHOD.                    "lcl_event_handler

*Handle Double Click
  METHOD  handle_double_click.

    PERFORM double_click
       USING e_row
       e_column.

    CALL METHOD grid1-&amp;gt;get_current_cell
    IMPORTING
    e_row     = ls_row
    e_value   = ls_value
    e_col     = ls_col
    es_row_id = ls_row_id
   es_col_id = ls_col_id
   es_row_no = es_row_no.


      CALL METHOD grid1-&amp;gt;refresh_table_display.

    CALL METHOD grid1-&amp;gt;set_current_cell_via_id

  EXPORTING
    is_column_id =  ls_col_id
    is_row_no  =  es_row_no.



  ENDMETHOD.

  METHOD handle_toolbar.
    DATA: ls_toolbar  TYPE stb_button.
* append a separator to normal toolbar
    CLEAR ls_toolbar.
    MOVE 3 TO ls_toolbar-butn_type.
    APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.
* append an icon for your function
    CLEAR ls_toolbar.
    MOVE 'FUNC' TO ls_toolbar-function.
    MOVE icon_railway TO ls_toolbar-icon.
    MOVE 'Your Function' TO ls_toolbar-quickinfo.
    MOVE 'Your user function' TO ls_toolbar-text.
    MOVE ' ' TO ls_toolbar-disabled.
    APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.
* Select All Rows
   Move 'SELE' to ls_toolbar-function.
   move icon_select_all to ls_toolbar-icon.
   move 'Select all' to ls_toolbar-quickinfo.
   MOVE 'Select entire Grid' TO ls_toolbar-text.
   MOVE ' ' TO ls_toolbar-disabled.
   APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

* Deselect all Rows.
 Move 'DSEL' to ls_toolbar-function.
   move icon_deselect_all to ls_toolbar-icon.
   move 'Deselect all' to ls_toolbar-quickinfo.
   MOVE 'Deselect entire Grid' TO ls_toolbar-text.
   MOVE ' ' TO ls_toolbar-disabled.
   APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

  ENDMETHOD.
  METHOD handle_user_command.
    BREAK-POINT 1.
    CASE e_ucomm.
      WHEN 'FUNC'.    "Your button
* Perform what you need to do.
When 'SELE'.
 perform select_all_rows.
When 'DSEL'.
 perform deselect_all_rows.

      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.

  method handle_data_changed.
  perform data_changed using er_data_changed.

  endmethod.                    "data_changed

  method handle_data_changed_finished.
    perform data_changed_finished.
  endmethod.                    "data_changed_finished

ENDCLASS.
tables: trdirt.
* Define any structure
types:  begin of s_elements,
  name  type trdirt-name,
  text   type trdirt-text,

END OF  s_elements.

* end of your structure
data: progname type trdirt-name.
data: wa_elements type s_elements.
selection-screen begin of block one with frame title text-t01.
select-options:  s_prog for trdirt-name obligatory.
selection-screen end of block one.


DATA lr_rtti_struc TYPE REF TO cl_abap_structdescr .
DATA:
    zog                     LIKE LINE OF lr_rtti_struc-&amp;gt;components .
DATA:
  zogt                    LIKE TABLE OF zog,
wa_it_fldcat TYPE lvc_s_fcat,
it_fldcat TYPE lvc_t_fcat ,
dy_line            TYPE REF TO data,
dy_table           TYPE REF TO data.


DATA:  dref               TYPE REF TO data.

FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE ANY,
   &amp;lt;dyn_table&amp;gt;    TYPE  STANDARD TABLE,
   &amp;lt;dyn_wa&amp;gt;.

DATA grid_container1 TYPE REF TO cl_gui_custom_container .
DATA grid_container2 type ref to cl_gui_custom_container.
DATA: g_handler TYPE REF TO lcl_event_handler. "handler

DATA: ok_code TYPE sy-ucomm.
DATA: struct_grid_lset TYPE lvc_s_layo.
START-OF-SELECTION.
*now I want to build a field catalog
* First get your data structure into a field symbol

  CREATE DATA dref TYPE s_elements.
  ASSIGN dref-&amp;gt;* TO &amp;lt;fs&amp;gt;.

  lr_rtti_struc ?= cl_abap_structdescr=&amp;gt;describe_by_data( &amp;lt;fs&amp;gt; ).

* Now get the structure details into a table.
* table zogt[] contains the structure details
* From which we can build the field catalog

  zogt[]  = lr_rtti_struc-&amp;gt;components.
  LOOP AT zogt INTO zog.
    CLEAR wa_it_fldcat.
    wa_it_fldcat-fieldname = zog-name .
    wa_it_fldcat-datatype = zog-type_kind.
    wa_it_fldcat-inttype = zog-type_kind.
    wa_it_fldcat-intlen = zog-length.
    wa_it_fldcat-decimals = zog-decimals.
    wa_it_fldcat-coltext = zog-name.
    wa_it_fldcat-lowercase = 'X'.
    IF wa_it_fldcat-fieldname = 'VBELN'.
      wa_it_fldcat-hotspot = 'X'.
    ENDIF.
    APPEND wa_it_fldcat TO it_fldcat.

  ENDLOOP.
*
* You can perform any modifications / additions to your field catalog
* here such as your own column names etc.

* Now using the field catalog created above we can
* build a dynamic table
* and populate it

* First build the dynamic table
* the table will contain entries for
* our structure defined at the start of the program

  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
         EXPORTING
              it_fieldcatalog = it_fldcat
         IMPORTING
              ep_table = dy_table.


  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.

* Now fill our table with data

  select *
        from trdirt
         into  corresponding fields of table &amp;lt;dyn_table&amp;gt;
         where name in s_prog
         and sprsl eq sy-langu.


* Call the screen to display the grid
  CALL SCREEN 100.


form select_all_rows.
describe table &amp;lt;dyn_table&amp;gt; lines t_size.
t_index = 1.
while t_index le t_size.
clear wa_rows.
wa_rows-row_id = t_index.
append wa_rows to t_rows.
t_index = t_index + 1.
endwhile.
call method grid1-&amp;gt;set_selected_rows
 exporting
   it_row_no = t_rows.
endform.


form deselect_all_rows.
describe table &amp;lt;dyn_table&amp;gt; lines t_size.
t_index = 1.
refresh t_rows.
clear wa_rows.
wa_rows-row_id = t_index.
append wa_rows to t_rows.
call method grid1-&amp;gt;set_selected_rows
 exporting
   it_row_no = t_rows.
endform.


FORM double_click
USING e_row   TYPE lvc_s_row
e_column      TYPE lvc_s_col.
  READ TABLE &amp;lt;dyn_table&amp;gt; INDEX e_row INTO wa_elements.
     progname = wa_elements-name.

    set parameter id 'RID'  field progname.
     call transaction  'SE38'.


ENDFORM.

FORM mouse_click
  USING e_row TYPE lvc_s_row
        e_column_id TYPE  lvc_s_col.
  READ TABLE &amp;lt;dyn_table&amp;gt; INDEX e_row INTO wa_elements.

ENDFORM.

form data_changed
  using er_data_changed.

  break-point 1.
endform.
form data_changed_finished.


  break-point 1.
endform.


form instantiate_grid
   using  grid_container  type REF TO cl_gui_custom_container
          class_object  type ref to cl_gui_alv_grid
          container_name type SCRFNAME.

          CREATE OBJECT grid_container
              EXPORTING
                container_name = container_name.
       CREATE OBJECT  class_object
       EXPORTING
          i_parent = grid_container.

         struct_grid_lset-sel_mode = 'D'.
  CREATE OBJECT g_handler.
  SET HANDLER g_handler-&amp;gt;handle_double_click FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_hotspot_click FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_toolbar FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_user_command FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_data_changed FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_data_changed_finished FOR class_object.
  CALL METHOD class_object-&amp;gt;register_edit_event
       EXPORTING
          i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter.
       CALL METHOD class_object-&amp;gt;set_table_for_first_display
    EXPORTING is_layout =  struct_grid_lset
    CHANGING
               it_outtab       = &amp;lt;dyn_table&amp;gt;
               it_fieldcatalog = it_fldcat.

endform.


* PBO module

MODULE status_0100 OUTPUT.

    IF grid_container1 IS INITIAL.
  perform instantiate_grid
     using grid_container1
           grid1
           'CCONTAINER1'.
     endif.


    SET PF-STATUS '001'.
  SET TITLEBAR '000'.

ENDMODULE.

* PAI module

MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'BACK'.
      LEAVE PROGRAM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'RETURN'.
      LEAVE PROGRAM.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 14:25:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405471#M817820</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T14:25:52Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405472#M817821</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 download the ABAP programs using download /  upload option.  Go to SE38 there is an option in the Menu Utilities -&amp;gt; More Utilities -&amp;gt; Upload / Download option you can try this.&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>Mon, 18 Feb 2008 14:47:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405472#M817821</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T14:47:12Z</dc:date>
    </item>
    <item>
      <title>Re: downloading programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405473#M817822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This message was moderated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2014 14:32:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/downloading-programs/m-p/3405473#M817822</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-04-08T14:32:12Z</dc:date>
    </item>
  </channel>
</rss>

