Abap gui_在哪里上传文件?

Abap gui_在哪里上传文件?,abap,Abap,简单地说,gui_上传功能在哪里上传应用服务器中的文件。我如何找到它们的位置,或者是否有任何tcode可以查找上次上载的文件或按名称搜索 谢谢。gui\u上载功能不会将文件上载到应用程序服务器。它只是将一个文件从表示层读取到一个内部表中。然后,您需要使用其他函数将此内部表写入应用程序服务器上的文件 希望这有帮助。gui\u上传功能不会将文件上传到应用程序服务器。它只是将一个文件从表示层读取到一个内部表中。然后,您需要使用其他函数将此内部表写入应用程序服务器上的文件 希望这能有所帮助。我手头没有A

简单地说,gui_上传功能在哪里上传应用服务器中的文件。我如何找到它们的位置,或者是否有任何tcode可以查找上次上载的文件或按名称搜索


谢谢。

gui\u上载功能不会将文件上载到应用程序服务器。它只是将一个文件从表示层读取到一个内部表中。然后,您需要使用其他函数将此内部表写入应用程序服务器上的文件


希望这有帮助。

gui\u上传功能不会将文件上传到应用程序服务器。它只是将一个文件从表示层读取到一个内部表中。然后,您需要使用其他函数将此内部表写入应用程序服务器上的文件


希望这能有所帮助。

我手头没有ABAP堆栈,但我相信您正在寻找的是命令OPEN DATASET,或者类似的东西。这将处理在应用程序服务器上读取和写入文件的操作。通过OPEN DATASET处理的文件可以通过事务AL11找到

我手头没有ABAP堆栈,但我相信您正在寻找的是命令OPEN DATASET,或者类似的东西。这将处理在应用程序服务器上读取和写入文件的操作。通过OPEN DATASET处理的文件可以通过事务AL11找到

我可以确认前面的两个答案。 例如,如果要将文本/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.
lv_filename=p_filebp。
清除lt_数据_选项卡。
如果不是lv_文件名,则为初始文件名。
调用函数“GUI_上传”
出口
filename=lv\u文件名
桌子
数据选项卡=lt\u数据选项卡
例外情况
文件\u打开\u错误=1
其他=17。
如果sy subrc为0。
出口
恩迪夫。
恩迪夫。
检查文本文件中是否有数据,是否已正确传输到内部表中。 如果是,请将其上载到应用程序服务器上的文件。您可以自己提供一个路径,以便在其中查看上载的内容:

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.
读取表lt\u数据选项卡索引1。
如果sy subrc为0。
写入:/“输入文件中没有数据。”。
其他的
将'/interfaces/'sy sysid'/CRM\u ACTIVITIES/'sy datum'\u INPUT.CSV'连接到p\u serinp中。
打开数据集p_serinp,以文本模式编码默认输出。
如果sy subrc NE为0。
出口
恩迪夫。
在lt_数据_选项卡上循环。
将lt_数据选项卡传输到p_序列。
清除lt_数据_选项卡。
结束循环。
关闭数据集p_serinp。
如果sy subrc=0。
清除gd_错误_文本。
连接“下载到文件:'p_serinp'已完成。”
输入由空格分隔的gd_错误_文本。
写入:/gd\u错误\u文本。
恩迪夫。
恩迪夫。
请记住,使用OpenDataSet语句,您可以在网络上的任何位置写入文件。如果你至少得到了必要的授权


事务AL11可用于浏览SAP系统上的现有文件夹和文件

我可以确认前面的两个答案。 例如,如果要将文本/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.
lv_filename=p_filebp。
清除lt_数据_选项卡。
如果不是lv_文件名,则为初始文件名。
调用函数“GUI_上传”
出口
filename=lv\u文件名
桌子
数据选项卡=lt\u数据选项卡
例外情况
文件\u打开\u错误=1
其他=17。
如果sy subrc为0。
出口
恩迪夫。
恩迪夫。
检查文本文件中是否有数据,是否已正确传输到内部表中。 如果是,请将其上载到应用程序服务器上的文件。您可以自己提供一个路径,以便在其中查看上载的内容:

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.
读取表lt\u数据选项卡索引1。
如果sy subrc为0。
写入:/“输入文件中没有数据。”。
其他的
将'/interfaces/'sy sysid'/CRM\u ACTIVITIES/'sy datum'\u INPUT.CSV'连接到p\u serinp中。
打开数据集p_serinp,以文本模式编码默认输出。
如果sy subrc NE为0。
出口
恩迪夫。
在lt_数据_选项卡上循环。
将lt_数据选项卡传输到p_序列。
清除lt_数据_选项卡。
结束循环。
关闭数据集p_serinp。
如果sy subrc=0。
清除gd_错误_文本。
连接“下载到文件:'p_serinp'已完成。”
输入由空格分隔的gd_错误_文本。
写入:/gd\u错误\u文本。
恩迪夫。
恩迪夫。
请记住,使用OpenDataSet语句,您可以在网络上的任何位置写入文件。如果你至少得到了必要的授权

事务AL11可用于浏览SAP系统上的现有文件夹和文件