天天看点

smartforms 打印转成保存在本地pdf

转自: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.