欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 打印详细讲解

打印详细讲解

2024/10/24 14:26:19 来源:https://blog.csdn.net/qq_48265856/article/details/140100158  浏览:    关键词:打印详细讲解
DATA: lv_func_module_name   TYPE rs38l_fnam, "打印程序函数名lv_sformname          TYPE tdsfname, "smartforms名称ls_control_parameters TYPE ssfctrlop,ls_output             TYPE ssfcompop,ls_job_output_info    TYPE ssfcrescl,ls_ssfcrespd          TYPE ssfcrespd,lv_index              TYPE i."PDF变量
DATA:lv_file_size TYPE i, "PDF文件大小lv_bin_fiel  TYPE xstring, "二进制文件流lt_lines     TYPE STANDARD TABLE OF tline,lt_otfdata   TYPE tsfotf. "OTF数据lv_sformname = 'ZSFPP_001'.CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'EXPORTINGformname           = lv_sformnameIMPORTINGfm_name            = lv_func_module_nameEXCEPTIONSno_form            = 1no_function_module = 2OTHERS             = 3.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.* 打印参数赋值ls_control_parameters-no_open = 'X'.ls_control_parameters-no_close = ''.    ls_control_parameters-getotf          = 'X'."返回OTF表LOOP AT gt_data5 ASSIGNING FIELD-SYMBOL(<fs_data5>) .AT END OF lgort.CALL FUNCTION 'SSF_OPEN'EXPORTINGcontrol_parameters = ls_control_parametersEXCEPTIONSformatting_error   = 1internal_error     = 2send_error         = 3user_canceled      = 4OTHERS             = 5."调用smartformsCALL FUNCTION lv_func_module_nameEXPORTINGcontrol_parameters = ls_control_parametersgs_head            = gs_data7gv_title           = gv_titleIMPORTINGjob_output_info    = ls_job_output_infoTABLESgt_item            = gt_data7EXCEPTIONSformatting_error   = 1internal_error     = 2send_error         = 3user_canceled      = 4OTHERS             = 5.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF."OTF数据赋值APPEND LINES OF ls_job_output_info-otfdata TO lt_otfdata.ENDAT.ENDLOOP.CALL FUNCTION 'SSF_CLOSE'EXCEPTIONSformatting_error = 1internal_error   = 2send_error       = 3OTHERS           = 4."SMARTFORMS转PDFCALL FUNCTION 'CONVERT_OTF'EXPORTINGformat                = 'PDF'IMPORTINGbin_filesize          = lv_file_sizeTABLESotf                   = lt_otfdatalines                 = lt_linesEXCEPTIONSerr_max_linewidth     = 1err_format            = 2err_conv_not_possible = 3OTHERS                = 4.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.***BEGIN&-------------------保存PDF文件到本地----------------******************************DATA: lv_filename TYPE string, "保存pdf文件名lv_path     TYPE string,lv_fullpath TYPE string, "文件全路径lv_user_act TYPE i. "用户操作类型lv_filename = gv_title && '.pdf'.CALL METHOD cl_gui_frontend_services=>file_save_dialog "保存文件 窗口EXPORTINGwindow_title              = '保存文件'default_extension         = 'PDF' "文件后缀default_file_name         = lv_filename "文件名
*       with_encoding             =file_filter               = '*.PDF'
*       initial_directory         =prompt_on_overwrite       = 'X'CHANGINGfilename                  = lv_filenamepath                      = lv_pathfullpath                  = lv_fullpathuser_action               = lv_user_act "用户操作类型
*       file_encoding             =EXCEPTIONScntl_error                = 1error_no_gui              = 2not_supported_by_gui      = 3invalid_default_file_name = 4OTHERS                    = 5.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ELSE.IF lv_user_act = cl_gui_frontend_services=>action_cancel.MESSAGE '取消存取' TYPE 'S' DISPLAY LIKE 'E'.ENDIF.ENDIF.CALL FUNCTION 'GUI_DOWNLOAD'EXPORTINGbin_filesize            = lv_file_sizefilename                = lv_fullpathfiletype                = 'BIN'
*       APPEND                  = ' '
*   IMPORTING
*       FILELENGTH              =TABLESdata_tab                = lt_lines
*       FIELDNAMES              =EXCEPTIONSfile_write_error        = 1no_batch                = 2gui_refuse_filetransfer = 3invalid_type            = 4no_authority            = 5unknown_error           = 6header_not_allowed      = 7separator_not_allowed   = 8filesize_not_allowed    = 9header_too_long         = 10dp_error_create         = 11dp_error_send           = 12dp_error_write          = 13unknown_dp_error        = 14access_denied           = 15dp_out_of_memory        = 16disk_full               = 17dp_timeout              = 18file_not_found          = 19dataprovider_exception  = 20control_flush_error     = 21OTHERS                  = 22.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.

方法二:smartforms转换成PDF[CONVERT_OTF] | 摆渡SAP (baidusap.com)

Smart Form主要通过SSFCTRLOP和SSFCOMPOP两个参数来配置打印控制的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com