SAP中PDF文件本地保存方法

1、对于scriptform或者smartform已经ABAP list都可以通过SAP标准程序RSTXPDFT4进行本地保存。

使用本方法需要获得要打印内容的假脱机请求号,可以通过事务码SP02获得。

2、通过自己书写代码实现:

①对于scriptform:首先要设置 函数 OPEN_FORM 的参数 OPTIONS ,OPTIONS中的参数 tdgetotf 设置为'X'.

通过函数    CALL FUNCTION 'CLOSE_FORM'
                IMPORTING
                  RESULT  RESULT
                tables
                  otfdata otfdata.

取得otfdata数据,用于下面的函数:

    CALL FUNCTION 'CONVERT_OTF'
   EXPORTING
     format                      'PDF'
   IMPORTING
     bin_filesize                bin_size
    TABLES
      otf                         otfdata
    lines                       pdf_lines .

调用文件保存对话框:

    CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
    default_extension    'PDF'
      file_filter          '*.PDF'
    CHANGING
      filename             filename
      path                 path
      fullpath             fullpath .

将数据保存到本地:

    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
   bin_filesize                    bin_size
      filename                        fullpath
   filetype                        'BIN'
   codepage                        '4110'
   IGNORE_CERR                     ABAP_TRUE
    TABLES
      data_tab                        pdf_lines.

②对于smartform:调用的时候需要设置参数control_parametersgetotf 值设置为'X'.

在打开smartform时候,通过importing参数job_output_info获得'CONVERT_OTF'函数的tables参数OTF的值。job_output_info-otfdata[],,可以通过SSFCOMP_PDF_PREVIEW函数预览smartform的内容:

call function ‘SSFCOMP_PDF_PREVIEW’
  
exporting
    i_otf                          t_otf[].

或者通过下面代码下载PDF文件到本地:

CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = bin_size
TABLES
otf = otfdata
lines = pdf_lines .

调用文件保存对话框:

CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
default_extension = 'PDF'
file_filter = '*.PDF'
CHANGING
filename = filename
path = path
fullpath = fullpath .

将数据保存到本地:

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = bin_size
filename = fullpath
filetype = 'BIN'
codepage = '4110'
IGNORE_CERR = ABAP_TRUE
TABLES
data_tab = pdf_lines.


版权声明:本文为yong325原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。