这是我提交后台作业的代码的概述:
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = v_jobname
sdlstrtdt = sy-datum
sdlstrttm = sy-uzeit
IMPORTING
jobcount = v_jobcount.
SUBMIT (gc_report) AND RETURN
USING SELECTION-SET gc_variant
WITH SELECTION-TABLE t_seltab
USER sy-uname
VIA JOB v_jobname
NUMBER v_jobcount.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = v_jobcount
jobname = v_jobname
strtimmed = abap_true.
用户拥有其他任务所需的默认打印机:
因此,当此代码运行时,它会自动将线轴打印到默认打印机。
如何更改我的
SUBMIT
语句以停止打印线轴,但仍使其在 SM37 中可见?我找到了一种方法,即使用系统用户提交报告,但某些用户没有为其他用户安排作业的授权,因此该方法不起作用。
首先调用函数
GET_PRINT_PARAMETERS
,传递 no_dialog
和 mode
参数:
DATA: ls_print_parameters TYPE pri_params,
lc_valid_prt_param TYPE flag.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
no_dialog = 'X'
mode = 'BATCH'
immediately = ' '
IMPORTING
out_parameters = ls_print_parameters
valid = lv_valid_prt_param
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
并将接收到的结构
ls_print_parameters
传递给SUBMIT
调用:
SUBMIT (gc_report) TO SAP-SPOOL
SPOOL PARAMETERS ls_print_parameters
WITHOUT SPOOL DYNPRO
...