Можно ли вывести содержимое JCL SYSOUT в плоский файл a z/OS?
Мне интересно знать, возможно ли получить содержимое JCL SYSOUT в плоский файл z/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 ответа
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 на следующем шаге и скопировать на диск.
Укажите параметр расположения и имя набора данных в sysout. Итак, это будет что-то вроде
//sysout dd dsn=abc.xyz,disp=(по вашему выбору)
Да. Вы должны правильно настроить 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
/*