如果我们在项目实战中需要打印多个请求,则直接用下面的perform
FORM SHOWFORM. DATA: W_SFNAME TYPE RS38L_FNAM. 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'. "1:CHINESE LS_CONTROL_PARAM-NO_OPEN = 'X'. LS_CONTROL_PARAM-NO_CLOSE = 'X'. CALL FUNCTION 'SSF_OPEN' “调用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. IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZMMF0009' IMPORTING FM_NAME = W_SFNAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. LOOP AT GT_DATA INTO GS_DATA. CALL FUNCTION W_SFNAME " '/1BCDWB/SF00000322' EXPORTING CONTROL_PARAMETERS = LS_CONTROL_PARAM OUTPUT_OPTIONS = LS_COMPOSER_PARAM WA_HEADER = GS_DATA-HEADER TABLES IT_ITEM = GS_DATA-ITEMS EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. IF SY-SUBRC <> 0. LEAVE TO LIST-PROCESSING. ENDIF. 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. " SHOWFORM 复制代码