2017-01-13 3 views
0

При выполнении задания JCL я нашел следующий фрагмент кода. Что это значит? Как узнать, что содержит% var2fix?Как узнать, что содержит переменная в SYSTSIN?

//JS0005 EXEC PGM=IKJEFT01 
//SYSEXEC DD DSN=ISPFGRP.ICEC.ISPFEXEC,DISP=SHR 
//INPUT DD DSN=PSMC.CMDS.N001(0),DISP=SHR 
//SYSPRINT DD SYSOUT=* 
//SYSUDUMP DD SYSOUT=* 
//SYSTSPRT DD SYSOUT=* 
//SYSTSIN DD * 
%VAR2FIX 
/* 
+1

В нем ничего нет. Это не переменная. Если вы ожидаете использовать эту работу, кто-то на вашем сайте должен рассказать вам о ценности этого фрагмента текста, который никто не может даже догадываться. Это просто текст. Кто-то знает, что находится в SYSEXEC, и что он делает с INPUT, и для какой цели используется SYSTSIN, и это не кто-то за пределами вашего сайта, и, возможно, даже вне вашего отдела. –

+0

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, поскольку полностью зависит от вашего сайта. –

+1

@BillWoodger, возможно, подумайте, что хотя полный ответ сам по себе не может быть дан, что некоторые могут узнать из этого вопроса. – MikeT

ответ

4

Первое значение является программа, которая вызывается JCL, который IKJEFT01, которая в основном TSO (TIME ОБМЕН ВАРИАНТ) с помощью пакета. Если для аргументации программа была IEFBR14 (ничего не делать на основе BR 14, которая является филиалом для регистрации 14, регистр 14 с адресом возврата). Система SYSTSIN даже не открыта, и поэтому % VAR2FIX даже не будет выглядеть.

Вернуться к IKJEFT01 DDNAME SYSTSIN читается как терминала ввода т.е. это в основном командной строки для родной TSO. Как таковой % VAR2FIX - это команда, которую вы можете реплицировать, набрав TSO %VAR2FIX, где можно ввести команду (обратите внимание, что подавляющее большинство людей не используют непосредственно собственный TSO в настоящее время, вместо этого они используют «более дружественную среду», такую ​​как ISPF/PDF или Roscoe).

Теперь, если вместо % VAR2FIX был IEFBR14 тогда я мог бы сказать, что это значит, как IEFBR14 является хорошо известная общая программа, которая может быть вызвана как команда. например вы можете сделать TSO IEFBR14 (помните, что он ничего не делает). Теперь % VAR2FIX - не обычная команда, на самом деле это фактически определенная команда.

Назад к JCL, есть DD заявление с именем д.Д. SYSEXEC, что, если я правильно помню, позволяет программы Rexx, в соответствующем наборе данных, которые будут работать как команда. Я думаю, что если вы посмотрите на набор данных, выделенный для SYSEXEC, вы найдете участника под названием VAR2FIX, и именно эта программа/команда будет вызываться. Если я правильно помню, то % игнорируется в отношении имени команды.

+0

Из памяти% -> clist/rexx; например, если у вас есть rexx pgm IEFBR14, при вводе IEFBR14 будет выполняться стандартный IEFBR14, но% IEFBR14 будет выполнять rexx pgm. % Позволяет выполнить clist/rexx с тем же именем, что и стандартная команда. Итак, вы правы. VAR2FIX почти наверняка представляет собой rexx pgm в ISPFGRP.ICEC.ISPFEXEC –

+1

@BruceMartin, да, это то, что я думал (смотрит на выделение DD до системных libs, если я ... :)), но немного устал от * Если я правильно помню. * :) – MikeT

+0

Спасибо Mike за полезную сообщение ! Когда я открыл PDS, выделенный для SYSEXEC, я нашел член с именем VAR2FIX с кодом REXX. –