• 如何将SAP Script转换成PDF并上传到SAP服务器[CONVERT_OTFSPOOLJOB_2_PDF]


    1, CONVERT_OTFSPOOLJOB_2_PDF

    无论是SAP script还是smartform,要想转换成PDF其实就是通过Spool list中的Spool ID转换的。

    可以用于PDF转换的函数有几个,这里介绍 CONVERT_OTFSPOOLJOB_2_PDF.

    SE37中可以看到只有输入参数SRC_SPOOLID是必输项。

    2, 例子代码

    这里分享一段代码,代码不是完整可运行的,仅贴出来PDF转换以及下载PDF到sap 服务器目录相关代码,供大家参考。

    其中上载PDF文件到SAP服务器是通过DATASET实现的。

    FORM frm_down_pdf  USING    i_fname
                                i_tdspoolid.
    
      DATA:lit_pdf_file    TYPE STANDARD TABLE OF tline,
           lwa_pdf_file    LIKE LINE OF lit_pdf_file,
           l_pdf_file_size TYPE i,
           l_pdf_file_name TYPE string.
    
      CLEAR  :l_pdf_file_size.
      REFRESH:lit_pdf_file.
    
      CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid              = i_tdspoolid  "spool ID
          no_dialog                = ' '
        IMPORTING
          pdf_bytecount            = l_pdf_file_size
        TABLES
          pdf                      = lit_pdf_file[] "转换后的PDF保存在此内表中 
        EXCEPTIONS
          err_no_otf_spooljob      = 1
          err_no_spooljob          = 2
          err_no_permission        = 3
          err_conv_not_possible    = 4
          err_bad_dstdevice        = 5
          user_cancelled           = 6
          err_spoolerror           = 7
          err_temseerror           = 8
          err_btcjob_open_failed   = 9
          err_btcjob_submit_failed = 10
          err_btcjob_close_failed  = 11
          OTHERS                   = 12.
    " 通过DATASET 将PDF上载到SAP server中指定的目录中
      OPEN DATASET i_fname FOR OUTPUT IN BINARY MODE.
      IF sy-subrc = 0.
        LOOP AT lit_pdf_file INTO lwa_pdf_file.
          TRANSFER lwa_pdf_file-tdformat TO i_fname.
          TRANSFER lwa_pdf_file-tdline TO i_fname.
        ENDLOOP.
        CLOSE DATASET i_fname.
      ENDIF.
    ENDFORM.

    3, 其他

    Spool可以通过tcode :SP01或SP02进入。

    左侧红框内的Spool no.就是spool id

    sap 服务器路径,以及PDF上载后的结果可以通过tcode AL11查看:

    双击上图中的路径就可以看到其中保存的文件了。

    下载sap 服务器目录中的文件可以通过tcode:CG3Y。

    以上。

  • 相关阅读:
    Javascript快速入门(上篇)
    Linux快速入门01-基础概念
    正则表达式快速入门
    Sublime快速入门
    centos 6.5 git 服务器的配置(入门级)
    centos6.5 网卡的处理
    centos 6.5 u盘 安装问题 :vesamenu.c32: Not a COM32R image
    ubuntu 14.04 对exfat的支持
    [转]ubuntu 14.04 如何开启和关闭触控板
    ubuntu 下mongodb安装
  • 原文地址:https://www.cnblogs.com/datie/p/11433665.html
Copyright © 2020-2023  润新知