

AWS Il servizio di modernizzazione del mainframe (esperienza Managed Runtime Environment) non è più aperto a nuovi clienti. Per funzionalità simili a AWS Mainframe Modernization Service (esperienza Managed Runtime Environment), esplora AWS Mainframe Modernization Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. [Per ulteriori informazioni, consulta AWS Modifica della disponibilità di Mainframe Modernization.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilità batch M2RUNCMD
<a name="m2runcmd"></a>

È possibile utilizzare M2RUNCMD, un programma di utilità batch, per eseguire comandi, script e chiamate di sistema di Rocket Software (precedentemente Micro Focus) direttamente da JCL invece di eseguirli da un terminale o da un prompt dei comandi. L'output dei comandi viene registrato nello spool log del processo batch.

**Topics**
+ [Piattaforme supportate](#m2runcmd-platforms)
+ [Configura M2RUNCMD per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream](#m2runcmd-configure)
+ [Esempio JCLs](#m2runcmd-sample-jcls)

## Piattaforme supportate
<a name="m2runcmd-platforms"></a>

È possibile utilizzare M2RUNCMD sulle seguenti piattaforme:
+ Rocket Software Runtime (su Amazon EC2)
+  Tutte le varianti dei prodotti Rocket Software Enterprise Developer (ED) e Rocket Software Enterprise Server (ES).

## Configura M2RUNCMD per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream
<a name="m2runcmd-configure"></a>

Se le applicazioni migrate sono in esecuzione sul runtime di modernizzazione del AWS mainframe su Amazon EC2, configura M2RUNCMD come segue.
+ Modificate il [percorso del programma Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) per includere la posizione binaria per le utilità batch. Se è necessario specificare più percorsi, utilizzate i due punti (:) per separare i percorsi su Linux e il punto e virgola (;) su Windows.
  + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
  + Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
  + Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

## Esempio JCLs
<a name="m2runcmd-sample-jcls"></a>

Per testare l'installazione, è possibile utilizzare uno dei seguenti esempi JCLs.

 **RUNSCRL1.jcl**

Questo esempio di JCL crea uno script e lo esegue. Il primo passaggio crea uno script chiamato `/tmp/TEST_SCRIPT.sh` e con contenuti provenienti da dati `SYSUT1` in-stream. Il secondo passaggio imposta l'autorizzazione di esecuzione ed esegue lo script creato nel primo passaggio. Puoi anche scegliere di eseguire solo il secondo passaggio per eseguire i comandi di sistema e il software Rocket già esistenti.

```
//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**

L'output del comando o dello script che viene eseguito viene scritto nel `SYSOUT` registro. Per ogni comando eseguito, visualizza il comando, l'output e il codice restituito.

```
************ 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**

Questo JCL di esempio utilizza RUNCMD per eseguire più comandi.

```
//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
/*
//
```