smartforms 如何转成PDF格式预览

在输出的打印预览的情况下, 在tcode 输入 ‘  PDF!   ’ ,然后就可以预览了,也可以在菜单栏的转到,找到 PDF预览的页签查看

如何转换呢

DATA:w_bin_filesize TYPE i,
    gt_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE.

DATA tline TYPE TABLE OF  tline WITH HEADERLINE..

DATA gt_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA:f_funcname TYPE rs38l_fnam.
DATA: f_formname TYPE tdsfname VALUE 'ZSCM001',
     control_parameters TYPE ssfctrlop,
     w_outoptions TYPE ssfcompop,
     errtab TYPE tsferror.

DATA:bin_file TYPE xstring.

DATA document_output_info TYPE ssfcrespd.
DATA job_output_info TYPE ssfcrescl.
DATA job_output_options TYPE ssfcresop.

DATA: binfilesize TYPE i,
file_name TYPE string,
file_path TYPE string,
full_path TYPE string.

CLEAR control_parameters.
  control_parameters-no_dialog = 'X'.
 control_parameters-preview   =''. "space.
 control_parameters-getotf   = 'X'.
* control_parameters-no_open   ='X'.
*  control_parameters-no_close  ='X'.
 control_parameters-langu    = sy-langu.

  w_outoptions-tddest = 'LP01'.
  w_outoptions-tdnoprint = 'X'.


  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
   EXPORTING
     formname = f_formname
   IMPORTING
     fm_name  = f_funcname.


  CALL FUNCTION f_funcname
   EXPORTING
     control_parameters   =control_parameters
     output_options      = w_outoptions
     user_settings       = 'X'
   IMPORTING
     document_output_info = document_output_info
     job_output_info     = job_output_info
     job_output_options   =job_output_options
    TABLES
     zsscm001            = it_result.

  gt_otf[] = job_output_info-otfdata[].
  CALL FUNCTION 'CONVERT_OTF'
   EXPORTING
     format = 'PDF'
     max_linewidth = 132
*     ARCHIVE_INDEX = ' '
*     COPYNUMBER = 0
*     ASCII_BIDI_VIS2LOG = ' '
*     PDF_DELETE_OTFTAB = ''
   IMPORTING
     bin_filesize = w_bin_filesize
*     bin_file = bin_file
* BIN_FILE=
   TABLES
    otf = gt_otf
    lines = tline
   EXCEPTIONS
     err_max_linewidth = 1
     err_format = 2
     err_conv_not_possible = 3
     err_bad_otf = 4
     OTHERS = 5.
  IF sy-subrc <>0.
*   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*    WITHsy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 ENDIF.

  CALL METHODcl_gui_frontend_services=>file_save_dialog
   CHANGING
     filename = file_name
     path    = file_path
     fullpath = full_path.


  CALL FUNCTION 'GUI_DOWNLOAD'
   EXPORTING
     bin_filesize           = binfilesize
     filename               = full_path
     filetype               = 'BIN'
    TABLES
     data_tab               = tline[]
   EXCEPTIONS
     file_write_error       = 1
     no_batch               = 2
     gui_refuse_filetransfer = 3
     invalid_type           = 4
     no_authority           = 5
     unknown_error          = 6
     header_not_allowed     = 7
     separator_not_allowed   = 8
     filesize_not_allowed   = 9
     header_too_long        = 10
     dp_error_create        = 11
     dp_error_send          = 12
     dp_error_write         = 13

猜你喜欢

转载自blog.csdn.net/qq_16116183/article/details/81078544
今日推荐