Можно ли вывести содержимое JCL SYSOUT в плоский файл az / OS? - PullRequest
0 голосов
/ 27 февраля 2019

Мне интересно знать, возможно ли получить содержимое SYCLUT JCL в плоский файл az / OS;либо на том же шаге JCL, либо на шаге JCL, выполняемом позже в том же JCL.

Внимание ¡, я не имею в виду наоборот;который генерирует директорию SYSOUT в файле z / OS, а затем, на другом шаге JCL, создает дамп в SYSOUT.

Например;в следующем шаге JCL мне интересно получить содержимое SYSOUT = 2 в виде плоского файла.

Может кто-нибудь пролить свет на этот вопрос?.

Заранее большое спасибо.

//WNMPRAD5 EXEC PGM=WNMPRAD5,COND=(4,LT)                     
//SYSPRINT DD SYSOUT=1                                       
//SYSDBOUT DD SYSOUT=1                                       
//ENTRADA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.UNLDBI,DISP=OLD
//SORTIDA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.OUTPUT.V02,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FB,LRECL=278),                      
//            SPACE=(27998,(2500,2500),RLSE)                 
//SYSOUT   DD SYSOUT=2                                       
//SYSIN    DD *                                              
N0100                                                        
/*                                                           

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Да.Вы должны правильно настроить LRECL и RECFM, но вы можете получить их из исходного кода в программу, которую вы выполняете.Большинство стандартных отчетов - 133 и FB или 132 и FBA.Кажется, я помню, что IDCAMS был 121 и VBA.

//WNMPRAD5 EXEC PGM=WNMPRAD5,COND=(4,LT)                     
//SYSPRINT DD SYSOUT=1                                       
//SYSDBOUT DD SYSOUT=1                                       
//ENTRADA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.UNLDBI,DISP=OLD
//SORTIDA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.OUTPUT.V02,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FB,LRECL=278),                      
//            SPACE=(27998,(2500,2500),RLSE) 
//SYSOUT   DD  DISP=(NEW,CATLG,DELETE),
//             DSN=&SYSUID..STEPNAME.SYSOUT,
//             AVGREC=K,
//             LRECL=133,
//             RECFM=FB,
//             SPACE=(500,(10,10))
//SYSIN    DD *                                              
N0100                                                        
/*
0 голосов
/ 27 февраля 2019

Укажите параметр расположения и имя набора данных в sysout.Таким образом, это будет что-то вроде

// sysout dd dsn = abc.xyz, disp = (по вашему выбору)

0 голосов
/ 27 февраля 2019

SYSOUT ничем не отличается от любого другого DD, но по соглашению используется для вывода.Вы можете создать такой DD в STEP, который создает файл:

//SYSOUT   DD DSN=MY.SYSOUT,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0),                      
//            SPACE=(27998,(2500,2500),RLSE)                 

DCB будет различаться в зависимости, но 133 (при условии, что символ ASA) является распространенным.Нет необходимости в другом шаге.

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

...