Можно ли не показывать диалоговые окна в функции загрузки

Я использую функцию DOWNLOAD abap, чтобы загрузить что-то в виде txt-файла. Но функция ЗАГРУЗИТЬ показывает несколько диалоговых окон, в которых показано, куда загружается файл, и спрашивает, есть ли другой файл с таким же именем, который я хочу заменить.

Для импорта этой функции есть параметр silent, но он ничего не меняет, когда я назначаю 'm' или 's' или 'x'.

Вот что я делаю;

CALL FUNCTION 'DOWNLOAD'
  EXPORTING
    filename = fn
    filetype = 'ASC'
    silent   = 'M'
  TABLES
    data_tab = itab.

GUI_DOWNLOAD (устарело) работает без диалоговых окон, но я не могу отключить функцию «СКАЧАТЬ». Кто-нибудь знает, как этого добиться?

Спасибо.


person Mtok    schedule 24.04.2013    source источник


Ответы (1)


Вместо упомянутых вами функциональных модулей вы должны использовать методы класса cl_gui_frontend_services.

В следующем фрагменте показан пример вызова cl_gui_frontend_services=>gui_download.

types: t_line type c length 100.
data: lt_tab type table of t_line.
append 'test' to lt_tab.

call method cl_gui_frontend_services=>gui_download
  exporting
    filename = 'C:\temp\file.txt'
  changing
    data_tab = lt_tab[].

Это загружает файл в указанное место без диалога. Для отображения диалогового окна выбора файла, если вы выберете, есть cl_gui_frontend_services=>file_open_dialog или cl_gui_frontend_services=>file_save_dialog.

Примечания:

  1. Вы должны проверить коды возврата из вызовов методов. Я просто опустил их здесь для краткости, но их отсутствие может привести к короткому дампу.
person mydoghasworms    schedule 24.04.2013