表1に、Tuxedo ART for IMSのユーティリティを示します。
|
|
|
|
|
ARTIBMPサーバーをアクティブ化するために使用されるユーティリティ。
|
|
|
|
|
|
|
|
|
|
ARTICTLサーバーのバイナリ制御ブロック・ジェネレータ。
|
|
|
|
|
|
|
|
|
|
|
|
|
chgcobol.sh - Tuxedo ART for IMSでのMicro Focus COBOLとCOBOL-ITの間の切替えに使用されるシェル・スクリプト。
DFSRRC00 -
ARTIBMPまたは
ARTIBMPTサーバーをアクティブ化するために使用されるユーティリティ。
DFSRRC00 "BMP,${MBR},${PSB},${IN},,,,,${CKPTID},,,,,,,,,,,,"
DFSRRC00は、
DFSRRC00入力を待機している
ARTIBMP/ARTIBMPTサーバーをアクティブ化するために使用されます。
DFSRRC00パラメータは、ワークベンチによってJCLから変換されたスクリプトから渡された文字列です。現在、文字列に含まれるサブパラメータでサポートされているものは、5つのみです(
"BMP, ${MBR}, ${PSB}, ${IN}, ${CKPTID}")。文字列内の残りのサブパラメータは無視されます。
DFSRRC00クライアント名の形式は
${MBR}-DFSRRC00のようになります。
tmadminを使用すると、現在実行中のバッチ・プログラムを監視できます。
DFSRRC00でBMPサービスを呼び出すときに、
2つの重複するFML32フィールド(
IMS_BMP_APPNAME_ROUTEと
IMS_JOB_NAME_ROUTE)をルーティング・フィールドとして使用できます。このため、特定のアプリケーション・プログラムまたはバッチ・ジョブを特定のBMPサーバー・グループにルーティングできます。これらの2つのFML32フィールドは、
$IMSDIR/include/ROUTEFMLで定義されています。
注意:
|
${MBR}が空の場合、 DFSRRC00はエラーによってすぐに終了します。
|
${IN}が空の場合、
ARTIBMP/
ARTIBMP_ORAにリクエストが送信され、
BMPプログラムが呼び出されます。
${IN}が空でない場合、
ARTIBMPTにリクエストが送信され、トランザクション・コードが
${IN}であるトランザクション指向BMPプログラムが呼び出されます。
imsadmin - Tuxedo ART for IMSランタイムの管理ツール。
注意:
|
セキュリティ・レベルがMANDANTORY_ACLに設定されている場合、 imsadminで再ロード・リクエストがTuxedo ART for IMSサーバーに正常に送信されるようにするには、プロファイル内のユーザー名に ..IMSADM _grpid_svrid ( grpid/svridは、各Tuxedo ART for IMSの MPP/BMPに対応するグループIDおよびサーバーID)という名前のサービスへのアクセス権があることを確認する必要があります。
|
1: 関数スタック・トレース + 実行フロー・トレース
2: 関数スタック・トレース + 実行フロー・トレース + データ変換トレース
machine、
groupidおよび
serveridパラメータを指定しない場合、アクションは、
UBBCONFIG SERVERSセクションに指定したすべての適用可能なサーバーに適用されます。1つ以上のパラメータを指定すると、アクションは、指定したサーバーにのみ適用されます。
適用可能なサーバーには、ARTIMPP*/
ARTIBMP*/
ARTIGW/
ARTIADMが含まれます。現在、この機能では、
ARTICTL/
ARTICTLHの動的トレース制御はサポートされません。
注意:
|
flushperfまたは cleanperfを指定する場合、これら2つのアクションはすべての適用可能なサーバーに適用されるため、 -m、 -gおよび -sは省略できます。
|
imsadminツールのバージョンとビット・モードを表示します。
imsgenconfを使用すると、特定のトランザクションおよびバッチ・アプリケーション用のTuxedo ART for IMSの構成を生成できます。
ファイル生成処理中、
imsgenconfにより、Tuxedo ART for IMSがそのフィールド定義に応じて使用するフィールド定義が検証されます。検証に失敗した場合、特定のエラーがレポートされ、構成ファイルの生成が停止されます。
成功した場合、レポート・ファイル(
imsgenconf_report)が出力ディレクトリに生成されます。現在、このレポート・ファイルには、トランザクションが定義ファイル名と行番号とともに含まれます。
-i inputdirは、Tuxedo ART for IMS 12cリリース2 (12.2.2)ローリング・パッチ002以降では廃止になりました。
コピーされる入力DBDファイルの拡張子を指定します。
コピーされる入力PSBファイルの拡張子を指定します。
imsperf - Tuxedo ART for IMSランタイムのパフォーマンス分析ツール
-dオプションを指定すると、指定したパスの下でパフォーマンス・トレース・ファイルが検索されます。
imsperfにより、パフォーマンス・トレース・ファイルと同じディレクトリに、トランザクション/アプリケーションのパフォーマンス・レポートが次のような形式で生成されます。
MFSGEN -
ARTICTLサーバーのバイナリ制御ブロック・ジェネレータ。
これは、デフォルトで
<current directory>/formatです。
MFSGENユーティリティで、次のファイルが作成されます。
odbactl - z/OS上のODBAプロキシを停止したり、z/OS上のODBAプロキシのステータスをチェックしたり、既存の接続を表示したり、PSBが適切に定義されているかどうかをチェックするために使用されるオープン・システム・ツール。
オープン・システム上で
odbactlを使用して、各種関数を実行できます。
ping、
shutまたは
listconnコマンドの場合は、コマンドを受け取るODBAプロキシのポートです。
chkpsbコマンドの場合は、ODBAリクエストを受け取るODBAプロキシのポートです。これは必須です。
odbastop - z/OS上のODBAプロキシを停止するために使用されるオープン・システム・ツール。
オープン・システム上で
odbastopを使用して、z/OS上で実行されているODBAプロキシを停止します。
prepro-ims.pl - z/OS上のCプログラムをTuxedo ART for IMSで実行可能な形式に変換するために使用されるユーティリティ。
prepro-ims.plは、z/OS上のCプログラムをTuxedo ART for IMSで実行可能な形式に変換するために使用されます。ファイルの変換に失敗した場合、障害情報および障害の原因となったソース・ファイルの行が
stderrに出力されます。完了すると、サマリーが
stdoutに報告されます。
#pragma runoptsの行と他のブラグマ・ディレクティブをコメント化します。
IBM IMSの下で呼び出された場合、
env(IMS)は適切な動作環境を確立し、
plist(IMS)は適切なパラメータ・リストを確立します。それは、Tuxedo ART for IMSランタイムでは不要であり、削除する必要があります。
関数ctdli()/
aibtdli()は、引数リストに後続の
NULLを追加することで再構築されました。この
NULLは、Tuxedo ART for IMS引数リストの終わりを示すために使用されます。
aibtdli()では、
parmcountパラメータが削除されます。
関数main()引数リストは削除されました(
argc、
argv、
envpなど)。メインフレームでは、IMSはグローバル・リストおよびそのリストを定義するマクロを使用します。Tuxedo ART for IMSでは、PCBリストを取得するための
GETメソッドとして
__getcb(int)関数が実装されています。
exit()関数は、
__art_ims_return ()という名前に変更されました。IBM IMSドキュメントによれば、プログラムが処理するメッセージがない場合、mainから返すか、または
exit()を呼び出すことでIMSに制御が返されます。
exit()によって、コンテナ・サーバーが予期せずに終了した場合、
__art_ims_return ()関数が使用され、制御をコンテナ・サーバーに返すための手助けをします。
2.
|
関数ポインタとしての ctdli/aibtdliの呼出しはサポートされていません。
|
1.
|
生成されたmakefileには gmakeを使用する必要があります。
|
/* #pragma runopts(env(IMS), plist(IMS)) */
#include <ims.h>
#include <stdio.h>
#define n 20 /* I/O area size - Application dependent */
typedef struct {PCB_STRUCT(10)} PCB_10_TYPE;
int main()
{
static const char func_GU[4] = "GU ";
static const char func_ISRT[4] = "ISRT";
char ssa_name[] = "ORDER ORDER (ORDERKEY = 666666)";
int rc;
char msg_seg_io_area[n];
char db_seg_io_area[n];
char alt_msg_seg_out[n];
PCB_STRUCT_8_TYPE *alt_pcb;
PCB_10_TYPE *db_pcb;
IO_PCB_TYPE *io_pcb;
io_pcb = (IO_PCB_TYPE *)__pcblist[0];
alt_pcb = __pcblist[1];
db_pcb = (PCB_10_TYPE *)__pcblist[2];
..
/* get first message segment from message area */
rc = ctdli(func_GU, io_pcb, msg_seg_io_area, NULL);
..
/* get the data from the database having the specified key value */
rc = ctdli(func_GU, db_pcb, db_seg_io_area, ssa_name, NULL);
..
/* build output message in program's I/O area */
rc = ctdli(func_ISRT, alt_pcb, alt_msg_seg_out, NULL);
..
}
prepro-ims-cobol.plは
入力ファイル内のすべてのEXEC DLI文をCBLTDLI文に変換し、すべての行をstdoutに出力して新しいファイルにリダイレクトできます。その後、COBOLコンパイラを使用して新しいファイルをコンパイルできます。コンパイル時に
$IMS_RT/cpylibのIMSコピーブック・パスをインクルードするためには、Micro Focus COBOLコンパイラまたはCOBOL-ITコンパイラに対してコピーブックが格納される場所を示す環境変数
COBCPYが正しく設定されている必要があります。
z/OS上で
RUNPROXYを使用して、z/OS上のODBAプロキシを開始します。
z/OS上で
STOPROXYを使用して、z/OS上で実行されているODBAプロキシを停止します。
表6に、サポート対象のDL/Iインタフェースを示します。
|
|
|
|
|
AIBTDLIは、DL/Iレイヤー全体のエントリ関数です。 CBLTDLIとの基本的な違いは、 AIBTDLIは、制御情報をやり取りするための最初のパラメータとしてAIBマスクを使用することです。
|
|
CTDLIは、DLIライブラリ全体のエントリ関数です。DLIへのリクエストはすべて、この関数を呼び出すことで渡されます。 CTDLIは、Cプログラムからのみ呼び出すことができます。
|
CBLTDLI - OS/39におけるIMS/TMでのDL/I呼出しの0エントリ。
AIBTDLIは、z/OSにおけるIMS/TMでのDL/I呼出しのエントリです。Tuxedo ART for IMSでは、
AIBTDLIは、DL/Iライブラリのエントリとして機能する関数です。
AIBTDLIは、AIBマスクで指定されているPCB名に従ってPCBアドレスを取得し、見つかったPCBアドレスとともにそれに渡された関数コードに基づいて適切な関数を呼び出します。
代替PCBの名前は、$appname.psb構成ファイル内の
label=で構成する必要があり、AIBマスクで適切に指定されている必要があります。各代替PCBの名前(ラベル)は、1つのPSB内(つまり、1つの
$appname.psbファイル内)で一意である必要があります。
DB PCBの名前は、$appname.psb構成ファイル内の
label=で構成する必要があり、AIBマスクで適切に指定されている必要があります。各DB PCBの名前(ラベル)は、1つのPSB内(つまり、1つの
$appname.psbファイル内)で一意である必要があります。
CTDLI - DL/Iレイヤー全体のエントリ関数。
op引数は、実行するDL/I関数を指定します。
ctdli()呼出し形式は、選択した関数によって異なります。詳細は、
「CBLTDLI」を参照してください。
GU - IMS/TM環境のメッセージ・キューから最初のセグメントを取得するために使用されます。
GUは、メッセージ・キューの最初のセグメントを取得するために使用されます。会話型トランザクションの場合、メッセージの最初のセグメントは常にSPAです。
GN - IMS/TM環境のメッセージ・キューから後続のセグメントを取得するために使用されます。
最後のセグメントが取得された後に、GN呼出しは、
QDステータス・コードがPCBで返されるという結果になります。Tuxedo ART for IMSでは、処理中のメッセージのFMLバッファの次のフィールドを取得するために、シミュレートされた
GN呼出しが使用されます。
ISRT - IMS/TMにおいて指定されているPCBに関連付けられているメッセージにセグメントを追加するために使用されます。
'AB': セグメントI/O領域が指定されていません。
'
AD': 関数パラメータが無効です。関数呼出しが
CBLTDLIに指定されていないか、無効な関数呼び出し名が
CBLTDLIに指定されています。
'XA': リクエストに応答した後に、そのリクエストを別のトランザクションに転送しようとしています。
'XB': リクエストを別のトランザクションに転送した後に、それに応答しようとしています。
'XC': Z1ビットが0ではありません。それは予約済であり、常に0として保持されます。
'A6': 呼出しで出力セグメント・サイズ制限を超えました
PURG - そのメッセージが低速PCBに対して完了したことをIMS/TMに通知するために使用されます。
PURG呼出しは正常ですが、送信されなかったか、メッセージが高速PCBに対してただちに送信されました。
I/O領域がPURG呼出しに提供されている場合、
PURG呼出しもISRT呼出しとして機能します。つまり、
PURGは、PCBに関連付けられている(現在の)メッセージを完了としてマークし、I/O領域のデータを次のメッセージの最初のセグメントとして
ISRTします。最終結果は、
ISRT呼出しが後に続くI/O領域のない
PURG呼出しと同じです。
Tuxedo ART for IMSでは、低速PCBに対して関連付けられたメッセージが完了したとマークするため、または高速PCBに対して関連付けられたメッセージを送信するために、シミュレートされた
PURG呼出しが使用されます。ただし、I/Oバッファが指定されている場合は、単一のPCBに対する複数の保留メッセージはサポートされていないため、それは無視され、したがってMODも無視されます。ただし、ステータス・コードはカスタマ・プログラムによってチェックされるため、この場合、特別なステータス・コードは追加されません。
'
AD': 関数パラメータが無効です。関数呼出しが
CBLTDLIに指定されていないか、無効な関数呼び出し名が
CBLTDLIに指定されています
'A3': 宛先が設定されていないが、それに対してPURGが呼び出される変更可能なTP PCB
CHNG - IMS/TMにおいてPCB内の宛先を変更するために使用されます。
Tuxedo ART for IMSでは、シミュレートされた
CHNGにより、代替PCBの別のサービス名(のみ)が指定されます。宛先トランザクション名は、8バイト以下であり、その制限を超えている場合、それは8までに切り捨てられます。後続の空白も削除されます。トランザクション名は、それがimstrans.descファイルに存在し、かつ正しい構成である場合に、有効として評価されます。
'
AD': 関数パラメータが無効です。宛先が指定されていません。関数呼出しが無効です。
'A2': PCBが変更可能でないか、ISRT操作がすでに実行されています。
'QH': 代替PCBに指定するトランザクションが空白であるか無効です。
CMD - プログラムでIMSコマンドを発行可能にするために使用されます。
CMDは、IMSコマンドを発行するために使用されます。これは、すべてのサポートされているIMSコマンドを処理できると想定されるインタフェースにIMSコマンドを転送します。CMD呼出しは、そのインタフェースによってIMSコマンドが処理されるまで待ち、その応答メッセージの最初のフィールドを取得します。
コマンドには、/DIS TRAN、
/DIS PGMおよび
/DIS USERのみサポートされます。これらのコマンドがCMD APIによって発行されると、関連するタイトル・セグメントがI/O領域を介して返され、それには、後続のセグメントの各フィールドの意味が記述されています。
trannameが永続トランザクションを表す場合、
TRAN、
CLSおよび
QCTのみがサポートされ、
GCMDに対して返されるセグメントに値が入ります。"tranname"が非永続トランザクションを表す場合、
TRANおよび
CLSのみがサポートされ、
GCMDに対して返されるセグメントに値が入ります。
/DISP TRAN tranname QCNTの場合、返されるセグメントは(llzz部分を除く)、
T70 TRAN GBLQCTです。
TRANのみがサポートされ、
GCMDに対して返されるセグメントで
GBLQCTは常にN/Aです。
QCT: トランザクションのキュー内の残されたメッセージ数(キュー数) (5バイト)。
- trannameは、現在のTuxedo ART for IMSサーバーによってのみ処理されます。
- DISPLAY TRANは、
IOAREAを指定しない
CHKPの後に発行されます。
GCMD - CMDコマンドの応答メッセージの2番目および後続のセグメントを取得します。
GCMDは、アプリケーション・プログラムによってCMD呼出しを使用してIMSコマンドが処理されるときに、IMS TMから2番目および後続の応答セグメントを取得します。返されるセグメントそれぞれには、前述の"CMD"呼出しのタイトル・セグメントに応じたフィールドが含まれます。最後のセグメントが取得された後に、GCMD呼出しは、"QD"ステータス・コードがPCBで返されるという結果になります。
GUID -
ARTIMPPサーバーの長いユーザー名モードで、完全なユーザー名の取得に使用する偽のDL/I。
GUIDは、長いユーザー名/パスワードのモードでのみ推奨される
ARTIMPPサーバーの完全ユーザー名を取得するために使用します。
GU/GHU -
現在の位置(存在する場合)またはデータベースの先頭から基準(存在する場合)を満たす最初のセグメントを取得(および保持)します。
GUは、指定されているSSAを満たし、順次処理の開始位置を確立する最初のセグメントを取得するために使用されます。
GUの検索開始位置は、データベースの先頭(つまり、ルート・レベル)です。呼出しを満たす最初のセグメントを見つけた後、現在の位置が順次処理の開始位置となります。
GHUは、
GUに加えて、順次書込み操作(置換、削除など)のためにセグメントをロックします。
GHUはGSAMには適用されません。
注意:
|
RSA 00010000により、GSAMの最初に位置がリセットされます。
|
GN/GHN -
現在の位置から基準(存在する場合)を満たす次のセグメントを取得(および保持)します。
GNは、現在の位置から検索して、指定されているSSAを満たす次のセグメントを取得するために使用されます。セグメントを見つけた後、順次処理のために現在の位置が更新されます。
DBに現在の位置が確立されていない場合、
GNは
GUのように動作します(つまり、先頭から検索します)。階層型DBにおける順次取得は、常に上から下、かつ左から右(つまり、ツリーの前順取得)です。
GHNは、
GNに加えて、返されるセグメントをそれに対する順次書込み操作のためにロックします。
GHNは
GSAMには適用されません。
GNP/GHNP - 確立した親の依存セグメントから基準を満たす次のセグメントを取得(および保持)します。
GNPは、確立した親の依存セグメントで、次の修飾セグメントを取得するために使用されます。階層型DBにおける確立した親とは、前の成功した
GU/GN呼出しで返された最も下位のセグメントであり、失敗した
GU/GN呼出しによって取り消されます。
GHNPは、
GNPに加えて、返されたセグメントを順次書込み操作のためにロックします。
ISRT - 既存のセグメント・タイプの新しいオカレンスを階層型データベースに挿入するために使用されます。
ISRTは、既存のセグメント・タイプの新しいオカレンスを階層型データベースに挿入するために使用されます。挿入位置は、挿入されるセグメントのレベルを除いた一連の修飾SSAによって、または非修飾SSAの場合は現在の位置によって決定されます。
REPL - 既存のセグメントを更新するために使用されます。
REPLは、既存のセグメントを更新するために使用されます。最初に
Get Hold呼出しを使用してセグメントを取得し、その後、そのセグメントを変更および更新する必要があります。I/O領域のセグメントのフィールドの長さは変更できません。
DLET - セグメントとその依存関係を削除するために使用されます。
DLET呼出しは、セグメントとその依存関係を削除するために使用されます。これは、
Get Hold呼出しの後に続く必要があります。修飾SSAは、
DLET呼出しに指定しないでください。
FLD呼出しは、セグメント内のフィールドにアクセスし、変更するために使用されます。
POS - 修飾位置(POS)呼出しは、特定の順次従属セグメントの位置を取得するために使用されます。非修飾POSは、順次従属セグメント(SDEP)データの論理的な終わりを指します。
POSはDEDBのみをサポートします。Tuxedo ART for IMSでは、次の制限があります。
1. keywordパラメータがサポートされていません。
OPEN - GSAMデータベースを明示的に開くために使用されます。
Tuxedo ART for IMSサーバー(
ARTIMPPおよび
ARTIBMP)は、オンラインまたはバッチCOBOLプログラムを実行するためのコンテナとして使用されます。プログラムによつて発行されるデータベース・アクセス操作を有効化するには、通常、サーバーは、データベースの実装に対してなんらかの初期化または構成を実行する必要があり、COBOLプログラムを起動する前に何かを実行する必要があり、プログラムの完了後に何かを実行する必要があり、サーバーが停止する前になんらかのクリーンアップを実行する必要があります。そのほかに、CBLTDLIを介した各データベース処理が、特定のAPIにマップされている必要があります。
•
|
dbname: PSB内のPCB文に PROCSEQ=<name>が含まれている場合は、 <name>をdbnameに移入します。それ以外の場合、PSBからの NAME=<name>の名前を dbnameに移入します。
|
•
|
opt: PSB内のPCB文から PROCOPTオプションに設定されている値を移入します
|
リスト3に、
get_dbpcbattrインタフェースに使用される構造定義を示します。コンテンツは
PSBファイルから読み取られ、
get_dbpcbattrインタフェースを介してアプリケーションに返されます。
機能: 実装に必要な構成またはその他のものに対する初期化
引数: サーバーのCLOPTから渡されるパラメータ・リスト
使用する場所: このAPIは、Tuxedo ART for IMSサーバーが起動する際に呼び出されます。IMS/DBの特定の実装には、初期化作業は必要ありません。単に空の関数を指定して、それが0を返すようにします。
機能: 実装に必要な構成またはその他のものに対するクリーンアップ
引数: なし。サーバーはプラグインに入力を提供できないためです
使用する場所: このAPIは、Tuxedo ART for IMSサーバーが停止する際に呼び出されます。IMS/DBの特定の実装には、初期化作業は必要ありません。単に空の関数を指定して、それが0を返すようにします。
機能: IMS/DB実装にアクセスできるCOBOLプログラムを起動する前に実装によって必要とされる事前アクション
引数: なし。サーバーはプラグインに入力を提供できないためです
使用する場所: このAPIは、IMS/DB実装にアクセスできるCOBOLプログラムがTuxedo ART for IMSサーバーによって起動される前に呼び出されます。IMS/DBの特定の実装には、初期化作業は必要ありません。単に空の関数を指定して、それが0を返すようにします。
機能: IMS/DB実装にアクセスできるCOBOLプログラムを起動した後に実装によって必要とされる事後アクション
引数: なし。サーバーはプラグインに入力を提供できないためです
使用する場所: このAPIは、IMS/DB実装にアクセスできるCOBOLプログラムがTuxedo ART for IMSサーバーによって起動された後に呼び出されます。IMS/DBの特定の実装には、初期化作業は必要ありません。単に空の関数を指定して、それが0を返すようにします。
使用する場所: COBOLプログラムによって発行されるDL/I DB呼出し
戻り値: PCB属性ポインタ。このAPIから返されるPCB属性構造に含まれる内容を、ユーザーが変更することはできません。入力がDB PCBまたはGSAM PCBでない場合は、nullが返されます。オプションの属性が構成されていない場合は、デフォルト値が返されます。ポインタを解放する必要はありません。
使用する場所: db pcbによって呼び出されたサード・パーティのDBプラグイン。
表10に、トランザクション管理のプロセスとコマンドを示します。
CHKP (基本) - 明示的なコミット・ポイントを設定するために使用されます。
CHKPは、明示的なコミット・ポイントを設定するために使用されます。コミット・ポイントで、IMS/TMが、アプリケーション・プログラムによって行われた変更(通常はデータベースの更新)をコミットし、すべてのメッセージを完了としてマークして(低速PCBの場合はPURGによって)送信し、指定されたIOAREAに次の入力メッセージを取得します。
Tuxedo ART for IMSでは、tpcommit()コマンドを使用して行われた変更をコミットするために、シミュレートされた
CHKPが使用されます。完了とマークされているメッセージが送信されます。明示的な
PURG呼出しによってマークされていないメッセージも送信されます。
CHKP (シンボリック): 明示的なコミット・ポイントを設定するために使用されます。プログラムを開始できるチェック・ポイントを設定し、プログラムに7つのデータ領域を保存し、現在の
GSAM DB取得位置を記録します。
CHKP (シンボリック)は、リカバリのために使用できます。これによって、プログラムによって行われたすべての変更がコミットされ、アプリケーション・プログラムが異常終了した場合は、そのプログラムが再開できるポイントが確立されます。さらに、シンボリック
CHKP呼出しは次のことを実行できます。
注意:
|
ユーザーがシンボリック CHKPを使用してデータ領域を格納した後、ユーザーが XRSTを使用してプログラムを再起動する前に、 ART BMPサーバーが再起動された場合、シンボリック CHKPによって格納されたデータ領域は、 XRSTによってリストアされません。
|
CHKPレコードは、programname.psbname.logというレコード・ログ・ファイルに保存されます。環境変数
ART_IMSLOGDIRは、レコード・ログ・ファイルが配置されるディレクトリを指定するために使用されます。環境変数
ART_IMSLOGDIRが設定されなかった場合、そのデフォルト値は
$APPDIR/IMSLOGDIRになります。
MPモードで複数のマシンがレコード・ログ・ファイルを共有する場合、ART_IMSLOGDIRは、Tuxedoドメイン内のマシンがアクセスできるNFSディレクトリを指している必要があります。
CHKPレコードは常にシンボリック
CHKPによってレコード・ログ・ファイルに追加され、保存されたレコードは、ユーザーがレコード・ログ・ファイルを手動で空にしないかぎり削除されません。重複する
CHKPレコードは、
CHKPレコード・ファイルに追加されます。
ROLB - データベースの更新を取り消すために使用されます。
ROLBは、データベースの更新を取り消すために使用されます。伝送できないすべての挿入済メッセージが取り消されます。高速PCBの場合、メッセージは、IMSがメッセージの完了を認識したとき(つまり
PURG呼出しが呼び出されるとき)に、伝送に使用できるようになります。低速PCBでは、プログラムがコミット・ポイントに到達するまではメッセージが送信可能になりません。
Tuxedo ART for IMSでは、tpabort()を使用することでアプリケーション・プログラムによって行われたすべての変更をロールバックし、送信されていないメッセージ・バッファを空にするために、シミュレートされた
ROLB呼出しが使用されます。
ROLLは、データベースの更新を取り消すために使用されます。伝送できないすべての挿入済メッセージが取り消されます。高速PCBの場合、メッセージは、IMSがメッセージの完了を認識したとき(つまり
PURG呼出しが呼び出されるとき)に、伝送に使用できるようになります。低速PCBでは、プログラムがコミット・ポイントに到達するまではメッセージが送信可能になりません。
Tuxedo ART for IMSでは、tpabort()を使用してアプリケーション・プログラムによって行われたすべての変更をロールバックし、未送信のメッセージ・バッファを空にするために、シミュレートされた
ROLL呼出しが使用されます。これは、Tuxedo ART for IMSにコントロールを返しますが、呼出し元プログラムにはコントロールを返しません。
SYNC - アプリケーション・プログラムによって行われた変更(通常は、データベースの更新)をコミットするために使用されます。
INQY - 実行環境、宛先タイプおよびステータス、およびセッション・ステータスに関する情報を要求するために使用されます。INQYは、AIBTDLIインタフェースを使用している場合にのみ有効です。
NULLサブ関数の場合、ART/IMSは、ART/IMSがサポート可能なPCB関連情報のみをI/O領域に返します。"端末の位置"および"トランザクションの位置"は、"LOCAL"を使用する場合にのみサポートされています。
FINDbbbbの場合、PCBアドレスはAIBRSA1フィールドで返されます。
サブ関数PROGRAMbは、I/O領域の最初の8バイトでプログラム名を返します。
DBQUERYbサブ関数の場合、PSBで定義されている
DBPCBがない場合、BJがIO PCBステータスで返されます。それ以外の場合、IO PCBステータスは、データベースの使用可能性に従って返されます。
IMSでは、DBQUERYb呼出しの後に、各DB PCBのステータス・コードを使用してDBステータスを確認することはできません。
XRST - プログラムを再起動するために使用されます。プログラム内でシンボリック・チェックポイント呼出しを使用する場合、XRST呼出しを使用する必要があります。
XRSTは、プログラムを再起動するために使用されます。プログラム内でシンボリック・チェックポイント呼出しを使用する場合、
XRST呼出しを使用する必要があります。
Tuxedo ART for IMSでは、関連する
CHKP (シンボリック)呼出しに保存されたデータをリカバリするために、シミュレートされた
XRSTが使用されます。
GSAMは、
CHKP (シンボリック)呼び出しが行われた記録位置に再配置されるので、後続のすべての"
GN"呼び出しはリカバリされた位置で続行します。関連するすべての
GSAM/DB PCBのステータス・コードは、
XRSTコール(既存の
CHKPIDを使用)が成功した後、空白になります。
特定の
CHKP IDの場合:
XRSTは、
Job name + program name + psb name + CHKP IDという検索キーを使用して、レコード・ログ・ファイル内で、先頭から末尾の方向に、
CHKPレコードを検索します。検索キーに一致する1つ目の
CHKPレコードが検出された場合、
XRSTはこのレコード内のデータをリストアし、成功を返します。検索キーに一致する
CHKPレコードが存在しない場合、
XRSTは異常終了します。
CHKP ID 'LAST'の場合:
XRSTは、
Job name + program name + psb nameという検索キーを使用して、レコード・ログ・ファイル内で、末尾から先頭の方向に、
CHKPレコードを検索します。検索キーに一致する1つ目の
CHKPレコードが検出された場合、
XRSTはこのレコード内のデータをリストアし、成功を返します。検索キーに一致する
CHKPレコードが存在しない場合、
XRSTは異常終了します。
CEE3ABDは、Tuxedo ART for IMSがプログラムの実行をabendコードで終了することをリクエストします。この関数からは何も返されず、関数に関連付けられた条件もありません。Tuxedo ART for IMSでは、次の手順を実行してこの関数を起動できます。
注意:
|
system-literalには、TIME、 DATE1、 DATE2、 DATE3、 DATE4、 DATE1Y4、 DATE2Y4、 DATE3Y4、 DATE4Y4、 YYDDD、 MMDDYY、 DDMMYY、 YYMMDD、 YYYYDDD、 MMDDYYYY、 DDMMYYYY、 YYYYMMDD、 DATEJUL、 DATEUSA、 DATEEUR、 DATEISO、 LTSEQ、 LTNAMEが含まれます。
|
LTMSGおよび
LPAGENOの場合、警告メッセージが表示され、何も効果はありません。
表12にない他の文字列については、構文エラーが表示されます
Tuxedo ART for IMSでは、非端末クライアントとTuxedo ART for IMSのMPPサーバーの間のブリッジとして機能するサーバー、
ARTIGWが提供されます。非端末クライアントは、次に示すプログラミング・インタフェースに従って、
ARTIGWサービスを呼び出します。
ARTIGWはサービス・リクエストを
ARTMPPに転送します。
ARTIGWと非端末Oracle Tuxedoクライアントの間の唯一のインタフェースは、FML表です。
IMS_SEG_DATA
アプリケーション・バッファ・データ。LLZZはバッファ内に必要ありません。セグメントの最大長は
32764です(これは
ARTIMPPの制限です)。
2.
|
クライアントは、手順1で準備したバッファで tpcall()/ tpacall()を発行します。
|
この< tuxclt_service_name>はARTIGWの通知済サービスで、サービス名が構成可能です。詳細は、ARTIGW CONFIGURATIONを参照してください。
0: ARTIMPPがレスポンス・メッセージによってリクエストを正常に処理します。
1: ARTIMPPがレスポンス・メッセージなしでリクエストを正常に処理します。
#name rel-number type flags comment
#----- ----------- ------ ------- ------------------------
IMS_SVC_NAME 181 string
IMS_SVC_FLAG 182 long
IMS_SVC_RESULT 183 long
IMS_SEG_DATA 184 carray
IMS_SVC_SYSMSG 185 carray
この< mq_service_name>は
ARTIGWの通知済サービスで、サービス名が構成可能です。詳細は、
「ARTIGWの構成」を参照してください。
2.
|
TM_MQI構成ファイルの* SERVERセクションで、次のパラメータを指定する必要があります。
|
3.
|
UBBCONFIGファイルでは、 TM_MQIサーバーが、WebSphere MQ Resource ManagerのTMSサーバーによって構成されたグループ内に存在する必要があります。
|
ARTIGWは、非端末クライアントと
ARTIMPPサーバーの間のブリッジとして機能するTuxedoサーバーです。詳細は、
「サーバーの構成」を参照してください。
ARTIGWと
ARTIMPPが異なるドメインにデプロイされている場合、
ARTIGWは
<tuxclt_service_name>_REPLY_<grpid>_<srvid>および
<mq_service_name>_REPLY_<grpid>_<srvid>という名前でサービスをエクスポートします。
GRPIDと
SVRIDは5文字です(0で始まります)。
前述のサービス名は、ARTIMPPが属しているすべてのリモート・ドメインの
DMCONFIGファイルの
DM_REMOTE_SERVICESセクションで構成されている必要があります。さらに、
ARTIGWが配置されている各ドメインによって適切なサービス名がエクスポートされ、サービス競合がないようにする必要があります。
たとえば、ARTIGWがドメイン
GWにあり、
ARTIMPPがドメイン
MPPにあると想定します。
ARTIGWは、
SRVID=101, SRVGRP= GROUP1で、デフォルト・サービス名を使用するように構成されています。
リスト5に、
MPPおよび
GWドメインに対する
DMCONFIGファイルの例を示します。
2. ARTIGWは、単一スレッドのTuxedoサーバーです。ユーザーはパフォーマンス調整のために
ARTIGWの複数インスタンスをデプロイできます。
たとえば、MQアプリケーションによって、MQPMO_NONEオプションが付いたメッセージがメインフレーム上に格納された場合、Oracle Tuxedo MQ Adapterは、MQアプリケーションによって
MQCMITが呼び出されるまで、IMSトランザクションをトリガーしません。
注意: オープン・システムでは、IMSトランザクションはすぐにトリガーされます。
1.
|
コミット・モード0 ( COMMIT_THEN_SEND)のみがサポートされています。Tuxedo ART for IMSでは、 MQIIHに設定されているコミット・モード値に関係なく、常にトランザクションがコミット・モード0として処理されます。
|
標準モードの
ARTIMPPはトランザクションをサービスとして通知し、端末リクエストや
ARTIGWからのリクエストなど、フロントエンドからの標準サービス・リクエストを処理します。サービス・リクエストはTuxedoフレームワークによってスケジュールされ、Tuxedo IPCキュー経由で渡されます。
永続モードの
ARTIMPPは、サービスを通知しません。これは、
CLASSが属している永続トランザクションのすべての/Qが、
ARTIMPPの"
-l class_list"パラメータに対応しているかどうかをモニターします。永続トランザクションの/Qからメッセージを取得し、トランザクションに対応するプログラムを実行します。
ARTIBMPTは永続メッセージのサポートに関連するサーバーでもあります。
ARTIBMPTが提供するトランザクション指向
BMPプログラムは、永続トランザクションのみである必要があります。"トランザクション指向
BMP"の詳細は、
ARTIBMPTの構成に関する項を参照してください。トランザクション指向
BMPプログラムでは、GU操作によってトランザクションの/Qからメッセージを取得します。
表18に、サーバー構成のプロセスとコマンドを示します。
|
|
|
|
|
|
|
ARTIMPPと同じ。ただし、これには、RMとしてOracle Databaseが必要です。
|
|
|
|
ARTIBMPと同じ。ただし、これには、RMとしてOracle Databaseが必要です。
|
|
|
|
|
|
異なるドメインに配置されているARTICTLとARTIMPPの間のメッセンジャとして機能します。
|
|
|
|
|
|
|
ARTICL - 3270端末をTuxedo ART for IMSランタイムに結合するために使用されます。
UBBCONFIGファイルの
MACHINESセクションで
MAXWSCLIENTSパラメータを指定する必要があります。
MAXWSCLIENTSは、
ARTICTLに対して特別な意味を持つ唯一のパラメータです。
MAXWSCLIENTSは、3270端末専用に予約されているアクセス・スロットの数を、起動時にOracle ARTに通知します。
MAXWSCLIENTSには、1つのノードに接続できる3270ターミナルの最大数を指定します。デフォルトは0です。指定しないと、ターミナルから指定されたマシンに接続できません。
構文はMAXWSCLIENTS=numberです。
注意:
|
minhは1-255の数ですが、システム・リソースの制限に従って、それは、 (FD_SETSIZE - 24)以下である必要があります。 FD_SETSIZEは、1つのプロセスで一度に開くことができるファイルの最大数を意味します。この値は、システム・コマンド ulimit -nを使用して取得できます。
|
ARTICTLによって開始されるハンドラ・プロセスの最大数である
maxhは、1-1000の数であり、デフォルト値は1000です。ハンドラ・プロセスの実際の数は、システム負荷に基づいて、常に
minhと
maxhの間にあります。
注意:
|
maxhは1-1000の数ですが、システム・リソースの制限に従って、それは、 (FD_SETSIZE - 24)以下である必要があります。 FD_SETSIZEは、1つのプロセスで一度に開くことができるファイルの最大数を意味します。この値は、システム・コマンド ulimit -nを使用して取得できます。
|
注意:
|
Tuxedoドメインへの参加には、ARTICTLはセキュリティ・プロファイルに格納されている APP_PWのみ使用します。 ARTICTLで使用されるユーザー名/ユーザー・パスワードは3270端末からのものです。
|
-sオプションが指定されない場合、このオプションは無視されます。
•
|
1: デバッグ・トレース情報がログに記録されます。
|
ARTIMPP - TPタイプCOBOL/Cプログラムのサービス・ハンドラおよびコンテナ。
ARTIMPPは、TPタイプCOBOL/Cプログラムのサービス・ハンドラおよびコンテナとして機能するTuxedoサーバーです。
ARTIMPPには2つの実行モードがあります。1つは標準モード(
CLOPTで
-pの指定なし)の
ARTIMPP、もう一方は永続モード(
CLOPTで
-pを指定)の
ARTIMPPです。
標準モードの
ARTIMPPは、フロントエンドから受け取ったサービス・リクエスト(端末、
ARTIGWからのリクエスト)に従って、対応するCOBOL/Cプログラムを起動します。
永続モードの
ARTIMPPは、
ARTIMPPの
CLOPTにある
-l class_listパラメータでクラスが定義されている永続トランザクションの/Qをモニターします。これは/Qからメッセージを受信し、対応するCOBOL/Cプログラムを起動します。
ARTIMPPは永続モードです。永続モードの
ARTIMPPはサービスやトランザクションを通知しません。
1 : デバッグ・トレース情報がログに記録されます。
2 : より詳細なデータ情報がログに記録されます。
注意:
|
UBBCONFIGファイルで ARTIMPPサーバーが永続モードに構成されており、 imsresource.descで永続トランザクションが構成されている場合、 UBBCONFIGファイルで、 imsresource.descの/Qの構成に従って( ARTIMPPの前に) TMQUEUEサーバーを構成する必要もあります。
|
ROLBまたは
ROLLを発行する永続トランザクションの場合、トランザクションは永続モード・サーバーの1つの
ARTIMPPによってのみ処理できます。つまり、(
imstrans.descで定義された)トランザクションの
CLASS定義は、永続モード・サーバーの1つの
ARTIMPPの
-lパラメータのみと一致します。
ARTIMPP_ORAは、
ARTIMPPのすべての機能を備えています。また、外部リソース・マネージャ(RM)として使用されるOracle Databaseもサポートできます。これは、Oracle Databaseによって提供されるいくつかのライブラリを使用します。Oracle Databaseでこの環境変数を使用するには、
UBBCONFIGファイルでRMセクションを適切に構成する必要があります。
ARTIBMP - BATCHタイプCOBOL/Cプログラムのプログラム・コンテナ。
ARTIBMPは、BATCHタイプのCOBOL/Cプログラムのプログラム・コンテナとして機能するOracle Tuxedoサーバーであり、受信したプログラム名に応じて対応するCOBOL/Cプログラムを起動します。エラーや異常終了がなく、ユーザー・プログラムもクラッシュしていない場合、ユーザー・プログラムのリターン・コードは
DFSRRC00です。
1 : デバッグ・トレース情報がログに記録されます。
2 : より詳細なデータ情報がログに記録されます。
ARTIBMPT - トランザクション指向バッチ・プログラムを処理するOracle Tuxedoサーバー。
トランザクション指向BMPプログラムは、
ARTIBMPTによって処理され、
${IN}パラメータの指定された
DFSRRC00によってトリガーされる必要があります。トランザクション指向
BMPプログラムは、
imstrans.descで定義され、
imsapps.descでも
TYPE=BATCHによって定義されているプログラムです。
トランザクション指向BMPプログラムは永続トランザクションにする必要があり、
imsresource.descで定義する必要があります。
ARTIBMPTサーバーは、トランザクション指向BMPプログラムのみを処理します。
1 : デバッグ・トレース情報がログに記録されます。
2 : より詳細なデータ情報がログに記録されます。
注意:
|
ARTIBMPTが UBBCONFIGファイルで構成されており、トランザクション指向 BMPトランザクションが imsresource.descで構成されている場合、 UBBCONFIGファイルで、 imsresource.descの/Qの構成に従って TMQUEUEサーバーを構成する必要もあります。
|
ROLBまたは
ROLLを発行するトランザクション指向
BMPプログラムの場合、トランザクションは1つの
ARTIBMPTサーバーによってのみ処理できます。
つまり、(imstrans.descで定義された)トランザクションの
CLASS定義は、1つの
ARTIBMPTサーバーの
-l class_listパラメータのみと一致します。
ARTIBMP_ORAは、
ARTIBMPのすべての機能を備えています。また、外部リソース・マネージャ(RM)として使用されるOracle Databaseもサポートできます。これは、Oracle Databaseによって提供されるいくつかのライブラリを使用します。Oracle Databaseでこの環境変数を使用するには、
UBBCONFIGファイルでRMセクションを適切に構成する必要があります。
ARTIADM - Tuxedo ART for IMSランタイムの管理を担当するOracle Tuxedoサーバー。
1 : デバッグ・トレース情報がログに記録されます。
2 : より詳細なデータ情報がログに記録されます。
ARTITERM - 異なるドメインに配置されている
ARTICTLと
ARTIMPPの間のメッセンジャとして機能します。
クロス・ドメイン環境では、ARTITERMサーバーは、異なるドメインに配置されている
ARTICTLと
ARTIMPPの間のメッセンジャとして使用されます。
ARTITERMは、
ARTIMPPに特別なサービスを提供し、したがって、
ARTIMPPはデータを
ARTITERMに渡すことができ、それは次にそのデータを
ARTICTLに渡します。
ARTIGW - 非端末クライアントと
ARTIMPPサーバーの間のブリッジとして機能するOracle Tuxedoサーバー。
ARTIGWは、非端末クライアントと
ARTIMPPサーバーの間のブリッジとして機能するOracle Tuxedoサーバーです。主な機能は次のとおりです。
1 : デバッグ・トレース情報がログに記録されます。
2 : より詳細なデータ情報がログに記録されます。
注意:
|
mq_service_nameと tuxclt_service_nameはどちらも、先頭を <domainid>_にすることはできません。そうでなければ、 ARTIGWはレスポンス・メッセージを正しく取得できません。この場合、 <domainid>は、 ARTIMPPが属しているドメインのIDです。
|
IMSCONN - IMS ConnectクライアントをTuxedo ART for IMSランタイムに結合するために使用されます。
UBBCONFIGファイルの
MACHINESセクションで
MAXWSCLIENTSパラメータを指定する必要があります。
MAXWSCLIENTSは、
IMSCONNに対して特別な意味を持つ唯一のパラメータです。
MAXWSCLIENTSは、IMS Connectクライアント専用に予約されているアクセス・スロットの数を、起動時にOracle ARTに通知します。
MAXWSCLIENTSの場合は、ノードに接続するIMS Connectクライアントの最大数を指定します。デフォルトは0です。指定しないと、IMS Connectクライアントから指定されたマシンに接続できません。
構文はMAXWSCLIENTS=numberです。
このアドレスは、IMSCONNと
IMSCONNHの間で
IMSCONNサブシステムによって内部で使用されます。アドレスは、標準インターネットURL書式の文字列です。たとえば、
//computer1:4001は、マシン・コンピュータ上のポート4000を示します。
IMSCONNとIMS Connectクライアントの間のキープアライブ・メッセージ間隔を秒数で指定します。接続の最大許容アイドル時間よりも小さい整数である必要があります。
-Kオプションを設定しないと、キープアライブ・メッセージは送信されません。
注意:
|
minhは1-255の数ですが、システム・リソースの制限に従って、それは、 (FD_SETSIZE - 24)以下である必要があります。 FD_SETSIZEは、1つのプロセスで一度に開くことができるファイルの最大数を意味します。この値は、システム・コマンド ulimit -nを使用して取得できます。
|
IMSCONNによって開始されるハンドラ・プロセスの最大数。
maxhは、1-1000の数であり、デフォルト値は1000です。ハンドラ・プロセスの実際の数は、システム負荷に基づいて、常に
minhと
maxhの間にあります。
注意:
|
maxhは1-1000の数ですが、システム・リソースの制限に従って、それは、 (FD_SETSIZE - 24)以下である必要があります。 FD_SETSIZEは、1つのプロセスで一度に開くことができるファイルの最大数を意味します。この値は、システム・コマンド ulimit -nを使用して取得できます。
|
IMSCONNHが
IMSCONNサブシステムで同時に維持できるセッションの数。
IMS ConnectクライアントがIMSCONNにSSL経由で接続する場所を指定します。アドレスは、標準インターネットURL書式の文字列です。たとえば、
//computer:5000は、computerというマシン上のポート5000を示します。
-sオプションが指定されない場合、このオプションは無視されます。
-dオプションは、サーバーのトレース・レベルを設定するために使用されます。設定しない場合、デフォルトのトレース・レベルは-1で、エラー情報のみがトレース・ログ・ファイルに出力されることを意味します。使用できるトレースレベル値は、0、1または2です。
ODBAPROX - z/OS上のソケット・サーバーであり、TCP/IPを介して
Tuxedo ART for IMSサーバーと通信するものです。
ODBAプロキシは、ソケット・サーバーであり、TCP/IPを介してTuxedo ART for IMSサーバーと通信します。
ODBAPROXは、Tuxedo ART for IMS内のプログラムと通信するように開発され、これらのプログラムのかわりにデータベース処理を実行します。
*.descや
*.psbなどの構成ファイルが配置されている絶対パスを指定するためにTuxedo ART for IMSによって必要とされる環境変数。これは
ARTIMPP、
ARTIMPP_ORA、
ARTIBMP、
ARTIBMP_ORA、
ARTIBMPT、
ARTIADMに必須の環境変数です。
MFSGENによって生成された制御ブロック・ファイルが配置されている絶対パスを指定するために
ARTICTLによって必要とされる環境変数。これは、
PATH環境変数に類似した一連のパスであり、セパレータは
:です。この変数が指定されていない場合、
PATH APPDIRが使用されます。MFSを使用する場合、これは
ARTICTLに必須の環境変数です。
すべてのレコード・ログ・ファイルの格納先ディレクトリを指定します。レコード・ログ・ファイルはCHKP (シンボリック)および
XRSTで使用されます。指定しなかった場合、
ART_IMSLOGDIRのデフォルト値は
$APPDIR/IMSLOGDIRになります。MPモードでOracle Tuxedoドメイン内の複数のマシンがレコード・ログ・ファイルを共有する場合、
ART_IMSLOGDIRは、Oracle Tuxedoドメイン内のマシンがアクセスできる
NFSディレクトリを指している必要があります。
ユーザー名を大文字に変換するかどうかを指定するために、
ARTICTLによって必要とされる環境変数。
Yを設定すると、すべてのユーザー名の文字が大文字に変換されます。
Nを設定するか、または設定しない場合は、変換されません。
|
|
|
|
|
|
|
デフォルトのCANCEL動作で cobcallを使用します。
|
|
物理的なCANCEL動作で cobcallを使用します。
|
|
論理的な CANCEL動作で cobcallを使用し、論理的なキャンセル操作の一部として、.dllコードおよび共有オブジェクト・コードを物理的にキャンセルします。
|
|
論理的な CANCELで cobcallを使用し、論理的なキャンセル操作の一部として、.dllコードおよび共有オブジェクト・コードを物理的にキャンセルしません。
|
|
CANCEL動作なしで cobcallを使用します。
|
Yに設定した場合、BMPサーバーはBMPプログラムの実行後終了します。"
N"に設定した場合、BMPサーバーはBMPプログラムの実行後も存続します。
ABORTに設定した場合、ユーザー・アプリケーションからの例外が捕捉されると、サーバー
MPP/BMPは中止されます。サーバーのコア・ファイルはシステムの構成に基づいて生成される場合とされない場合があります。
KEEPに設定した場合、サーバーは起動したままになります。設定しない場合、デフォルト値は
KEEPです。
COBOL-ITを使用している場合、COBOLプログラムの検索順序を定義するためにCOBOL-ITによって
COB_LIBRARY_PATHが必要とされます。これは、動的にロードされるCOBOLプログラムを検索する1つ以上のディレクトリを定義します。その使用方法は、Unix PATHに似ています。これはCOBOL-ITに必須の環境変数です。
DFSRRC00が
BMP/BMPTプログラムのレスポンスを待機するときのタイムアウト秒の値を指定するために使用されます。これには、次のルールが使用されます。
•
|
その値が 0xFFFFFFFFよりも小さい正の値に設定されている場合、 DFSRRC00は、指定されたタイムアウト値に達するか、またはタイムアウト値の範囲内で BMP/BMPTからレスポンスを受信するまで待機します。
|
•
|
CEE3ABD/ ART3ABDが呼び出される場合(MF環境で CEE3ABDが呼び出される場合を除く)。
|
•
|
ART_IMS_EXCEPTION_TO_CATCHまたはデフォルト・シグナル・リスト( ART_IMS_EXCEPTION_TO_CATCHが未設定の場合)で指定されたシグナルが捕捉される場合。
|
IMS_DUMP_TYPEが構成されていない場合、デフォルト値は
NONEですが、
ARTIMS_EXCEPTION_HANDLINGが
ABORTに設定されている場合、シグナルの捕捉時に
SYSTEM_DUMPが有効になります。
表21に、ダンプ・タイプのすべての組合せを示します。
DFSRRC00のため、
ARTIBMPサーバーに送信する必要のある、接頭辞
DD_の付く環境変数以外のすべて環境変数名の指定に使用されます。すべての環境変数の名前はカンマで区切ります。
DFSRRC00を起動する前に設定する必要があります。
IMS_LONG_USERNAMEを
Yに設定した場合、最大30バイトのユーザー名/パスワードが使用されます。それ以外の場合、従来の8バイトのユーザー名/パスワードが使用されます。
IMS_PERF_ENABLEが設定されていない場合、パフォーマンスの動作は
UBBCONFIGファイルの
-Vオプションの使用により設定されます。
Yに設定している場合、MPP/BMPサーバーでのトランザクションやプログラムの開始/終了時に、プログラム起動ログ・ファイルに、
transaction name,
program name,
Sstart time, Eend time,
group id,
server idの形式でトレース行が追加されます。
IMSステータス情報を収集するための共有メモリーを作成するには、
IPCKEYを指定します。
IPCKEYを有効なIPC値に設定した場合にのみ、
ARTIMSAGENTを使用してIMSドメインからリアルタイム情報を取得できます。
表23に、3270端末上で入力でき、Tuxedo ART for IMSで処理できるコマンドおよび関連するパラメータを示します。
表24に、z/OS上のIMSのTRANSACT MACROからフィールド名がマップされた構成ファイルの例を示します
表25に、z/OS上のIMSのAPPLCTN MACROからフィールド名がマップされた構成ファイルの例を示します。
リスト7に、キュー・スペースと参照用のキューを作成するためのスクリプト例を示します。このスクリプトを実際の要件に応じてカスタマイズできます。詳細は、Oracle Tuxedo /Qのガイドを参照してください。
ROLBまたは
ROLLを発行する永続トランザクションの場合、トランザクション・キューの作成の再試行回数は、比較的大きな数に設定する必要があります(最大で
2147483647)。
一部のimsdbs.descフィールド構成は、z/OS上のIMSのなんらかのDBD文からマップされています。
ROLBまたは
ROLLを発行する永続トランザクションの場合、トランザクション・キューの作成の再試行回数は、比較的大きな数に設定する必要があります(設定可能な最大値は2147483647)。
$appnameは、imsapps.descでタイプがTPと定義されているCOBOLアプリケーション・プログラムの名前であり、
$appname.psbは、それに対応するPSB定義ファイルです。タイプがBATCHのアプリケーション・プログラムの場合は、
$appname.psbは使用されず、
DFSRRC00を呼び出すスクリプトによってPSBが提供される必要があります。
LIST=YESの[
imspcb]セクションの数は(最大) 31です。
IOPCBを含むPCBの最大数は32です。
注意:
|
LIST=NOの[ imspcb]セクションはカウントされません。
|
表28に、z/OS上のIMSのPCB文からフィールド名がマップされた構成ファイルの例を示します。
注意:
|
可変長セグメントの場合、BYTES定義がSEGM文からマップされ( BYTES= (max bytes,min bytes)など)、最大バイト数は最小バイト数以上である必要があります。可変長セグメントは、2バイト・フィールドで始まる必要があり、それによって、その2バイトの長さのフィールドを含めたセグメントの長さが定義されます。
|
SEGPGM_A2E、
SEGPGM_E2Aおよび
SSAPGM_A2E、
KFAPGM_E2Aの場合:
2. SEGPGM_A2Eおよび
SEGPGM_E2A。
SEGPGM_A2Eおよび
SEGPGM_E2Aは、両方とも定義するか、両方とも定義しないかのいずれかにする必要があります。
SEGPGM_A2Eと
SEGPGM_E2Aが定義済の場合、ODBAプラグインは
SEGPGM_A2E/
SEGPGM_E2Aを使用してセグメント・データの変換を実行します。この場合、
$segname.descが存在していても、
$segname.descがセグメント・データの変換の実行に使用されることはありません。
SEGPGM_A2Eと
SEGPGM_E2Aが定義されていない場合、ODBAプラグインは
$segname.descのFIELDS定義を使用してセグメント・データの変換を実行します。
SSAPGM_A2Eが定義されている場合、ODBAプラグインは定義済のCOBOLプログラムを使用して、このセグメントの限定されたSSAの変換を実行します。
SSAPGM_A2Eが定義されていない場合、ODBAプログラムは
$segname.descの
KEYフィールド・タイプ定義を使用して、このセグメントのSSAの
KEY値を変換します。
KFAPGM_E2Aが定義されている場合、ODBAプラグインは定義済のCOBOLプログラムを使用して、このセグメントのキー・フィードバック領域のデータ変換を実行します。
KFAPGM_E2Aが定義されていない場合、ODBAプログラムは
$segname.descの
FBAFIELD定義を使用して、このセグメントのキー・フィードバック領域のデータ変換を実行します。
$segname.descは、セグメント内のフィールドを定義します。
$segname.descは、
imsdbs.descでGSAMとMSDBのどちらでもないアクセス・タイプが定義されているデータベースに対してのみ存在します。
$segname.descは
$ART_IMS_CONFIG/db/$dbnameの下に配置されています。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
たとえば、format=3,P;4,C;3,pのようにします。
1. PIECE-TYPEは C/P/Xにする必要があります。
|
|
表31に、COBOLプログラムでの使用方法に基づくフィールド定義のマッピング表を示します。
取得またはISRT呼出しが完了すると、ODBAプロキシからキー・フィードバック領域が返されます。DB PCBでキー・フィードバック領域を変換するために、
FBAFIELDという名前の特別なFIELDが予約されています。
$segmentで定義されるこの特別な
FIELD(FBAFIELD)によって、セグメントの連結キーの書式を定義する必要があります。キー・フィードバック領域は、segnameでのこのフィールドの定義に従って変換されます。
リスト8に、
$segname.descの定義例を示します。
BYTESはキー・フィードバック領域の長さ合計(つまり連結キーの長さ合計)を定義します。
TYPEは連結キーのタイプを定義します。連結キーに異なるタイプが含まれる場合は、
TYPEを
Mに設定する必要があります。
TYPE=Mの場合、
FORMATで連結キーの書式を定義する必要があります。
$segname.descで特別な
FIELD(FBAFIELD)が定義されていない場合、segnameではキー・フィードバック領域がデフォルトで
TYPE Cとして変換されます。
zostrans.descファイルは、z/OSに残っているすべてのトランザクションを定義します。これらすべてのトランザクションは、サブトランザクションとしてのみ呼び出す必要があり、現在は非会話型トランザクションのみがサポートされます。
imsgenconfにより、
IMS.WHITE (形式は次のとおり)にリストされているトランザクション/アプリケーションの構成が作成されます。
[TRANCODE]セクション: ブラック/ホワイト・リストにトランザクション・コードを定義します。各トランザクション・キーは、最大で8文字です。
[APPPSB]セクション: ブラック/ホワイト・リストにバッチ・アプリケーション・プログラムの
PSB名を定義します。各
PSBキーは、最大で8文字です。
imsgenconfにより、
IMS.BLACKに定義されていないトランザクション/アプリケーションの構成が作成されます。形式は次のとおりです。
ブラック/ホワイト・リストにバッチ・アプリケーション・プログラムの
PSBNAMEを定義します。各
PSBキーは、最大で8文字です。
Tuxedo ART for IMSでは、Micro Focus COBOL環境で、Tuxedo ART for IMSバッチCOBOLプログラム内に記述された
ACCEPT/DISPLAY文の
SYSIN/SYSOUTリダイレクションがサポートされます。これをサポートするために、Tuxedo ART for IMSは"
ARTEXTFH"という名前の新規ファイル・ハンドラを追加します(
$IMSDIR/coblib_mf/BMPにあります)。
ARTIMPPサーバー用に
ARTEXTFHという同じ名前の別のファイル・ハンドラがあり、その動作はMicro Focus COBOLのデフォルト・ファイル・ハンドラと同じです。
このファイル・ハンドラは$IMSDIR/coblib_mf/MPPにあります。これらの2つのファイル・ハンドラは、
ARTIBMPまたは
ARTIMPPサーバーによってロードされます。デフォルト・ファイル・ハンドラの動作が適さないケースがある場合、ユーザーはこれらの2つのファイル・ハンドラ・ファイルを切り替えるか、ユーザー指定のファイル・ハンドラと置き換えます。
2.
|
バッチ・プログラムを実行する前に、環境変数DD_SYSINおよび DD_SYSOUTを設定し、これらを使用して SYSIN/SYSOUTファイルを指定する必要があります。artbatchを使用してIMSジョブをトリガーする場合、通常はこれを設定します。
|
Cのプログラムでは、STDIN/STDOUT/STDERRは
SYSIN/SYSOUT/SYSOUTファイルにリダイレクトされます。
SYSINが定義されていないか、アクセスできない場合、リダイレクトは起きません。
SYSOUTが定義されていないか、アクセスできない場合、
STDOUT/STDERRは
$APPDIR/SYSOUTファイルにリダイレクトされます。
COBOL-ITでは、SUBSYSモードのみがサポートされます。Micro Focus COBOLでは、次の7つのCOBOLモードがサポートされます。
これらのCOBOLモードは、環境変数ARTIMS_COBOL_MODEで設定するか、または各
BMP/MPPサーバーの
UBBCONFIGファイルの
CLOPTで設定します。
CLOPTのパラメータは
-m COBOL_MODEです(たとえば、
-m MF_SUBSYS)。
3.
|
CLOPTのみを使用する場合は、すべてが CLOPTで制御されます。
|
1.
|
${ART_IMS_CONFIG}で imsdebug.desc構成ファイルを作成または変更します。
|
2.
|
tmshutdown/ tmbootを使用してサーバーを再起動するか、 imsadminを使用してオンライン・システムで構成を再ロードします。
|
3.
|
現在の端末または新しい端末で animを起動します。 animは待機状態のままである必要があります。
|
1.
|
${ART_IMS_CONFIG}で imsdebug.desc構成ファイルを作成または変更します。
|
2.
|
tmshutdown/ tmbootを使用してサーバーを再起動するか、 imsadminを使用してオンライン・システムで構成を再ロードします。
|
4.
|
vncserverを使用してVNC環境を開始できます。
|
VNC xtermで、deet -p yourDEBUGIDコマンドを使用してデバッグを開始します。これにより、DeetグラフィックUIが起動され、COBOLプログラムがアタッチされます。
•
|
Oracle Tuxedo ART for IMS ユーザーズ・ガイド
|