美文网首页SAP 实用篇
ABAP 报表中如何以二进制方式上传本地文件试读版

ABAP 报表中如何以二进制方式上传本地文件试读版

作者: _扫地僧_ | 来源:发表于2022-08-09 09:59 被阅读0次

    零基础 ABAP 学习教程系列文章的目录

    ABAP 基础知识

    Office 专题

    ALV 开发专题

    更多文章正在写作中

    本教程的这个步骤,用 ABAP 读取本地文本文件内容,我们介绍了使用 Function Module GUI_UPLOAD 来上传文本文件,整个报表不过 18 行代码。

    REPORT zreduce1.
    
    DATA: lv_file_name   TYPE string VALUE 'C:\temp\1.txt',
          lv_file_length TYPE i,
          lt_content     TYPE string_table,
          lv_content     TYPE string.
    
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename   = lv_file_name
      IMPORTING
        filelength = lv_file_length
      TABLES
        data_tab   = lt_content.
    
    LOOP AT lt_content INTO lv_content.
      WRITE:/ lv_content.
    ENDLOOP.
    

    执行之后,可以成功把存储在 C 盘的文本文件 1.txt 的内容打印出来。

    我们在 SE37 里打开 GUI_UPLOAD,发现其参数 FILETYPE 是可选参数(optional),默认值为 ASC 即以文本方式上传本地文件内容。

    显然,在实际项目中,我们需要上传到 ABAP 服务器的文件,除了文本文件之外,肯定还包含其他类型的文件,比如 jpg,pdf,docx 这种文件。这些类型的文件,通过普通的文本编辑器显然无法打开,并且也不适合通过 ASC 即文本方式进行上传。因此,我们需要使用另一种 BIN 模式即二进制模式进行上传。

    本步骤我们介绍另一个有用的 ABAP 工具类,CL_GUI_FRONTEND_SERVICES,它的 GUI_UPLOAD 方法,同样能够实现文件上传。其实如果查看这个方法的源代码,就发现它其实只是简单的调用了 Function Module GUI_UPLOAD,后者我们早已经学习过了:

    本文我们演示如何通过二进制的方式,将本地的文本文件上传到 ABAP 服务器上。

    下面是具体的步骤。

    相关文章

      网友评论

        本文标题:ABAP 报表中如何以二进制方式上传本地文件试读版

        本文链接:https://www.haomeiwen.com/subject/gtjgwrtx.html