Просто, где функция gui_upload загружает файлы в Application Server. Как я могу найти их местоположение, или есть какой-нибудь ткод, который я могу найти последними загруженными файлами или искать по имени?Где gui_upload загружает файлы?
Спасибо.
Просто, где функция gui_upload загружает файлы в Application Server. Как я могу найти их местоположение, или есть какой-нибудь ткод, который я могу найти последними загруженными файлами или искать по имени?Где gui_upload загружает файлы?
Спасибо.
gui_upload
функция не загружает файл на сервер приложений. он просто считывает файл из уровня представления во внутреннюю таблицу. Затем вам нужно будет использовать другую функцию для записи этой внутренней таблицы в файл на сервере приложений.
Надеюсь, что это поможет.
У меня нет пакета ABAP, но я верю, что вы ищете команду OPEN DATASET или что-то в этом роде. Это обрабатывает чтение и запись файлов на сервере приложений. Файлы, которые обрабатываются через OPEN DATASET, можно найти с транзакцией AL11.
Я могу подтвердить оба предыдущих ответа. Если вы хотите загрузить файл text/csv, например, на сервер приложений, вы можете использовать следующий код.
Использование GUI_UPLOAD на самом деле читать предоставленный входной файл с внутренней таблицей:
lv_filename = p_filebp.
CLEAR lt_data_tab.
IF NOT lv_filename IS INITIAL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_filename
TABLES
data_tab = lt_data_tab
EXCEPTIONS
file_open_error = 1
OTHERS = 17.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDIF.
Проверьте, есть ли данные в текстовом файле, и были переданы во внутреннюю таблицу правильно. Если это так, загрузите его в файл на сервере приложений. Вы можете указать путь самостоятельно, где вы хотите, чтобы это загружено:
READ TABLE lt_data_tab INDEX 1.
IF sy-subrc <> 0.
WRITE:/'No data in input file.'.
ELSE.
CONCATENATE '/interfaces/' sy-sysid '/CRM_ACTIVITIES/' sy-datum '_INPUT.CSV' INTO p_serinp.
OPEN DATASET p_serinp FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
EXIT.
ENDIF.
LOOP AT lt_data_tab.
TRANSFER lt_data_tab TO p_serinp.
CLEAR lt_data_tab.
ENDLOOP.
CLOSE DATASET p_serinp.
IF sy-subrc = 0.
CLEAR gd_error_text.
CONCATENATE 'Download to file: ' p_serinp ' is finished.'
INTO gd_error_text SEPARATED BY space.
WRITE:/gd_error_text.
ENDIF.
ENDIF.
Имейте в виду, что, используя открытое заявление DataSet, вы можете записать файлы в любом месте сети. Это, если хотя бы вы получили требуемые разрешения.
Сделка AL11 может использоваться для изучения существующих папок и файлов в вашей системе SAP.