gui_upload在哪里上传文件



简单地说,gui_upload函数在Application Server中上传文件的位置。我如何找到它们的位置,或者是否有任何tcode,我可以找到最后上传的文件或按名称搜索?

谢谢。

gui_upload函数不向应用服务器上传文件。它只是将一个文件从表示层读入一个内部表。然后需要使用其他函数将这个内部表写入应用服务器上的文件。

我可以确认前面的两个答案。如果你想上传一个文本/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.

请记住,使用OPEN DATASET语句,您可以在网络上的任何位置写入文件。至少你得到了必要的授权。

Transaction AL11可用于查看SAP系统上现有的文件夹和文件。

我手头没有ABAP堆栈,但我相信你正在寻找的是命令OPEN DATASET,或者沿着这些行。这将处理应用服务器上的文件读写。通过OPEN DATASET处理的文件可以在事务AL11中找到。

相关内容

  • 没有找到相关文章

最新更新