1、对于scriptform或者smartform已经ABAP list都可以通过SAP标准程序RSTXPDFT4进行本地保存。
使用本方法需要获得要打印内容的假脱机请求号,可以通过事务码SP02获得。
2、通过自己书写代码实现:
①对于scriptform:首先要设置 函数 OPEN_FORM 的参数 OPTIONS ,OPTIONS中的参数 tdgetotf 设置为'X'.
通过函数
取得otfdata数据,用于下面的函数:
调用文件保存对话框:
将数据保存到本地:
②对于smartform:调用的时候需要设置参数control_parameters,getotf
在打开smartform时候,通过importing参数job_output_info获得'CONVERT_OTF'函数的tables参数OTF的值。job_output_info-otfdata[],,可以通过SSFCOMP_PDF_PREVIEW函数预览smartform的内容:
call
或者通过下面代码下载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.