Pergunta

Podemos passar argumentos para um programa REXX da JCL?

Suponho que a JCL PARM pode ser usada como usamos para transmitir argumentos para os programas COBOL. Coloque suas idéias aqui ...

Foi útil?

Solução

Você quer EXEC PGM=IRXJCL,PARM='member_name exec_args'. SYSEXEC deve apontar para o PDS contendo member name. SYSTSIN é a entrada para PULL, SYSTSPRT é o dd de saída para SAY

Confira o "Usando o Rexx no TSO/E e em outros espaços de endereço do MVS"Capítulo no "Guia do usuário TSO/E Rexx"Livro (SA22-7791) Para um exemplo completo.

Outras dicas

Uma nota adicional: se o seu Rexx Exec usar os serviços ISPF, você poderá executá -lo em lote com PGM = ikjeftxx (xx sendo um sufixo variável) e alocando ISPXLIB na etapa de trabalho.

Se os parâmetros juntamente com o nome do membro do Rexx excederem 100 bytes, o método mencionado por Ron Patterson não funcionará, pois a sintaxe JCL permite apenas um comprimento máximo de paramater de 100 bytes. Nesse caso, recomendo o uso de ikjeftxx (já publicado por Tony). Você então precisa passar no nome do programa REXX como dados do Instruam para Systsin. Os parâmetros deste programa podem simplesmente escrever por trás do nome do programa. Quando você precisar de mais de uma linha, use o hífen como último caractere de uma linha para indicar a concatenação com a seguinte linha. Exemplo:

//EXAMPLE  EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=30
//SYSPRINT DD  SYSOUT=*                              
//SYSEXEC  DD  DISP=SHR,DSN=YOUR.REXX.LIBRARY    
//SYSTSPRT DD  SYSOUT=*                              
//SYSTSIN  DD  *                                     
  SCHLABB PARAMETER1 PARAMETER2 PARAMETER3 -
          VERY_LONG_PARAMETER4             -
          LAST_PARAMETER5                                
/*                                                   
//                                                   

Eu estava recebendo RC (-3) para o Execio Basic, libdef, comandos quando tentei executar o irxjcl. Eu gostaria que houvesse uma melhor documentação sobre o que o irxjcl pode e não pode fazer.

Finalmente, seguiu a abordagem do link abaixo, para passar valores dinamicamente para um rexx, escrevendo -os para um arquivo e leitura do arquivo. Como executar o SQL Dymanic através do utilitário ikjeft01?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top