SAP中PDF文件本地保存方法

来源:互联网 发布:百度算法大全 编辑:程序博客网 时间:2024/06/07 20:14

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.

0 1
原创粉丝点击