Вызов MEMSTOUT Netview через JCL или REXX - PullRequest
0 голосов
/ 26 мая 2020

У меня есть задание JCL для компиляции нескольких исполняемых файлов Netview REXX для таблицы автоматизации сообщений:

********************************* 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'                                        

Я хотел бы создать еще один PRO C для этого задания, чтобы запустить команду NCCF MEMSTOUT: MEMSTOUT &MEMIN

Какой идеальный способ сделать это?

Таймер, команда маршрута, другое задание REXX или JCL?

EDIT:

Идеально Я хотел бы добавить следующую команду к PRO C

MVS RO *ALL,%MEMSTOUT &MEMIN

, которая в нашем магазине направляет ко всем LPAR команду Netview (%).

ie

//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                                                                  

Я просто не знаю, как включить символ c в КОМАНДУ. Продолжайте получать ошибку времени выполнения JCL.

1 Ответ

0 голосов
/ 27 мая 2020

Так вы не можете делать то, что хотите. Согласно документации ...

Поскольку система обычно выполняет команду в потоке, как только она преобразована, выполнение команды будет не синхронизироваться с выполнением любого задания или шага задания во входном потоке. Чтобы синхронизировать команду с обработкой задания, сообщите оператору, какие команды вы хотите ввести и когда они должны быть выполнены, и позвольте оператору ввести их с консоли.

... означает, что команда, вероятно, будет выполняться до того, как безымянный шаг выполнит REXX C.

Вы можете достичь sh своей цели, используя IEBGENER для отправки задания посредством записи в INTRDR. Это также решит вашу проблему замены символов c, поскольку вы можете использовать параметр 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                                                                  

... это всего лишь от руки модификации того, что вы написали, но я думаю, вы уловили идею.

...