转自:http://www.kodyaz.com/articles/sap-smartforms-download-as-smartform-pdf-using-ws_download-and-cl_gui_frontend_services.aspx
说明的很详细,代码也很明了。
- 形成一个url,保存地址
- 打开smartforms
- 执行smartforms,并返回job_output_info 类型的内表,这个smart 表接口-导出默认的
- 转换格式fm: convert_off
- 下载:fm : ws_download.
2个重要的fm及其参数:
-
"转换
DATA :
t_otfdata TYPE ssfcrescl,
t_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE, " SAPscript: Text Lines
t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE, " OTF Structure
t_otf[] = t_otfdata-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = w_bin_filesize
TABLES
otf = t_otf
lines = t_pdf_tab
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4.
-
"下载
DATA : lv_filename(128) TYPE c.
lv_filename = gv_fullpath.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
bin_filesize = w_bin_filesize
filename = lv_filename
filetype = 'BIN'
TABLES
data_tab = t_pdf_tab
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
no_authority = 10
OTHERS = 11.