Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous pouvez utiliser M2RUNCMD, un utilitaire de traitement par lots, pour exécuter des commandes, des scripts et des appels système de Rocket Software (anciennement Micro Focus) directement depuis JCL au lieu de les exécuter à partir d'un terminal ou d'une invite de commande. Le résultat des commandes est enregistré dans le journal des spoules du traitement par lots.
Rubriques
Plateformes prises en charge
Vous pouvez utiliser M2RUNCMD sur les plateformes suivantes :
-
Rocket Software Runtime (sur Amazon EC2)
-
Toutes les variantes des produits Rocket Software Enterprise Developer (ED) et Rocket Software Enterprise Server (ES).
Configurer M2RUNCMD pour le runtime AWS Mainframe Modernization sur Amazon EC2 (y compris 2.0) AppStream
Si vos applications migrées s'exécutent sur le moteur d'exécution AWS Mainframe Modernization sur Amazon EC2, configurez M2RUNCMD comme suit.
-
Modifiez le chemin du programme Micro Focus JES
pour inclure l'emplacement binaire des utilitaires de traitement par lots. Si vous devez spécifier plusieurs chemins, utilisez deux points (:) pour séparer les chemins sous Linux des points-virgules (;) sous Windows. -
Linux :
/opt/aws/m2/microfocus/utilities/64bit
-
Windows (32 bits) :
C:\AWS\M2\MicroFocus\Utilities\32bit
-
Windows (64 bits) :
C:\AWS\M2\MicroFocus\Utilities\64bit
-
Exemple JCLs
Pour tester l'installation, vous pouvez utiliser l'un des exemples suivants JCLs.
RUNSCRL1.jcl
Cet exemple de JCL crée un script et l'exécute. La première étape consiste à créer un script appelé /tmp/TEST_SCRIPT.sh
et dont le contenu provient de données SYSUT1
in-stream. La deuxième étape définit l'autorisation d'exécution et exécute le script créé lors de la première étape. Vous pouvez également choisir de n'effectuer que la deuxième étape pour exécuter le logiciel Rocket et les commandes système déjà existants.
//RUNSCRL1 JOB 'RUN SCRIPT',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//* CREATE SCRIPT (LINUX)
//*-------------------------------------------------------------------*
//*
//STEP0010 EXEC PGM=IEBGENER
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
//SYSUT1 DD *
#!/bin/bash
set -x
## ECHO PATH ENVIRONMNET VARIABLE
echo $PATH
## CLOSE/DISABLE VSAM FILE
casfile -r$ES_SERVER -oc -ed -dACCTFIL
## OPEN/ENABLE VSAM FILE
casfile -r$ES_SERVER -ooi -ee -dACCTFIL
exit $?
/*
//SYSUT2 DD DSN=&&TEMP,
// DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=LSEQ,LRECL=300,DSORG=PS,BLKSIZE=0)
//*MFE: %PCDSN='/tmp/TEST_SCRIPT.sh'
//*
//*-------------------------------------------------------------------*
//* RUN SCRIPT (LINUX) *
//*-------------------------------------------------------------------*
//*
//STEP0020 EXEC PGM=RUNCMD
//*
//SYSOUT DD SYSOUT=*
//*
//SYSIN DD *
*RUN SCRIPT
sh /tmp/TEST_SCRIPT.sh
/*
//
SYSOUT
Le résultat de la commande ou du script exécuté est écrit dans le SYSOUT
journal. Pour chaque commande exécutée, il affiche la commande, le code de sortie et le code de retour.
************ CMD Start ************
CMD_STR: sh /tmp/TEST_SCRIPT.sh
CMD_OUT:
+ echo /opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin
/opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ casfile -rMYDEV -oc -ed -dACCTFIL
-Return Code: 0
Highest return code: 0
+ casfile -rMYDEV -ooi -ee -dACCTFIL
-Return Code: 8
Highest return code: 8
+ exit 8
CMD_RC=8
************ CMD End ************
RUNCMDL1.jcl
Cet exemple de JCL utilise RUNCMD pour exécuter plusieurs commandes.
//RUNCMDL1 JOB 'RUN CMD',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//* RUN SYSTEM COMMANDS *
//*-------------------------------------------------------------------*
//*
//STEP0001 EXEC PGM=RUNCMD
//*
//SYSOUT DD SYSOUT=*
//*
//SYSIN DD *
*LIST DIRECTORY
ls
*ECHO PATH ENVIRONMNET VARIABLE
echo $PATH
/*
//