z/OS JCL命令/*VS命令在进程中发出时失败



我正在尝试执行某个命令("VARY devaddr,OFFLINE"(,以便在系统启动期间自动运行。我找不到命令应该放在哪里。我尝试在进程中设置命令,如下所示:

//MYPROG PROC MODULE='IEFBR14'  
/*$VS,'V 0A92,OFFLINE'         
//DOIT   EXEC PGM=&MODULE      
//*  

如果我发布START MYPROG,我总是会收到一个错误:

IEFC452I MYPROG-作业未运行-JCL错误181$HASP396 MYPROG终止
IEE122I启动命令JCL错误

然而,如果我从proc中删除命令('/*$VS,…'(,它的启动和完成都很好。此外,如果我创建了一个作业而不是proc,我可以提交它,它就会成功完成。

我的全部目的是让这个单元在每次IPL后离线,而无需操作员干预。有人有在JCL中嵌入命令的经验吗?或者有其他方法可以实现这一点吗?

在cshneid的回答之后,我编辑了我的流程如下:

//MYPROG PROC                          
//TEST   COMMAND  'VARY  0A92,OFFLINE' 

我的控制台输出现在看起来像:

S MYPROG                                                         
IRR812I PROFILE * (G) IN THE STARTED CLASS WAS USED 121          
TO START MYPROG WITH JOBNAME MYPROG.                     
$HASP100 MYPROG   ON STCINRDR                                    
VARY  0A92,OFFLINE                                               
IEFC452I MYPROG - JOB NOT RUN - JCL ERROR 124                    
IEF281I 0A92 NOW OFFLINE                                         
$HASP396 MYPROG   TERMINATED                                     
IEE122I START COMMAND JCL ERROR                                  
IEA989I SLIP TRAP ID=X33E MATCHED.  JOBNAME=*UNAVAIL, ASID=0059. 

无论我如何安排进程,这似乎都是一种模式。

有一种更好的方法可以让系统在初始化(IPL(时自动运行命令:使用COMMNDxxParmlib成员。有关详细信息,请参阅《z/OS MVS初始化和调整参考》。

SYS1.PARMLIB(或串联中的任何PARMLIB(中创建一个COMMNDxx成员,并在其中添加命令:

COM='V 0A92,OFFLINE'

您可以将命令放置在默认成员COMMND00或任何COMMNDxx成员中,并将xx后缀添加到要执行的命令成员列表中,即添加到IEASYSxx成员中的CMD=...参数中。

令人困惑的是,有两种方法可以做到这一点,而且它们的名称几乎相同。不建议使用JCL命令语句。推荐的方法是使用COMMAND语句。

请注意,该命令将在转换时发出,作业运行之前发出。

编辑(1(以添加。。。

IEFC452I和IEE122I的文档都表明您在的某个地方出现了JCL错误。胡乱猜测:工作没有台阶?

这次我终于有了它。我只是在COMMAND语句之后添加了一个EXEC语句。它看起来像这样:

//MYPROG PROC                          
//TEST   COMMAND  'VARY  0A92,OFFLINE' 
//STEP1  EXEC     PGM=IEFBR14          

当这个过程启动时,控制台上现在没有显示错误:

S MYPROG                                                                
IRR812I PROFILE * (G) IN THE STARTED CLASS WAS USED 229                 
TO START MYPROG WITH JOBNAME MYPROG.                            
$HASP100 MYPROG   ON STCINRDR                                           
VARY  0A92,OFFLINE                                                      
IEE303I 0A92     OFFLINE                                                
IEF695I START MYPROG   WITH JOBNAME MYPROG   IS ASSIGNED TO USER START1 
, GROUP SYS1                                                           
$HASP373 MYPROG   STARTED                                               
IEF403I MYPROG - STARTED - TIME=13.44.01                                
IEF404I MYPROG - ENDED - TIME=13.44.01                                  
$HASP395 MYPROG   ENDED - RC=0000                                       
$HASP250 MYPROG PURGED -- (JOB KEY WAS D9BC2A80)                        

谢谢!

相关内容

  • 没有找到相关文章

最新更新