

AWS O Mainframe Modernization Service (experiência em Managed Runtime Environment) não está mais aberto a novos clientes. Para recursos semelhantes ao AWS Mainframe Modernization Service (experiência em Managed Runtime Environment), explore o AWS Mainframe Modernization Service (experiência autogerenciada). Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte Alteração na [disponibilidade AWS da modernização do mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Utilitário em lote M2RUNCMD
<a name="m2runcmd"></a>

Você pode usar o M2RUNCMD, um programa utilitário em lote, para executar comandos, scripts e chamadas de sistema da Rocket Software (antiga Micro Focus) diretamente da JCL, em vez de executá-los em um terminal ou prompt de comando. A saída dos comandos é registrada no log de spool do trabalho em lote.

**Topics**
+ [Plataformas compatíveis](#m2runcmd-platforms)
+ [Configure o M2RUNCMD para o tempo de execução de modernização de AWS mainframe no Amazon EC2 (incluindo 2.0) AppStream](#m2runcmd-configure)
+ [Amostra JCLs](#m2runcmd-sample-jcls)

## Plataformas compatíveis
<a name="m2runcmd-platforms"></a>

É possível usar o M2RUNCMD nas seguintes plataformas:
+ Rocket Software Runtime (no Amazon EC2)
+  Todas as variantes dos produtos Rocket Software Enterprise Developer (ED) e Rocket Software Enterprise Server (ES).

## Configure o M2RUNCMD para o tempo de execução de modernização de AWS mainframe no Amazon EC2 (incluindo 2.0) AppStream
<a name="m2runcmd-configure"></a>

Se seus aplicativos migrados estiverem sendo executados em tempo de execução de modernização de AWS mainframe no Amazon EC2, configure o M2RUNCMD da seguinte forma.
+ Altere o [caminho do programa Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) para incluir a localização binária dos utilitários em lote. Se precisar especificar vários caminhos, use dois-pontos (:) para separar caminhos no Linux e ponto e vírgula (;) no 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`

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

Para testar a instalação, você pode usar qualquer um dos exemplos a seguir JCLs.

 **RUNSCRL1.jcl**

Esse exemplo de JCL cria um script e o executa. A primeira etapa cria um script chamado `/tmp/TEST_SCRIPT.sh` e com conteúdo de dados no stream de `SYSUT1`. A segunda etapa define a permissão de execução e executa o script criado na primeira etapa. Você também pode optar por realizar apenas a segunda etapa para executar o Rocket Software e os comandos do sistema já existentes.

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

A saída do comando ou script executado é gravada no log de `SYSOUT`. Para cada comando executado, ele exibe o comando, a saída e o código de retorno.

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

Este exemplo de JCL usa RUNCMD para executar vários comandos.

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