Может ли CLIST получить доступ к элементу PDS и файлу GDG? - PullRequest
0 голосов
/ 13 августа 2010

Мне нужно проверить строку в файле GDG, например, чтобы проверить 'ABCDEFG' в файле: AAA.BBB.CCC.DDD (0).

ЕСЛИ ДА, добавьте эту строку 'ABCDEFG' в конец элемента PDS:

ABD.EFG.HIG (ИМЕНА).

ЕСЛИ ОБА ФАЙЛЫ - PSD-ФАЙЛЫ, проблем нет, хотя я перешел на GDG и PDS, это не сработало.

Моя программа Clist не может выделить файл gdg, а также не может присоединиться к члену. Он переоценил член, когда я выделил файл для SHR и OLD. Мод не работал с файлом участника.

1 Ответ

1 голос
/ 28 августа 2010

Клист может получить доступ к 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


...