*&---------------------------------------------------------------------* *& Form FRM_SET_PRINT_PARAM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * <--P_LS_CONTROL_PARAM text * <--P_LS_COMPOSER_PARAM text *----------------------------------------------------------------------* FORM sub_set_print_param CHANGING pv_control_param TYPE ssfctrlop pv_composer_param TYPE ssfcompop. DATA: ls_itcpo TYPE itcpo. DATA: lv_repid TYPE sy-repid. DATA: lv_device TYPE tddevice. DATA: lv_retcode TYPE sysubrc. lv_repid = sy-repid. CALL FUNCTION 'WFMC_PREPARE_SMART_FORM' EXPORTING pi_nast = nast pi_repid = lv_repid IMPORTING pe_returncode = lv_retcode pe_itcpo = ls_itcpo pe_device = lv_device. IF sy-subrc = 0 AND lv_retcode = 0. MOVE-CORRESPONDING ls_itcpo TO pv_composer_param. pv_composer_param-tdnewid = abap_true. pv_control_param-device = lv_device. pv_control_param-no_dialog = abap_true. pv_control_param-getotf = ls_itcpo-tdgetotf. pv_control_param-langu = nast-spras. ELSE. pv_composer_param-tdnewid = abap_true.“新的spool pv_composer_param-tdimmed = abap_true.”立即打印 pv_composer_param-tddest = print_co-desti.“打印机名称 pv_control_param-no_dialog = abap_true.”跳过手动选择打印机 pv_control_param-langu = print_co-spras. ENDIF. ENDFORM.
在调用FORM的时候检查USER_SETINGS 参数是否置空了,改参数默认是‘X’. 若改参数不为空,则系统会默认读取 user profile 里默认用户参数 设置的打印机,如果
用户参数没有设置,则会弹出打印机参数选择dialog。
CALL FUNCTION gv_fmname EXPORTING control_parameters = gs_control output_options = gs_options it_components = gt_components it_operations = gt_operations is_header = gs_header user_settings = ' ' EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.