Существует ли команда TSO, написанная в REXX или CLIST, которая может определить, что ВОЗ поставила в очередь набор данных?

Мне нужно написать REXX Exec или Clist, чтобы определить, что ВОЗ поставила в очередь набор данных, и отобразить удобное для пользователя сообщение в диалоговом приложении ISPF. Из-за проблем с конфигурацией системы команда%WHOHAS недоступна. Однако я также знаю, что сам ISPF (опция 3.4) имеет проприетарные хуки в мэйнфрейме zos для отображения информации о ресурсах в очереди, которая мне нужна - так что информация может быть получена. К сожалению, я не знаю, как получить доступ к этим данным извне ISPF 3.4 с помощью REXX Exec или CLIST. Какие-либо предложения?

2 ответа

Решение

Это оказалось очень простым исправлением. Ничего фантастического. Если в clist используется CONTROL NOFLUSH, он не прервется, если не удастся определить местоположение набора данных. У нас также есть установленный продукт под названием TSOPLUS, который отформатирует сообщение для терминала, определяющее, кто выделил набор данных в случае сбоя выделения. Отключив FLUSH, а затем отправив systrapping сообщение TSOPLUS, я смог извлечь нужную информацию.

При первом прочтении я подумал, что это будет довольно просто. Не совсем!

В ISPF вы можете получить панель для отображения того, кто держит набор данных, набрав в командной строке следующее:

TSO ISRDDN ENQ 'Набор данных-имя'

Команда ISRDDN описана по адресу: http://publibz.boulder.ibm.com/cgi-bin/bookmgr/FRAMESET/ispzug50/G.0?ACTION=MATCHES&REQUEST=isrddn&TYPE=FUZZY&SHELF=ispzpm50&DT=20060621022939

Вызов ISRDDN возможен изнутри программы REXX, но я не знаю, как записать вывод в переменную основы, где вы можете разобрать его и выдать сообщение. Я не смог найти интерфейс командной строки для ISRDDN, который позволяет захватывать выходные данные.

Есть еще одна утилита по адресу: http://www.sillysot.com/mvs/index.htm?queryenq.htm которая утверждает, что делает это тоже, я никогда не пробовал, поэтому не могу комментировать дальше.

Я погуглил ваш вопрос, и похоже, что несколько человек использовали команду MVS

D GRS,RES=(*,dsname)
чтобы определить, кто держит набор данных. Однако для этого требуется консольный доступ, поэтому он не подходит для большинства пользователей. Если доступ к консоли разрешен, вы можете запустить сеанс консоли под REXX и довольно легко получить выходные данные, см. http://www.redbooks.ibm.com/redbooks/pdfs/sg244626.pdf.

Последнее место для поиска - ленты CBT (бесплатное программное обеспечение для мэйнфреймов IBM). Здесь вы можете найти несколько реализаций команды WHOHAS ISPF.

Извините, но это лучшее, что я могу сделать.

Другие вопросы по тегам