Как вызвать команду диалоговой панели в z/OS?

официальное руководство говорит использовать функцию CMD(your_statement), но я продолжаю получать ошибку нераспознанного ключевого слова. Я пытаюсь настроить основное меню параметров ISPF, и мне нужно отредактировать панель, чтобы при нажатии «R» запускался исполняемый файл Rexx. Вот часть кода панели, которую я использую:

 %                                                                  
 %                      ******************                          
 %                      *                *                          
 %                      * $2  %Edit      *                          
 %                      * $3  %Utility   *                          
 %                      * $6  %Command   *                          
 %                      * $SD %SDSF      *                          
 %                      * $D  %Datasets  *                          
 %                      * $X  %eXit      *                          
 %                      * $R  %REXX      *                          
 %                      *                *                          
 %                      ******************                          
 )PROC                                                              
   &ZSEL = TRANS ( TRUNC (&ZCMD,'.')                                
                 2,'PGM(ISREDIT) PARM(P,ISREDM01) SCRNAME(EDIT)'    
                 3,'PANEL(ISRUTIL) SCRNAME(UTIL)'                   
                 D,'PGM(ISRUDL) PARM(ISRUDLP) SCRNAME(DSLIST)'      
                 6,'PGM(ISRPTC) SCRNAME(CMD)'                       
                 SD,'PGM(ISFISP) NOCHECK NEWAPPL(ISF) SCRNAME(SDSF)'
                 R,'CMD(TSO EXEC 'IBM####.REXX(REXXSYSC)')'         
               ' ',' '                                              
                 X,'EXIT'                                           
                 *,'?' )                                            
   &NEXTOPT = .TRAIL                                                
 )END                                                               

Ошибка возникает, когда я пытаюсь присвоить оператору команды «R». Я предполагаю, что цитаты мешают, но команды TSO должны использовать эти цитаты для указания местоположения исполняемого файла Rexx. Каким должен быть правильный синтаксис для запуска этого Rexx exec из указанной папки? Извините за отступ для кода, он немного напортачил...


person user1588869    schedule 10.10.2012    source источник


Ответы (2)


После некоторого очень краткого тестирования выяснилось, что REXXSYSC должен находиться в библиотеке, которая находится в конкатенации SYSPROC или SYSEXEC для вашего сеанса ISPF, а затем синтаксис

R,'CMD(%REXXSYSC)' 
person cschneid    schedule 10.10.2012
comment
Правильно, Sysproc предназначен для программ clist или rexx (требуется /*rexx*/ в первой строке); sysexec для rexx. - person Bruce Martin; 11.10.2012

Хотя уже поздно отвечать на этот вопрос, я подумал, что, вероятно, мог бы добавить один или два указателя, которые могут быть полезны для тех, кто ищет подобное решение.

Чтобы проверить, включена ли библиотека, содержащая исходный код REXX, в SYSPROC/SYSEXEC, мы могли бы запустить следующую команду:

TSO ISRDDN

Вы можете легко проверить, существует ли там ваша библиотека. Если нет, его нужно будет включить, чтобы ваша целевая команда могла выполняться напрямую. Ссылка ниже иллюстрирует, как добавить вашу библиотеку в SYSEXEC / SYSPROC.

http://ibmmainframes.com/about48417.html

Пожалуйста, будьте бдительны, библиотеки в SYSEXEC / SYSPROC довольно чувствительны, и администратор Z/OS не будет доволен, увидев, что кто-то неавторизованный пытается заглянуть в него!

Спасибо.

person Dhruv Saxena    schedule 13.08.2013