Comment passer des arguments à programme REXX par JCL
-
21-09-2019 - |
Question
Peut-on passer des arguments à un programme REXX de JCL?
Je suppose que, JCL PARM peut être utilisé comme nous utilisons pour passer des arguments aux programmes COBOL .. Ne mettez vos idées ici ...
La solution
Vous voulez EXEC PGM=IRXJCL,PARM='member_name exec_args'
. SYSEXEC
doit pointer vers le PDS contenant member name
. SYSTSIN
est l'entrée pour PULL
, SYSTSPRT
est la sortie DD pour SAY
Consultez la " Utilisation REXX dans TSO / E et autres espaces d'adresses MVS " chapitre dans la section " TSO / E REXX Guide de l'utilisateur " livre (SA22-7791) pour un exemple complet.
Autres conseils
Une ajouté Note: Si votre exec REXX utilise les services de ISPF, vous pouvez l'exécuter en batch avec PGM = IKJEFTxx (xx étant un suffixe variable) et l'allocation ISPxLIB dans l'étape de travail
.Si les paramètres associés au nom de membre REXX est supérieure à 100 octets, la méthode mentionnée par Ron Patterson ne fonctionnera pas comme la syntaxe JCL permet seulement une longueur de paramater maximum de 100 octets. Dans ce cas, je recommande d'utiliser IKJEFTxx (déjà publié par Tony). Vous devez alors passer le nom du programme REXX sous forme de données InStream à SYSTSIN. Les paramètres à ce programme peuvent tout simplement écrit derrière le nom du programme. Lorsque vous avez besoin de plus d'une ligne, utilisez le trait d'union comme dernier caractère d'une ligne pour indiquer la concaténation avec la ligne suivante. Exemple:
//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
/*
//
Je recevais pour EXECIO, BIBDEF de base, RC (-3) des commandes en cours d'exécution quand j'ai essayé IRXJCL. Je souhaite qu'il y ait une meilleure documentation sur ce IRXJCL peut et ne peut pas faire.
Enfin suivi l'approche du lien ci-dessous, pour passer dynamiquement des valeurs à un REXX en les écrivant dans un fichier et la lecture du fichier. Comment faire pour exécuter SQL dymanic par l'utilitaire IKJEFT01