Oracle Tuxedo Application Runtime for Batchには、Kornシェル・スクリプトのスクリプト構文を単純化して、読みやすく、簡単に保守できる一連の上位レベル関数があります。
これらの関数を使用すると、サービスの整合性が保証されます。組み合せて使用すると、関数を、先行する関数のリターン・コードの値に基づいて実行することができます。
関数は、通常、JCL変換の結果として生じるKornシェル・スクリプトから直接呼び出されます。
Oracle Tuxedo Application Runtime for Batchは、ジョブの異なる実行フェーズが明確に識別されるスクリプト・モデルを提案することによって、Kornシェル・スクリプトを正規化します。
EJR [-v] [-s sysoutDir] [-L LogDir] [-H] [-R StepName] [-d regexp] [-f EnvFile] [-t file] [-V n] [-l] [-J] Job
EJR (-i|-c|-e|-k) -j JOBID -r JES2ROOT [-l] [-J] Job
MT_SYSOUT
が定義されている場合はSysoutディレクトリ、それ以外の場合、sysoutファイルはLOディレクトリにリダイレクトされ、その後TMPディレクトリ(TuxJesなし)にリダイレクトされます。
EJRを使用してスクリプトを起動する場合、ログ・ファイルが生成されます。TuxJESを使用しない場合、ログ・ファイルの名前は次のとおりです。
JobName_YYYYMMDDHHMMSS_Jobid.log.
ログ・ファイルは、MT_LOG環境変数で指定されたディレクトリに作成されます。プロダクション・チームは、このファイルの内容から、ジョブの実行に関する詳細な情報を取得します。
TuxJESを使用する場合、関連のドキュメントを参照してください。
Oracle Tuxedo Application Runtime for Batchは、いくつかのリターン・コード変数を使用して、関数実行の結果とジョブ実行の結果を管理します。
COBOLランタイムrunb
は、ユーザーCOBOLプログラムを実行するために呼び出す前に、その実行コンテキストを初期化するために用意されています。このランタイムは、標準のCOBOLランタイムのかわりに使用されます。
Oracle Tuxedo Application Runtime for Batchは、データベース・コンテキストの使用を管理します。
b
オプションを指定してCOBOLプログラムが実行される場合(m_ProgramExec
)、ランタイム・コマンドrunb
は、MT_DB_LOGIN
環境変数の値に応じてプログラムをデータベースに接続します。これは正しい値を持つ必要があります(ユーザー名、パスワード、およびOracleインスタンス - 少なくとも「/」)。TuxJESセキュリティ構成ファイルで使用され、ジョブの送信時に指定されるか、または環境変数として設定されます。構成ファイルが指定されていない場合は、環境変数MT_DB_LOGIN
の値が使用されます。COMMIT (MT_RC_JOB = 0)
、またはロールバック(MT_RC_JOB != 0)
を実行し、データベースから切断します。Oracle Tuxedo Application Runtime for Batchでは、JCLごとに複数のジョブはサポートされません。
ヒント: | この機能は、メンテナンス・チームのために予約されています。 |
-t
引数を使用することで、内部関数を実行せずにKSHスクリプトを実行できます。-t
引数を使用すると、スクリプトのチェック(新しく開発されたスクリプトなど)や、異なるフェーズのチェーンの検証が可能になります。
prefix_
Object
Action
特に指定がないかぎり、リファレンス・ページの「形式」の項で説明されているコマンドは、下記の構文に従ってオプションや引数を受け付け、次に説明するように解釈されます。
name [ -option . . . ] [cmdarg . . . ]
『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』は、バッチ・ランタイム・ソフトウェアで供給されるシェル・レベルの関数を、アルファベット順に説明しています。
関数はシェル・スクリプトとバッチ・ランタイム実行可能ファイルの間のインタフェース(API)に対応します。m_JclibSetなど、一部のスクリプトは、変換段階だけに使用され、実行で利用できる拡張スクリプトには存在しません。
m_CondElse
この関数は、m_CondIf関数の代替部分を示します。
m_CondEndif
m_CondExec - 条件付実行(プログラムまたはプロシージャ)。
m_CondExec condexp [condexp...]
条件付実行。条件がtrueの場合、現在の手順の残りのコマンドは無視されます。各条件式は、EVEN、ONLYまたはvalue, operator[,step]条件のいずれかが含まれます。m_CondExec文には複数の条件式が含まれることがあり、この関連付けは、様々な条件の論理ORを指定します。
STEPEC01
」などのラベルの手順と置き換えます。<step>がプロシージャで手順のリターン・コードを参照する場合、「STEP_PROCNAME_NUM
」と置き換えます。ここで、「PROCNAME
」はプロシージャ名を、「NUM
」はプロシージャ・コールのシーケンス番号を示します。
m_CondExec EVEN
m_CondExec 4,LT,STEPEC01 8,LT,STEPEC02 ONLY
プロシージャで手順のリターン・コードを参照する方法は次のとおりです。
m_CondExec 4,LT,STEP_PROCNAME_NUM ONLY
ここでPROCNAME
はプロシージャ名、NUM
はプロシージャ・コールの順序番号です。
m_CondIf "condexp [condexp…]"
「condexp」パラメータに含まれる条件を実行します。if条件レベルのネストが許可されます。
m_CondIf " RC,EQ,3"
注: | リターン・コードが3に等しい場合に、このm_CondIf文の後の文が実行されます。 |
m_DBTableLoad: 入力ファイルの内容をデータベース表に読み込みます。
m_DBTableLoad -t -i [-e] [-d] [-D][-a] [-r]
MT_DSNUTILB_LOADUNLOAD
が"yes
"に設定されている場合、この関数は、データをファイルからDBの表にロードするために、COBOLプログラム"schema-table-L
"を呼び出します。MT_CTL
は使用されません。COBOLプログラムは、Workbench Rdbms Convertorによって生成されます。
MT_DSNUTILB_LOADUNLOAD
が"yes
"以外の値に設定されている場合は、この関数は、ddnameがMT_CTL
であるファイルに格納されているコマンドを実行します。
このコマンドは、ターゲット・データベースに従い、Oracle用のSQLLDR
コマンドまたはDB2LUW
用のDB2 LOAD
コマンドのいずれかになります。
MT_DSNUTILB_LOADUNLOAD
が"yes
"に設定されている場合は、このオプションの値は、次の2つの形式、TableName
またはSchemaName.TableName
のいずれかになります。 値にスキーマ名が含まれない場合は、呼び出されるCOBOLプログラム名は${MT_DB_DEFAULT_SCHEMA}-TableName-L
になります。 値にスキーマ名が含まれる場合は、呼び出されるCOBOLプログラム名はSchemaName-TableName-L
になります。
MT_DSNUTILB_LOADUNLOAD
がyes
に設定されている場合にのみ、このオプションは有効になります。
MT_DSNUTILB_LOADUNLOAD
がyes
に設定されている場合にのみ、このオプションは有効になります。
m_FileAssign -d OLD DDIN ${DATA}/MYINPUTFILE
m_FileAssign -d SHR MT_CTL ${MT_CTL_FILES}/MYLOADCTL
m_FileAssign -d SHR SYSERR ${[DATA}/MYSYSERR
m_DBTableLoad -t MYTABLE -i DDIN
m_DBTableLoad -t SCHEMA.TABLE -I DDIN -a -r
m_DBTableUnload: データベース表の内容をフラット・ファイルにアンロードします。
m_DBTableUnload -t -o
MT_DSNUTILB_LOADUNLOAD
がyes
に設定されている場合は、この関数は、ファイルのデータをDB
の表にロードするために、COBOLプログラムschema-table-L
を呼び出します。MT_CTL
は使用されません。COBOLプログラムは、Workbench Rdbms Convertorによって生成されます。
MT_DSNUTILB_LOADUNLOAD
がyes
以外の値に設定されている場合は、この関数は、ddnameがMT_CTL
であるファイルに格納されているコマンドを実行します。
このコマンドは、ターゲット・データベースに従い、Oracle用のSQLPLUSコマンドまたはDB2LUW用のDB2 EXPORTコマンドのいずれかになります。
MT_DSNUTILB_LOADUNLOAD
がyes
に設定されている場合は、このオプションの値は、次の2つの形式、TableName
またはSchemaName.TableName
のいずれかになります。 値にスキーマ名が含まれない場合は、呼び出されるCOBOLプログラムの名前は${MT_DB_DEFAULT_SCHEMA}-TableName-U
になります。 値にスキーマ名が含まれる場合は、呼び出されるCOBOLプログラムの名前はSchemaName-TableName-U
になります。
m_FileAssign -d OLD DDOUT ${DATA}/MYOUTPUTFILE
m_FileAssign -d SHR MT_CTL ${MT_CTL_FILES}/MYUNLOADCTL
m_DBTableUnload -t MYTABLE -o DDOUT
m_DBTableUnload -t SCHEMA.TABLE -O DDOUT
m_DirCopy – ディレクトリのメンバーをコピーします。
m_DirCopy [-i] [-o] [-s] [-e]
この関数は、ディレクトリのメンバーを別のディレクトリへコピーします。
ディレクトリPDS1からディレクトリSEQ1へのすべてのメンバーのコピー。
m_DirCopy -i PDS1 -o SEQ1
ディレクトリPDS1からディレクトリSEQ1へのメンバーAからKのコピー。
m_DirCopy -i PDS1 -s “(A,K)” -o SEQ1
ディレクトリPDS1からディレクトリSEQ1へのメンバーAを除くすべてのメンバーのコピー。
m_DirCopy -i PDS1 -e A -o SEQ1
m_DirCreate [-v volume] D
irName
m_DirDelete [-v volume] DirName
m_DirRename – ディレクトリの名前を変更します。
m_DirRename [-v volume] OldDirName NewDirName
m_DSNUTILB
– データベースから表をロード/アンロードするメインフレーム・シミュレーション・ユーティリティ。
m_DSNUTILB
m_DSNUTILB
はDD SYSIN
を入力に使用します。DD SYSIN
には、標準のDSNUTILB
ユーティリティ・コマンドが含まれます。現在、サポートされているのはloadおよびunloadコマンドのみです。
(START)
m_OutputAssign -c A SYSOUT
m_OutputAssign -c "*" SYSPRINT
m_FileAssign -i SRCIN
UNLOAD UNLDDN OUTFILEA FROM TABLE ZS
LOAD DATA INDDN OUTFILEB RESUME YES INTO TABLE ZS
UNLOAD UNLDDN OUTFILEC FROM TABLE ARTBATCH.ZS
LOAD DATA INDDN OUTFILED REPLACE YES INTO TABLE ARTBATCH.ZS
UNLOAD UNLDDN OUTFILEE FROM TABLE ARTBATCH.ZS
_end
m_FileAssign -d NEW,KEEP,KEEP OUTFILE ${DATA}/dynsysin
m_FileRepro -i SRCIN -o OUTFILE
JUMP_LABEL=UNLOAD_1
;;
(UNLOAD_1)
m_FileAssign -d NEW,KEEP,DELETE OUTFILEA ${DATA}/TABLE_ZS_UNLOAD_1.txt
m_FileAssign -d OLD,KEEP,KEEP OUTFILEB ${DATA}/TABLE_ZS_UNLOAD_1.txt
m_FileAssign -d NEW,KEEP,DELETE OUTFILEC ${DATA}/TABLE_ZS_UNLOAD_2.txt
m_FileAssign -d OLD,KEEP,KEEP OUTFILED ${DATA}/TABLE_ZS_UNLOAD_1.txt
m_FileAssign -d NEW,KEEP,DELETE OUTFILEE ${DATA}/TABLE_ZS_UNLOAD_3.txt
m_FileAssign -d OLD,KEEP,KEEP SYSIN ${DATA}/dynsysin
m_DSNUTILB
JUMP_LABEL=CLEAN
;;
m_ExecSQL [-b RC0] [-f] [-o]
SQLディレクティブ(CREATE TABLE、CREATE INDEX、DELETE、SELECT …)は<inputfile>ファイル内にあります。結果は<outputfile>ファイル内に保存されます。
-b RC0
を指定する場合、エラーが発生したかどうかにかかわらず、すべてのSQLが実行され、成功したすべてのSQLが最終的にコミットされます。しかし、-b RC0
を指定しない場合、エラーが発生したら、SQLは終了時にロールバックされます。
最初のサンプルでは、SQLディレクティブはストリーム内SYSINファイルにあり、結果はSYSREC00ファイルに保存されます。
m_FileAssign -d ,CATLG SYSREC00 ${DATA}/FBACKE.LST.CUMUL
m_FileAssign -i SYSIN
SELECT * FROM PJ01DB2.TABTEST2;
_end
m_ExecSQL -o SYSREC00
2番目のサンプルでは、SQLディレクティブはTOW132C.sysinファイルで、結果は出力されます。
m_OutputAssign -c “*” SYSPRINT
m_FileAssign -d SHR SYSIN ${SYSIN}/SYSIN/TOW132C.sysin
m_ExecSQL
注: | DB2コマンドは変換されません。ユーザーはターゲット・データベース・ソフトに応じてコマンドを検証する必要があります。 |
m_ExpdtAlter: データ・セットの有効期限を変更します。
m_ExpdtAlter [-m Ydate|Ddays] dsname
m_FileAssign -d DISPMODE [-g [CUR|ALL [-+np][rang]]] [-C] [[-r RecSize -t
Type [-k Key]]|-S ModeFile] [-v volume] [-e Ydate|Ddays] [-w Reference]DDNAME DSNAME
m_FileAssign
は、ファイルを割り当てます。ファイル割当てによってファイル作成が起動される場合、割当てそのものより作成処理が先に実行されます。
DISP=NEW
パラメータ)。DISP=NEW,DELETE,DELETE
パラメータが含まれている場合は、手順の末尾(正常終了および異常終了)に削除処理が追加されます。 DISP=OLD
およびDISP=PASS
オプションでは、ファイルが維持されます。DISP=MOD
オプションでは、ファイルへの書込みは一時中間ファイルで行われ、その後で、Extend
で、元のファイルに対してコピーが行われます。DDNAME
がm_FileAssign
によって複数回定義されている場合、最初の定義のみが有効です。以前のDSNAME
に対して指定された配置も廃棄されます。2つのオプション「-i」および「-d」のいずれかを指定する必要があります。その他すべてのオプションはオプションです。
注: | OLDとSHRでは、ファイルがすでに存在することをチェックします。 |
注: | NEWでは、ファイルが存在しない場合は作成し、すでに存在する場合は中断します。 |
注: | 1つの手順の中では、PASSの機能はKEEPと同等です。しかし、1つのジョブの中では、NEWまたはMODによってデータ・セットが新規作成され、以降の手順でこのデータ・セットに対してKEEPやCATLGが指定されていない場合、このデータ・セットは削除されます。 |
注: | GDSに対して指定されると、KEEPはジョブの実行後にGDGのメンバーになります。 |
注: | GDGの場合、CATLGおよびUNCATLGは暗黙的にKEEPに変換され、KEEPは常にGDGのメンバーとなるGDSを新規作成します。 |
注: | allを指定すると、新しく追加されたGDSを含めて、対応するGDGのすべての世代ファイルが1つの一時ファイルに連結され、この一時ファイルがm_FileAssign で指定されるDDに割り当てられます。たとえば、allが指定され、<normal-termination-disp>または<abnormal-termination-disp>がDELETEに指定されている場合、現在の手順の最後に、対応するGDGからすべての世代ファイルが削除されます。 |
m_FileAssign -d SHR ENTREE ${DATA}/PJ01DDD.BT.QSAM.KBIEI001
Example with a sysin and a delimiter:
m_FileAssign -i -D FF INPUT
data input 1
data input 2
FF
Example with a sysin and continuation:
m_FileAssign -i SYSIN
data input 1
_end
#%OPC BEGIN ACTION=INCLUDE
m_FileAssign -i -C
data input 2
_end
#%OPC END ACTION=INCLUDE
m_FileAssign -i -C
data input 3
_end
m_FileAssign -d NEW -r 188 -t SEQ ENTREE ${DATA}/PJ01DDD.BT.KBIEI001
The new file will be a sequential file with a fixed record length of 188 bytes.
m_FileAssign -d NEW -r 188 -S PJO1.MODEL ENTREE ${DATA}/PJ01.OUTPUT
The new file have the characteristics of the file PJ01.MODEL except for the record length given by the “-r” parameter.
m_FileBuild [-t][-r][-k][-K] [-S]<filename> [-v volume] [-e Ydate|Ddays] dsname
注: | 索引編成ファイルでは、オプション-rおよび-kが必須です。 |
注: | タイプGDG|RDB|PDSのモデル・ファイルはサポートされていません。 |
m_FileBuild -t IDX -r 266 -k 1+6 ${DATA}/METAW00.VSAM.CUSTOMER
m_FileBuild -t IDX -r 266 -k 1+6 -K 20+7 ${DATA}/METAW00.VSAM.CUSTOMER
m_FileBuild -t IDX -r 266 -k 1+6 -K 20+7d ${DATA}/METAW.VSAM.CUSTOMER
m_FileClrData [-v volume] FileName
m_FileClrDataは、ファイルをクリアするために使用されます。GDGファイルはサポートされません。
m_FileClrData ${DATA}/PJ01DDD.BT.QSAM.KBSTO045
m_FileDelete [-v volume] FileName
m_FileDeleteは、ファイルを削除するために使用されます。
m_FileDelete ${DATA}/PJ01DDD.BT.QSAM.KBSTO045
m_FileEmpty – ファイルが空かどうかをチェックします。
m_FileEmpty – r ReturnVariable [-v volume] FileName
m_FileEmpty
は、ファイルが空かどうかをチェックするために使用されます。
m_FileEmpty -r MY_VARIABLE ${DATA}/rextest2
if [[ ${MY_VARIABLE} = true ]]; then
echo "file is empty"
else
echo "file is not empty"
fi
m_FileExist – ファイルがあるかどうかチェックします。
m_FileExist – r ReturnVariable [-v volume] FileName
m_FileExist
は、ファイルが存在するかどうかチェックするために使用されます。
m_FileExist -r MY_VARIABLE ${DATA}/rextest2
if [[ ${MY_VARIABLE} = true ]]; then
echo "file exists"
else
echo "file does not exist"
fi
m_FileListcat
: 入力に従ってカタログに問い合せます。
m_FileListcat – e ‘entry [entry…]’ – l ‘level’ – x days – o ddname NAME|HISTORY|VOLUME|ALLOCATION|ALL
この関数は、入力に従ってカタログに問い合せ、出力を生成します。
注: | パラメータ-eおよび-lは排他的です。 |
-eおよび-lの指定例。カタログには次の名前が含まれているとします。
– e A.*と指定すると、エントリ6および7がリストされます。
– e A.*.Bと指定すると、エントリ1および2がリストされます。
m_FileListcat -l 'A.*.B' -x 100 NAME
m_FileLoad [-C] [-S] [-v volume] Infile [Infile ...] Outfile
m_FileLoad ${DD_SYSUT1} ${DD_SYSUT2}
m_FileOverride — ファイルをオーバーライドします。
m_FileOverride [-i][-d][-g][-r][-k][-S][-t] -s label ddname dsname
m_FileOverride -i [-D Delimiter] -s Labelproc DDNAME
m_FileOverride -d [[-r RecSize -t Type [-k key]]|-S ModelFile][-g [CUR|ALL [(-|+)np][rang]]] -s label DDNAME DSNAME
m_FileOverrideはファイル割当てをオーバーライドし、この割当てが標準割当て(m_FileAssign)より優先されます。
「-s」と2つのオプション「-i」および「-d」のいずれかは、使用方法を指定するために必須です。その他すべてのオプションはオプションです。その他のオプションについては、m_FileAssignを参照してください。
m_FileOverride -i -s PR3STEP1 SYSIN
m_FileOverride -d OLD -s MYSORT CUSTOM
${DATA}/BEAUSR2.QSAM.CUSTOM
m_FilePrint — ファイルを出力します(IDCAMSコマンドのPRINT)。
m_FilePrint [-v volume] {-i ddname|-I dsname} {-o ddname|-O dsname}[-t][-C] [-S]
m_FilePrint -I ${DATA}/INPUT -C 1
m_FilePrint -i INPUT -t CHAR -C 5
m_FileRepro — ファイルをコピーします(IDCAMSコマンドのREPRO)。
m_FileRepro [-v volume] {-i ddname|-I dsname} {-o ddname|-O dsname}[-C] [-S] [-r][-e]
-r
を指定した場合、古いレコードは新しいレコードで置き換えられます。それ以外の場合、古いレコードはそのまま出力ファイルに保持されます。
m_FileRepro -I ${DATA}/INPUT -C 1
m_FileRepro -i INPUT -C 5
m_FileRepro -I ${DATA}/INPUT -O ${DATA}/OUTPUTKSDS -r
m_FileRepro -I ${DATA}/INPUT -O ${DATA}/OUTPUTKSDS -e
m_FileSort -s SortSpecificationFile -i Infile1[,Infile2 ...] -o [Outfile]
m_FileAssign -i TOOLIN
/FIELDS FLD1 5 CH 5
/COND ...
/OMIT ...
_end
m_FileSort -s TOOLIN -i SORTIN -o SORTOUT
m_FileRename [-v volume] OldName NewName
m_FileRenameは、ファイルの名前を変更するために使用されます。
注: | VSAM RDBファイル名の変更はサポートされていません。RDBファイルの名前を変更すると、予期しない結果になります。GDGの名前変更はサポートされています。 |
新しいファイルのボリュームを指定します。このオプションは、バッチ・ランタイムでファイル・カタログが有効な場合のみ機能します。
m_Ftp -i <inputfile> [-e <ExitReturnCode>] [-n NETRC]
この関数はz/OS機能、EXEC PGM=FTP
をエミュレーションします。つまり、ftpプロセスを起動し、入力ファイル内に保存されるftpコマンドを実行します。環境変数S
は、次の値(大文字または小文字)を使用して宣言および初期化する必要があります。
Y
またはYES:
テスト・モード。ftpコマンド(“open
”、“user
”、“quit
”、または“bye
”を除く)は実行されません。
N
またはNO:
リアル・モード。すべてのftpコマンドが実行されます。
入力ファイルに\$MT_FTP_PASS
を追加して、本当のftpパスワードを置き換えることができます(つまり、セキュリティ・プロファイルのパスワードが使用されます)。このファイルの例は、次のとおりです。user user1 \$MT_FTP_PASS
。
m_FileAssign -d ANY MT_LOC01 ${DATA}/ftp_file_loc1
m_FileAssign -i SYSIN
open host
user user1 pw1
put MT_LOC01 DIR/file2
quit
_end
m_Ftp -i INPUT
フォーマット: open <HOSTNAMEまたはADDRESS>
- 「-n NETRC」パラメータが設定されていない場合、2行目はユーザーIDとパスワードを設定する必要があります。
フォーマット: user <user> <password>
「-n NETRC」パラメータが存在するとき、「.netrc」ファイルが存在することを示します。このファイルは、使用するユーザーIDとパスワードを識別します。
- 次の行は、get、put、...などのftpのコマンド(1行に1つ)です。
m_GenDefine [-v volume][-e Ydate|Ddays] -s [-r] --nb_occurs <GDG base name>
この関数は、GDGファイルを定義します。実行結果は、MT_GENERATION
変数で定義されているGDG管理方法によって決まります。
m_GenDefine -s 31 ${DATA}/PJ01DDD.BT.GDG.KBIDU001
m_IDCAMS
— 格納されているIDCAMSコマンドを実行します。
外部sysinの内容を実行します。この関数は、現在のシェルでスクリプトを実行します。sysinに割り当てられたスクリプトには、IDCAMSの有効なRunTime Batch関数のシーケンスを含める必要があります。
sysin
ファイル: デフォルトでは、起動する関数を含むsysin
ファイルのSYSIN. ddname
。
m_FileAssign -d NEW SYTSIN ${SYSIN}/SYSTIN/IDCAMS.sysin
m_FileDelete ${DATA}/INFP.INF.RPG0002.INFP3D
m_CondIf "MAXCC,EQ,0"
m_FileRepro -I ${DATA}/INFP.INF.RPG0001 -O ${DATA}/INFP.INF.RPG0002.INFP3D
m_CondElse
m_FileRepro -I ${DATA}/INFP.INF.RPG0002 -O ${DATA}/INFP.INF.RPG0002.INFP3D
m_CondEndif
m_IDCAMSSetCC
— IDCAMS条件コードを設定します。
m_IDCAMSSetCC Condition ConditionCode
m_IDCAMSSetCC
は、IDCAMS条件コードを設定します
Condition
: 値は、LASTCC
またはMAXCC
です
ConditionCode
: 設定する条件コードの新しい値。
m_JclLibSet — 変換ステージの、プロシージャとインクルードのディレクトリを指定します。
m_JclLibSet directory
m_JclibSetは、変換フェーズでプロシージャとインクルードが格納されるディレクトリを指定します。
m_JclLibSet PJ01DDD.BT.INCLUDE.SRC
m_JobBegin — ジョブを開始するために使用されます。
m_JobBegin -j jobname [-C cond] [-cclass
] [-ppriority
] [-rrestart
] [-ttyprun
] -vversion
-sstart_label
JES2インタフェースで、z/OSジョブ・カード上で使用されるパラメータを示します。パラメータは、次のファイルに格納されます。
j
jobname
C
condition
c
class
-p
priority
-r
restart
-t
typrun
-v
version
-s
start_label
m_JobBegin -j PJ01DSTA -s START -v 1.0 -t SCAN
m_JobEnd
None
m_JobLibSet — プログラムが格納される場所を指定します。
m_JobLibSet directory [:directory[:directory…]]
この関数は、プログラムが格納されるディレクトリをジョブ・レベルで指定します。
m_OutputAssign —
パラメータCLASS、COPIES、DEST、FORMSおよびHOLDを伴うDD SYSOUT文を管理します。
注: | ユーザーが、COBOLプログラムで「DISPLAY」文で標準出力するための出力をSYSOUT DDによって指定されるファイルにリダイレクトすることを希望する場合: |
注: | Micro Focus COBOLの場合、プログラムのコンパイル時にOUTDDディレクティブを追加する必要があります。COBOL-IT COBOLの場合は、それに該当しません。 |
m_OutputAssign [-c class][-w writer][-n copies][-d dest][-f forms][-H][-o list of output][-D dsname] DDNAME
m_OutputAssign -c A SYSOUT
Example with INTRDR:
In this case, the file which ddnmae is RDRCICO must contain a ksh script.
m_OutputAssign -c R -w INTRDR RDRCICO
m_OutputAssign -c A -o “*.EDI” SYSPRINT
m_OutputOverride —
出力ファイルをオーバーライドします。
m_OutputOverride [-c class][-n copies][-d dest][-f forms][-H][-o list of output][-D dsname] -S Labelproc DDNAME
この関数は、sysoutの割当てをオーバーライドします(m_OutputAssignを参照してください)。
「-S」のみ必須です。このオプションは割当てがオーバーライドされる手順を指定します。その他すべてのオプションはオプションです。他のオプションについてはm_OutputAssignを参照してください。
m_OutputSet
: CLASS、COPIES、DEFAULT、DEST、FORMS、PRIORITYおよびWRITERパラメータで「OUTPUT JCL」文を管理します。
参照を管理し、sysout管理に使用する関連処理オプションを指定します。
m_OutputSet [-c][-n][-d][-f][-p][-w][-D] Reference
m_OutputSet -d LOCAL -D N EDI
m_PhaseBegin — スクリプト・フェーズの開始時に呼び出されます。
m_PhaseBegin
None.
m_PhaseEnd — スクリプト・フェーズの終了時に呼び出されます。
m_PhaseEnd
None.
m_Pkzip [-f][-F] -a [-k][-n][-g][-d]
この関数はファイル、ディレクトリ、またはアーカイブ内のディレクトリのメンバーを圧縮します。
注意: オプション「-f」および「-F」は必須ではありませんが、1つ以上が存在する必要があります。
mandatory.
次のサンプルでは、2つのファイルが圧縮(ddnameのFICIN01およびFIC02)され、「-f」オプションによって名前が付けられます。DDARCH (アーカイブのddname)は「-a」オプションによって名前が付けられ、その際最初のファイルは名前が変更されます(「-n」オプションを参照)。
m_FileAssign -d SHR FICIN01 ${DATA}/PKZIP_FICIN01
m_FileAssign -d SHR FIC02 ${DATA}/FIC.FILE01
m_FileAssign -d NEW,CATLG DDARCH ${DATA}/ARCH.FILE
m_Pkzip -f ‘FICIN01,FIC02’ -a DDARCH -n ’NEW_FICIN01,’
次のサンプルは、オプション「-f」、「-F」および「-n」を同時に使用する方法を示します。
-f ‘ddn1,ddn2,ddn3,pds;member1;member2’
-F “dsn1,dsn2,dsn3’
-n ‘,newddn2,newwddn3,newmb1,,newdsn1,newdsn2,’
The ddn1, member2 and dsn3 are not renamed (they are replaced by comma(,)).
m_Pkunzip [-f][-F] -a [-k][-n][-g][-d][-o][-w]
この関数はファイル、ディレクトリ、またはアーカイブ内のディレクトリのメンバーを解凍します。
注意: オプション「-f」および「-F」は必須ではありませんが、1つ以上が存在する必要があります。
m_FileAssign -d NEW,CATLG DDARCHIV ${DATA}/PKZIP_ARCH
m_Pkunzip -a DDARCHIV
m_FileAssign -d NEW,CATLG DDARCHIV ${DATA}/PKZIP_ARCH
m_FileAssign -d NEW,CATLG OUTFILE ${DATA}/UNZIPPED.FILE
m_Pkunzip -a DDARCHIV -o OUTFILE
m_ProcBegin — ストリーム内プロシージャを開始します。
m_ProcBegin ProcedureName
ストリーム内プロシージャが、(変換時にOracle Tuxedo Application Runtime WorkBenchによって)kornシェル・スクリプトの末尾に追加され、m_ProcInclude
によって参照されます。
ProcedureName
m_ProcBegin KBPRB007
m_ProcEnd — ストリーム内プロシージャを終了します。
m_ProcEnd
kornシェル・スクリプトの末尾に追加されるストリーム内プロシージャは、m_ProcEndによって終了します。
m_ProcInclude — 変換フェーズでスクリプトにインクルードされるプロシージャを呼び出します。
m_ProcInclude ProcedureName [param1=value1,param2=value2,…,paramN=valueN]
ProcedureName
m_ProcInclude BPRAP001
m_ProgramExec [-b] [-e exit_type:exit_name][-n] Program [arguments]
-b
-e exit_type:exit_name
-n
EXCI BATCH
プログラムの起動に使用されます。バッチ・ランタイムに使用するのはrunbexci
で、runb
ではないことを知らせます。 次の環境変数が使用されます ( BatchRT.confファイルを参照)。
MT_EXCI
は、EXCIインタフェースが存在し、それによって使用される場合は、空でない文字列に設定する必要があり、それ以外の場合、MT_EXCI
はデフォルトでは空です(Oracle Tuxedoが必要)。 前の例では、MT_EXCI
はART KIX
オブジェクト・フォルダに、MT_JESDECRYPT
はjesdecrypt
オブジェクト・ファイルに設定する必要があります(/path/to/jesdecrypt.dynamic.linux64.o
など)。 XA
を使用するには、MT_EXCI_XA
をXA
のリソース・マネージャの名前で設定する必要があり、MT_EXCIGRPNAME
は、ARTDPL
サーバーのTUXEDO SRVGRP
値で設定する必要があります。 (MT_EXCI_XA=Oracle_XA
およびMT_EXCIGRPNAME=ResourceXA
など)。 MT_EXCI
が空でない文字列に設定され、MT_EXCI_XA
およびMT_EXCIGRPNAME
が空に設定されている場合、XA
を使用せずにデータベースに接続することになります。 インストール・フェーズで、EXCIの特定のランタイムにリンクする必要があるかどうかを確認するために、MT_EXCI
がチェックされます。 実行フェーズでは、MT_EXCIGRPNAME
のみがチェックされます。
Program [arguments]
注: | m_ProgramExec が存在しないプログラムを呼び出しても、それらのプログラムがMT_UTILITY_LIST_UNSUPPORT に指定されている場合、JOBは継続されます。 |
注: | runbexci をrunb のかわりに使用するには、MT_EXCI_PGM_LIST でプログラムを構成する方法があります。この方法の場合、-n の設定の有無にかかわらず、プログラムがrunbexci でのみ起動されます。 |
注: | MT_UTILITY_LIST_UNSUPPORT およびMT_EXCI_PGM_LIST の詳細は、バッチ・ランタイムの使用方法に関する項の表「Oracle Tuxedo Application Runtime for Batchの環境変数(オプション)」を参照してください。 |
m_ProgramExec BPRAB006 "08"
パラメータに「08」を指定してプログラムBPRA006を実行することを示します。
m_ProgramExec -b BDBAB001
プログラムBDBAB001がデータベースにアクセスすることを示します。
注意: | パラメータをプログラムに渡すため |
「"」(二重引用符)文字 は、パラメータの教会を示すために使用されます。
z/OS上のPARM=MT5
は、ターゲット上で "MT5"
になります。
z/OS上のPARM=(MT5,MT6)
は、ターゲット上で "MT5,MT6"
になります。
z/OS上のPARM='S=MT5'
は、ターゲット上で "S=MT5"
になります。
z/OS上のPARM=('S=MT5','Q=MT6')は、ターゲット上で"S=MT5,Q=MT6"になります。
連続する2つの「'」(2つの一重引用符)は、1つの「'」に置換されます。
PARM='5 O''CLOCK'
は"5 O'CLOCK"
になります。
2つの連続する「&
」(2つのアンパサンド)は、1つの「&
」(1つのアンパサンド)文字に置換されます。
m_ProgramExec -e BEGIN:EX1 BPRAB006
「exitルーチン」RTEX-EX1-Beginを呼び出した後にプログラムBPRA006を実行することを示します。
ユーザーによって記述されたこの「exitルーチン」にはユーザー・アクション(「会計処理」に関するアクションなど)が含まれます。
m_RcSet <ARGS> ReturnCode [Message]
m_RcSet ReturnCode [Message]
ReturnCode
Message
m_RcSet ${MT_RC_ABORT:-S999} "Unknown label : ${CURRENT_LABEL}"
m_RcSet 0
m_SendMail -t [-f] [-s] [-m] [-a] [-n] [-c] [-b]
オプション-fを省略するときは、環境変数MT_FROM_ADDRESS_MAILをユーザーのプロファイル内で宣言し、デフォルトで使用されるFrom Addressで初期化する必要があります。
次の2つの環境変数が使用されます( BatchRT.confファイルを参照)。
MT_SMTP_SERVER: SmtpServer (デフォルト値: “localhost”)
MT_SMTP_PORT: SmtpPort (デフォルト値: “25”)
Optional.
- メッセージのテキストはsysin MESSAGEに保存されます。
- 暗黙的な「From-Address」は、環境変数MT_FROM_ADDRESS_MAILに入ります。
- 「To-Address」は「BOB」<BOB.FOSTER@USA.COM>です。
- 添付ドキュメントは(ddnameファイルCR1と名前FILE2.CSVと共に)送信されます。
m_FileAssign -d SHR CR1 ${DATA}/FPROD.FILE1
m_SendMail -t ‘”BOB” <BOB.FOSTER@USA.COM>’ -m MESSAGE -a CR1 -n ‘FILE1.CSV’
m_ShellInclude — スクリプトの一部を挿入します。
m_ShellInclude script name
m_Smtp
— SMTPプロトコルを使用して電子メールを送信します。
m_Smtp -i
この関数はSMTPプロトコルを使用して電子メールを送信します。
telnet <SmtpServer> <SmtpPort>
MT_SMTP_SERVER: SmtpServer (デフォルト値: “localhost”)
MT_SMTP_PORT: SmtpPort (デフォルト値: “25”)
m_StepLibSet — プログラムが格納される場所を指定します。
m_StepLibSet directory [:directory[:directory…]]
m_SteplibSetは、プログラムが格納される場所を手順レベルで指定します。この情報は、プログラムが実行されるときに解釈されます。
m_SymbolDefault
— 記号に値を割り当てます。
m_SymbolDefault var=value
プロシージャの呼出しの前に、プロシージャ内の記号のデフォルト代用テキストを定義するために使用されます。
この関数は、変換フェーズで、解析されて考慮に入れられ、記号は、拡張されたスクリプト内で値に置換されます。
m_SymbolDefault VAR=45
m_SymbolSet var=value
記号を定義し、この記号を最初に使用する前に、値を割り当てます。
m_SymbolSet VAR=45
TVAL=$(date +%Y%m%d) (value of command)
m_SymbolSet TVAR=$TVAL
m_UtilityExec [sysin file]
外部sysinの内容を実行します。この関数は、現在のシェルで「UtilityName」スクリプトを実行します。UtilityNameは、[sysin file]に以前に割り当てられた物理名です。
sysinに割り当てられたスクリプトには、RunTime Batch関数のシーケンスを含める必要があります。また、この関数はネイティブのKornシェル・スクリプトも起動できますが、そのスクリプトは使用せずにm_ProgramExecを使用することをお薦めします。つまり、割当ては必須ではありません。
m_FileAssign -d NEW SYTSIN ${SYSIN}/SYSTIN/MUEX07.sysin
m_UtilityExec SYTSIN
m_JobSetExecLocation - 現在のジョブが実行されるJES Tuxedoサーバー・グループを指定します。
m_JobSetExecLocation <SvrGrpName>
現在のジョブが実行されるJES Tuxedoサーバー・グループを指定します。
このAPIはオプションです。使用する場合は、m_JobBegin
の直後に指定する必要があります。
このAPIがジョブの中で呼び出されない場合、ジョブは任意のサーバー・グループでランダムに実行されます。一方、このAPIがジョブの中で呼び出される場合、ジョブは指定されたサーバー・グループで実行されます。指定されたサーバー・グループが存在しない場合またはそのサーバー・グループでARTJESINITIATOR
が開始していない場合、そのサーバー・グループでARTJESINITIATOR
が開始するまで、ジョブは待機キューに置かれます。
SvrGrpName
が指定されていない場合または""
が指定されている場合、エラーはレポートされませんが、ジョブは任意のサーバー・グループでランダムに実行されます。
m_JobBegin -j SAMPLEJCL -s START -v 2.0 -c R
m_JobSetExecLocation "ATLANTA"
while true ;
do
m_PhaseBegin
...
m_JobEnd
ジョブは任意のJESノードで送信できますが、実行できるのはJESのTuxedoサーバー・グループATLANTA
に属するARTJESINITIATOR
のみです。