sap abap programlarını indirme programı (download sap program)

merhabalar, vakit bulup da anlatılacaklar listeme bir türlü el atamadım ama şimdilik bir abap danışmanının işini en çok kolaylaştıracak olan sistemde yapılmış örnek programları bilgisayarınıza yükleyebileceğiniz programı aşağıda paylaşıyorum. güle güle kullanın!

*&---------------------------------------------------------------------*
*& Report  Z_DOWNLOAD_ABAP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  z_download_abap.
 
TABLES: trdir, tadir.
 
DATA: BEGIN OF lt_replist OCCURS 200,
        name LIKE trdir-name,
END OF lt_replist.
 
DATA: lt_content  TYPE TABLE OF string,
      lv_filename TYPE string,
      lv_repcnt   TYPE i,
      lv_perc     TYPE i.
 
 
 
SELECT-OPTIONS : s_name FOR tadir-obj_name,
                 s_devc FOR tadir-devclass DEFAULT 'Z*',
                 s_auth FOR sy-uname DEFAULT sy-uname.
 
PARAMETERS : p_path TYPE string OBLIGATORY. "Kaydedilecek Klasör
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
  CALL METHOD cl_gui_frontend_services=>directory_browse
    CHANGING
      selected_folder      = p_path
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
 
INITIALIZATION.
 
 
START-OF-SELECTION.
 
  SELECT trdir~name
    FROM tadir
    INNER JOIN trdir ON tadir~obj_name = trdir~name
    INTO TABLE lt_replist
    WHERE tadir~devclass IN s_devc
      AND tadir~object   EQ 'PROG'
      AND tadir~obj_name IN s_name
      AND tadir~author   IN s_auth
      AND trdir~cnam     IN s_auth.
 
  DESCRIBE TABLE lt_replist LINES lv_repcnt.
 
  LOOP AT lt_replist.
 
    lv_perc = sy-tabix * 100 / lv_repcnt.
 
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
      EXPORTING
        percentage = lv_perc
        text       = lt_replist-name.
 
    READ REPORT lt_replist-name INTO lt_content.
    CONDENSE lt_replist-name NO-GAPS.
    CONCATENATE p_path '\' lt_replist-name '.txt' INTO lv_filename.
 
 
    CALL METHOD cl_gui_frontend_services=>gui_download
      EXPORTING
        filename                = lv_filename
        show_transfer_status    = ' '
      CHANGING
        data_tab                = lt_content
      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
        not_supported_by_gui    = 22
        error_no_gui            = 23
        OTHERS                  = 24.
 
    IF sy-subrc NE 0.
      FORMAT INTENSIFIED COLOR = 6.
      WRITE : / lv_filename, 'dosyasını kaydederken hata oluştu'.
    ENDIF.
 
  ENDLOOP.
 
  FORMAT INTENSIFIED COLOR = 5.
  WRITE : 'İşlem tamamlandı'.