本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以使用批处理实用程序 M2RUNCMD 直接从 JCL 运行 Rocket Software(前身为 Micro Focus)命令、脚本和系统调用,而不必从终端或命令提示符处运行它们。命令的输出将记录到批处理作业的后台处理日志中。
支持的平台
您可以在以下平台上使用 M2RUNCMD:
-
火箭软件运行时(在亚马逊上 EC2)
-
火箭软件企业开发者 (ED) 和 Rocket Software 企业服务器 (ES) 产品的所有变体。
在亚马逊上配置 M2RUNCMD 以实现 AWS 大型机现代化运行时 EC2(包括 AppStream 2.0)
如果您迁移的应用程序在 Amazon AWS 的大型机现代化运行时上运行 EC2,请按如下方式配置 M2RUNCMD。
-
更改 Micro Focus JES 程序路径
以包含批处理实用程序的二进制位置。如果您必须指定多个路径,请在 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
-
样本 JCLs
要测试安装,您可以使用以下任一示例 JCLs。
RUNSCRL1.jcl
此示例 JCL 创建一个脚本并运行它。第一步创建一个名为 /tmp/TEST_SCRIPT.sh
的脚本,其中包含来自 SYSUT1
流内数据的内容。第二步设置运行权限并运行第一步中所创建的脚本。你也可以选择只执行第二步来运行已经存在的 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
/*
//