Может ли CLIST получить доступ к элементу PDS и файлу GDG?
Мне нужно проверить строку в файле GDG, например, чтобы проверить 'ABCDEFG' в файле: AAA.BBB.CCC.DDD(0).
Если ДА, добавьте эту строку 'ABCDEFG' в конец элемента PDS:
ABD.EFG.HIG (имена).
ЕСЛИ ОБА ФАЙЛЫ - PSD-ФАЙЛЫ, проблем нет, хотя я перешел на GDG и PDS, это не сработало.
Моя программа Clist не может выделить файл gdg, а также не может присоединиться к члену. Он переоценил член, когда я выделил файл для SHR и OLD. Мод не работал с файлом участника.
1 ответ
Clist может получить доступ к GDG, но вы должны преобразовать имя файла из относительной ссылки GDG (0) в полное имя набора данных. В вашем экзамене вам нужно будет сослаться на файл следующим образом: AAA.BBB.CCC.DDD.G1234V00 (где G1234V00 - самый последний идентификатор версии).
Как правило, вы можете сделать это, написав подпрограмму для запуска команды LISTCAT в наборе данных, SYSTRAPing для вывода и последующего синтаксического анализа полного имени в переменной CLIST.
Пример:
PROC 0
/* This illustrates a basic clist method using SYSTRAP */
/* to extract a fully qualified GDG dataset name */
CONTROL NOFLUSH NOPROMPT NOLIST NOCONLIST NOSYMLIST NOMSG MAIN
/* Target dataset name */
SET GDG = 'RAPP.RAP000.YQ.TAX.YQINFO.BK'
/* SET SYSTRAP LIMIT and execute IDCAMS LISTC command */
SET &SYSOUTTRAP = 300
LISTC ENTRIES(&GDG)
/* Calculate line number of last entry in LISTC results */
SET &I = &SYSOUTLINE-21
/* calculate ending position of GDG name in report */
SET &L = &LENGTH(&GDG) + 23
/* extract SYSTRAP data into clist string variable */
SET &C = &&SYSOUTLINE&I
/* substring data from SYSTRAP line into clist variable and list */
SET &D = &SUBSTR(17:&L,&STR(&C))
WRITE &D
END
Пример вывода...
RAPP.RAP000.YQ.TAX.YQINFO.BK.G8203V00