通过JCL或REXX调用Netview的MEMSTOUT

Calling Netview's MEMSTOUT via JCL or REXX

我有一个 JCL 作业来为消息自动化编译多个 Netview REXX exec Table:

********************************* Top of Data ******************************
//REXXCOMP  JOBCARD
//*--------------------------------------------------------------------     
//*                                                                         
//* BATCH REXX COMPILE                                                      
//*                                                                         
//*--------------------------------------------------------------------     
//REXXCOMP PROC                                                             
//         EXEC REXXC,OPTIONS='XREF OBJECT'                                 
//REXX.SYSIN DD DSN=SYSAOC.PRODNETV.EXECS(&MEMIN),DISP=SHR               
//REXX.SYSCEXEC DD DSN=SYSAOC.PRODNETV.CEXEC(&MEMIN),DISP=SHR            
//         PEND                                                             
//*--------------------------------------------------------------------     
//S01 EXEC REXXCOMP,MEMIN='MEMBER01'                                        
//S02 EXEC REXXCOMP,MEMIN='MEMBER02'                                        
//S03 EXEC REXXCOMP,MEMIN='MEMBER03'                                        
//S04 EXEC REXXCOMP,MEMIN='MEMBER04'                                        
//S05 EXEC REXXCOMP,MEMIN='MEMBER05'                                        
//S06 EXEC REXXCOMP,MEMIN='MEMBER06'                                        
//S07 EXEC REXXCOMP,MEMIN='MEMBER07'                                        
//S08 EXEC REXXCOMP,MEMIN='MEMBER08'                                        
//S09 EXEC REXXCOMP,MEMIN='MEMBER09'                                        
//S10 EXEC REXXCOMP,MEMIN='MEMBER10'                                        

我想为此作业创建另一个 PROC 以触发 NCCF MEMSTOUT 命令:MEMSTOUT &MEMIN

执行此操作的理想方法是什么?

计时器、路由命令、另一个 REXX 或 JCL 作业?

编辑:

理想情况下,我想将以下命令添加到 PROC

MVS RO *ALL,%MEMSTOUT &MEMIN

在我们的商店中,Netview 命令 (%) 路由到所有 LPAR。

//REXXCOMP PROC                                                        
//         EXEC REXXC,OPTIONS='XREF OBJECT'                            
//REXX.SYSIN DD DSN=SYSAOC.PRODNETV.EXECS(&MEMIN),DISP=SHR          
//REXX.SYSCEXEC DD DSN=SYSAOC.PRODNETV.CEXEC(&MEMIN),DISP=SHR       
//       COMMAND  'RO *ALL,%MEMSTOUT ''&MEMIN''                                
//         PEND                                                                  

我只是不知道如何在 COMMAND 中加入符号。不断收到 JCL 运行时错误。

你不能这样为所欲为。根据 documentation...

Because the system usually executes an in-stream command as soon as it is converted, execution of the command will not be synchronized with the execution of any job or job step in the input stream. To synchronize a command with job processing, tell the operator the commands you want entered and when they should be issued, and let the operator enter them from the console.

...意味着该命令可能会在执行 REXXC 的未命名步骤之前执行。

您可以使用 IEBGENER 通过写信给 INTRDR 提交作业来实现您的目标。这也将解决您的符号替换问题,因为您可以将 SYMBOLS 参数与流内数据一起使用。

也许是这样的……

//REXXCOMP PROC                                                        
//         EXPORT SYMLIST=*
//         EXEC REXXC,OPTIONS='XREF OBJECT'                            
//REXX.SYSIN DD DSN=SYSAOC.PRODNETV.EXECS(&MEMIN),DISP=SHR          
//REXX.SYSCEXEC DD DSN=SYSAOC.PRODNETV.CEXEC(&MEMIN),DISP=SHR       
//SUBCMD   EXEC PGM=IEBGENER
//SYSUT1   DD  *,DLM=$$,SYMBOLS=JCLONLY
//jobname  JOB job-parameters
//       COMMAND  'RO *ALL,%MEMSTOUT ''&MEMIN''                                
//*
$$
//SYSUT2   DD SYSOUT=(A,INTRDR)
//SYSIN    DD DUMMY
//SYSPRINT DD SYSOUT=*
//         PEND                                                                  

...这只是对您所写内容的徒手修改,但我想您明白了。