一.数据定义部分与初始化
DATA: ls_control_parameters TYPE ssfctrlop.
DATA: ls_output_options TYPE ssfcompop.
DATA: l_smf_name TYPE rs38l_fnam.
DATA: l_formname TYPE tdsfname.
DATA: output TYPE ssfcresop.
DATA: ls_job_output_info TYPE ssfcrescl.
DATA: ls_document_output_info TYPE ssfcrespd.
DATA: ls_job_output_options TYPE ssfcresop.
ls_output_options-tdcopies = '1'.
ls_output_options-tddelete = 'X'.
ls_output_options-tddest = 'LP01'. "默认本地打印机
ls_output_options-TDPAGESLCT = '2-99'. “从第二页开始打印,99是手工假定的最后一页
ls_control_parameters-no_open = 'X'.
ls_control_parameters-preview = 'X'. "是否打印预览
" ls_control_parameters-langu = '1'.
二.函数调用与使用部分
CALL FUNCTION 'SSF_OPEN'
EXPORTING
USER_SETTINGS = 'X'
OUTPUT_OPTIONS = ls_output_options
CONTROL_PARAMETERS = ls_control_parameters
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZMMF022'
IMPORTING
fm_name = l_smf_name.
archive_parameters-printer = 'LP01'.
CALL FUNCTION l_smf_name
EXPORTING
I_TAB = WA
output_options = ls_output_options
CONTROL_PARAMETERS = ls_control_parameters
TABLES
I_TAB1 = ITAB1.
IF SY-SUBRC <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.