本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用批次公用程式 M2RUNCMD,直接從 JCL 執行 Rocket Software (先前稱為 Micro Focus) 命令、指令碼和系統呼叫,而不是從終端機或命令提示字元執行它們。來自命令的輸出會記錄到批次任務的多工緩衝處理日誌。
支援平台
您可以在下列平台上使用 M2RUNCMD:
-
Rocket 軟體執行期 (在 Amazon EC2 上)
-
Rocket Software Enterprise Developer (ED) 和 Rocket Software Enterprise Server (ES) 產品的所有變體。
在 Amazon EC22 上為大型主機現代化執行時間設定 M2RUNCMD (包括 AppStream 2.0) AWS
如果您遷移的應用程式在 Amazon EC2 上的 AWS Mainframe Modernization 執行時間上執行,請設定 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 軟體和系統命令。
//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
/*
//