SAP调用smartform打印、批量打印示例
- 代码
DATA:GO_GRID TYPE REF TO CL_GUI_ALV_GRID. DATA: GT_PRINT TYPE TABLE OF ZFICO008_HEAD, GS_PRINT TYPE ZFICO008_HEAD. FORM FRM_USER_COMMAND USING UCOMM LIKE SY-UCOMM "ALV调用FROM RS_SELFIELD TYPE SLIS_SELFIELD. DATA LS_STABLE TYPE LVC_S_STBL. CASE UCOMM. WHEN '&PRT'. CLEAR: GT_PRINT. PERFORM FRM_PROCESS_DATA. PERFORM FRM_CHECK_DATA. " PERFORM FRM_PRINT_DATA. WHEN OTHERS. ENDCASE. LS_STABLE-ROW = 'X'. LS_STABLE-COL = 'X'. CALL METHOD GO_GRID->REFRESH_TABLE_DISPLAY EXPORTING IS_STABLE = LS_STABLE. ENDFORM. *&---------------------------------------------------------------------* *& Form FRM_PRINT_DATA *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM FRM_PRINT_DATA. DATA: LS_CONTROL TYPE SSFCTRLOP, LS_OUTPUT TYPE SSFCOMPOP, LS_JOBOUT TYPE SSFCRESOP, FN_NAME TYPE RS38L_FNAM. DATA:LS_RETURN TYPE SSFCRESCL. "打印返回值 *--------------------ssf open-----------------* LS_OUTPUT-TDDEST = 'LP02'. LS_OUTPUT-TDIEXIT = 'X'. LS_OUTPUT-TDIMMED = 'X'. LS_OUTPUT-TDDELETE = 'X'. LS_OUTPUT-TDNOPREV = ''. LS_CONTROL-PREVIEW = 'X'. " 打印预览 LS_CONTROL-NO_DIALOG = ' '. LS_CONTROL-NO_OPEN = 'X'. LS_CONTROL-NO_CLOSE = 'X'. CALL FUNCTION 'SSF_OPEN' EXPORTING USER_SETTINGS = '' OUTPUT_OPTIONS = LS_OUTPUT CONTROL_PARAMETERS = LS_CONTROL IMPORTING JOB_OUTPUT_OPTIONS = LS_JOBOUT EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. IF SY-SUBRC <> 0. EXIT. ENDIF. *______________________________________________* CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZFICO008B' IMPORTING FM_NAME = FN_NAME. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CLEAR GS_PRINT. LOOP AT GT_PRINT INTO GS_PRINT. CALL FUNCTION FN_NAME EXPORTING CONTROL_PARAMETERS = LS_CONTROL OUTPUT_OPTIONS = LS_OUTPUT USER_SETTINGS = '' LS_HEAD = GS_PRINT "入参 EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. ENDLOOP. *______________________________________________* *-----------------ssf close-------------------* CALL FUNCTION 'SSF_CLOSE' IMPORTING JOB_OUTPUT_INFO = LS_RETURN EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 OTHERS = 4. *---------------------------------------------* ENDFORM. *&---------------------------------------------------------------------* *& Form FRM_CHECK_DATA *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM FRM_CHECK_DATA . "check something ENDFORM. *&---------------------------------------------------------------------* *& Form FRM_PROCESS_DATA *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM FRM_PROCESS_DATA . "process print data ENDFORM.
post SAP-Garson
原文链接:https://blog.csdn.net/qq_30797051/article/details/121531000文章来自于网络,如果侵犯了您的权益,请联系站长删除!