Ibm midrange AS/400带配置文件交换和作业输出的批处理作业

Ibm midrange AS/400带配置文件交换和作业输出的批处理作业,ibm-midrange,Ibm Midrange,我有一个由QSECOFR提交的批处理作业。该作业将向常规用户执行配置文件切换 然后,CHGJOB命令将作业的默认outq更改为常规用户配置文件的outq 然后运行报告 报告总是以与QSECOFR PRTDEV相关的outq结束。尝试更改作业PRTDEV总是失败,例外情况是无法更改作业PRTDEV 我需要这些报告去办公室 报告之前的OVRPRTF将是所有报告的一项非常大的工作 有什么建议吗?简短回答:您可能需要设置输出队列,而不是打印机设备 长答案: 从IBMi打印是一个有无数配置的黑匣子。让我们

我有一个由QSECOFR提交的批处理作业。该作业将向常规用户执行配置文件切换

然后,CHGJOB命令将作业的默认outq更改为常规用户配置文件的outq

然后运行报告

报告总是以与QSECOFR PRTDEV相关的outq结束。尝试更改作业PRTDEV总是失败,例外情况是无法更改作业PRTDEV

我需要这些报告去办公室

报告之前的OVRPRTF将是所有报告的一项非常大的工作


有什么建议吗?

简短回答:您可能需要设置输出队列,而不是打印机设备

长答案: 从IBMi打印是一个有无数配置的黑匣子。让我们浏览一些默认设置。选择打印位置涉及的对象的完整列表包括系统值、作业描述、用户配置文件、工作站描述、打印机文件和SBMJOB本身。在这种情况下,我们可以只关心打印机文件和作业

打印机文件 从打印机文件开始,所有打印输出都经过打印机文件,甚至使用程序描述的输出进行输出。默认打印机文件是QSYSPRT,它包含相应属性的默认值,这些属性是:

Device:                          DEV                      
  Printer  . . . . . . . . . . .                *JOB______

Spool the data . . . . . . . . . SPOOL          *YES______        
Spooled output queue . . . . . . OUTQ           *JOB______        
  Library  . . . . . . . . . . .                  __________          
如果
SPOOL
*是
,则输出到将转到
OUTQ
属性上的输出队列,否则将直接打印到
DEV
属性中指定的打印设备。请注意,默认情况下,打印机输出是假脱机的,因此会发送到指定的输出队列

OUTQ属性

OUTQ
属性有两个特殊值,
*JOB
*DEV
<代码>*作业是默认值,并导致从作业本身获取输出队列。请注意,如果使用默认值,则不会使用打印机文件中的
DEV
属性。事实上,将打印机文件中的
DEV
属性用于假脱机打印输出的唯一方法是在
OUTQ
属性中指定
*DEV
。这里的第三个选项是指定从该打印机文件后台打印的文件转到特定的命名输出队列

工作-CHGJOB 当作业通过启动作业的命令、作业说明和系统值的复杂组合启动时,将选择作业的输出队列和打印设备。幸运的是,我们不必理解这一点,以便在作业运行后重定向输出。请记住,在打印机文件中,如果输出是假脱机的,则默认情况下会将其定向到输出队列,而不是打印机设备。
CHGJOB
命令可用于更改当前作业的输出队列。我们可能对
CHGJOB
命令中的两个参数感兴趣:

Print device . . . . . . . . . . PRTDEV         *SAME_____   
Output queue . . . . . . . . . . OUTQ           *SAME_____     
  Library  . . . . . . . . . . .                  __________

如果我们使用打印机文件中的默认值,设置
PRTDEV
参数将无效,因为我们将输出发送到输出队列。我们需要设置
OUTQ
参数。通过将
OUTQ
参数设置为
*DEV
,我们仍然可以告诉作业使用
PRTDEV
参数,但是在这里简单地设置
OUTQ
参数更容易。这里还有其他选择。对于交互式作业,我们可以使用
*WRKSTN
将作业的输出定向到工作站描述中指定的输出队列,如果我们希望将用户的打印输出定向到正在使用的工作站附近的打印机,或者将用户的打印输出发送到用户配置文件中指定的输出队列。正如你所知道的,有一百万个配置选项,我甚至没有在这个答案中介绍其中的大部分。如果需要更多信息,可以查看IBM知识中心中的工作管理和打印手册

简短回答:您可能需要设置输出队列,而不是打印机设备

长答案: 从IBMi打印是一个有无数配置的黑匣子。让我们浏览一些默认设置。选择打印位置涉及的对象的完整列表包括系统值、作业描述、用户配置文件、工作站描述、打印机文件和SBMJOB本身。在这种情况下,我们可以只关心打印机文件和作业

打印机文件 从打印机文件开始,所有打印输出都经过打印机文件,甚至使用程序描述的输出进行输出。默认打印机文件是QSYSPRT,它包含相应属性的默认值,这些属性是:

Device:                          DEV                      
  Printer  . . . . . . . . . . .                *JOB______

Spool the data . . . . . . . . . SPOOL          *YES______        
Spooled output queue . . . . . . OUTQ           *JOB______        
  Library  . . . . . . . . . . .                  __________          
如果
SPOOL
*是
,则输出到将转到
OUTQ
属性上的输出队列,否则将直接打印到
DEV
属性中指定的打印设备。请注意,默认情况下,打印机输出是假脱机的,因此会发送到指定的输出队列

OUTQ属性

OUTQ
属性有两个特殊值,
*JOB
*DEV
<代码>*作业是默认值,并导致从作业本身获取输出队列。请注意,如果使用默认值,则不会使用打印机文件中的
DEV
属性。事实上,将打印机文件中的
DEV
属性用于假脱机打印输出的唯一方法是在
OUTQ
属性中指定
*DEV
。这里的第三个选项是指定从该打印机文件后台打印的文件转到特定的命名输出队列

工作-CHGJOB 当作业通过启动作业的命令、作业说明和系统值的复杂组合启动时,将选择作业的输出队列和打印设备。幸运的是,我们不必理解这一点,以便在作业运行后重定向输出。从打印机文件中记住,如果