调用smartforms程序及参数:
*&---------------------------------------------------------------------*
*& Report Z_ABAP_SKILL_TRAINING_05
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_ABAP_SKILL_TRAINING_05.
START-OF-SELECTION.
PERFORM callsmartform.
*&---------------------------------------------------------------------*
*& Form CALLSMARTFORM
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM callsmartform .
DATA:fm_name type rs38l_fnam.
DATA:l_output_options type ssfcompop.
DATA:l_control_parameters type ssfctrlop.
DATA:l_job_output_options TYPE ssfcresop.
l_output_options-tddest = 'LP27'. "打印机
* l_output_options-tdcopies = '3'. “每次打印3份
* l_output_options-tdnoprev = 'X'. “隐藏打印预览按钮
l_output_options-tdimmed = 'X'. ”是否勾选快速打印项
l_output_options-tdfinal = 'X'.”假脱机请求已完成
* l_out_option-tdarmod = 1. "确认本地设置是否有效
l_output_options-tdiexit = 'X'. “预览打印后直接退出
l_control_parameters-no_dialog = 'X'. “打印前不显示打印设置对话框
l_control_parameters-preview = 'X '. ”直接显示预览结果
l_job_output_options-tdpreview = ' '. “打印预览模式,预览模式下可控制打印数量
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Z_LABEL01' ”smartforms名称
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
FM_NAME = fm_name ”smartforms名称对应的函数名称
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
CALL FUNCTION fm_name
EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = l_control_parameters
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
OUTPUT_OPTIONS = l_output_options
USER_SETTINGS = ''
PN = '1111' “以下是用户输入数据
IPS = 'abs'
COLOR = '白色'
DATETIME = '20210308'
MACHINE = ''
WEIGHT = ''
STAFF = ''
CLEAR = ''
SN = ''
DIRECTION = ''
IMPORTING
* DOCUMENT_OUTPUT_INFO =
* JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS = l_job_output_options
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.