

AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) と同様の機能については、 AWS Mainframe Modernization Service (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、[AWS 「 Mainframe Modernization の可用性の変更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# M2RUNCMD バッチユーティリティ
<a name="m2runcmd"></a>

バッチユーティリティプログラムである M2RUNCMD を使用して、ターミナルまたはコマンドプロンプトから実行するのではなく、JCL から直接 Rocket Software (旧 Micro Focus) コマンド、スクリプト、およびシステム呼び出しを実行できます。コマンドからの出力は、バッチジョブのスプールログに記録されます。

**Topics**
+ [サポートされているプラットフォーム](#m2runcmd-platforms)
+ [Amazon EC22 (AppStream 2.0 を含む) で Mainframe Modernization ランタイムに M2RUNCMD を設定する AWS AppStream](#m2runcmd-configure)
+ [サンプル JCL](#m2runcmd-sample-jcls)

## サポートされているプラットフォーム
<a name="m2runcmd-platforms"></a>

M2RUNCMD は、以下のどのプラットフォームでも使用できます。
+ Rocket Software Runtime (Amazon EC2)
+  Rocket Software Enterprise Developer (ED) および Rocket Software Enterprise Server (ES) 製品のすべてのバリアント。

## Amazon EC22 (AppStream 2.0 を含む) で Mainframe Modernization ランタイムに M2RUNCMD を設定する AWS AppStream
<a name="m2runcmd-configure"></a>

移行したアプリケーションが Amazon EC2 の AWS Mainframe Modernization ランタイムで実行されている場合は、次のように M2RUNCMD を設定します。
+ [Micro Focus JES プログラムパス](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html)をバッチユーティリティのバイナリロケーションが含まれるように変更します。複数のパスを指定する必要がある場合、Linux ではコロン (:) を使用してパスを区切り、Windows ではセミコロン (;) を使用してパスを区切ります。
  + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
  + Windows (32 ビット): `C:\AWS\M2\MicroFocus\Utilities\32bit`
  + Windows (64 ビット): `C:\AWS\M2\MicroFocus\Utilities\64bit`

## サンプル JCL
<a name="m2runcmd-sample-jcls"></a>

インストールのテストには、以下のサンプル JCL のいずれかを使用できます。

 **RUNSCRL1.jcl**

このサンプル JCL はスクリプトを作成して実行します。最初のステップでは、`SYSUT1` インストリームデータからのコンテンツを使用して、`/tmp/TEST_SCRIPT.sh` というスクリプトを作成します。2 番目のステップでは、実行権限を設定し、最初のステップで作成したスクリプトを実行します。また、2 番目のステップのみを実行して、既存の Rocket Software コマンドとシステムコマンドを実行することもできます。

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

実行されたコマンドまたはスクリプトからの出力は `SYSOUT` ログに書き込まれます。実行されたコマンドごとに、コマンド、出力、リターンコードが表示されます。

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

このサンプル JCL は RUNCMD を使用して複数のコマンドを実行します。

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