首页 > 应用开发 > IT综合 > SmartForms 循环调用
在循环调用报表时,如何屏蔽打印机选择对话框。
[@more@]DATA: FNAME(30) VALUE 'ZPP16_SMARTFORM'.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: LABNOTE(20).
*&---------------------------------------------------------------------*
*& Form PRINT_FROM
*&---------------------------------------------------------------------*
FORM PRINT_FROM .
DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP .
DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP .
DATA: OUTOPT TYPE SSFCRESOP.
DATA: I_JOB_OUTPUT_INFO TYPE SSFCRESCL.
LS_CONTROL_PARAM-LANGU = '1'.
LS_CONTROL_PARAM-NO_OPEN = 'X'.
LS_CONTROL_PARAM-NO_CLOSE = 'X'.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
IMPORTING
JOB_OUTPUT_OPTIONS = OUTOPT
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
EXIT.
ENDIF.
* 根据SmartForm 名称获得Form的 Function Name
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = FNAME
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3 .
IF SY-SUBRC <> 0.
MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT ZITAB INTO W_ZITAB.
MOVE-CORRESPONDING W_ZITAB TO I_ZITAB.
CALL FUNCTION FM_NAME
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
PARA2 = LABNOTE
TABLES
ZITAB = I_ZITAB
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE 'Call SmartForms Error' TYPE 'E'.
ENDIF.
IF OUTOPT-TDPREVIEW = 'X'.
* EXIT. "是否全部预览
ENDIF.
CLEAR I_ZITAB[].
ENDLOOP.
CALL FUNCTION 'SSF_CLOSE'
IMPORTING
JOB_OUTPUT_INFO = I_JOB_OUTPUT_INFO
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " PRINT_FROM
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20037923/viewspace-1019028/ ,如需转载,请注明出处,否则将追究法律责任。