OpenTP1マッピングサービス機能の詳細

マッピングサービス機能には,次の三つがあります。

この節では,予約項目とマッピングプロセスについて説明します。

マッピングサービスコマンドの詳細については,この章の「マッピングサービスコマンド」で説明します。

予約項目

画面・帳票定義で予約項目を指定した場合,マッピングサービスで情報を設定するのでUAPで値を設定する必要はありません。

マッピングサービス機能で提供する予約項目を次の表に示します。

表6-1 予約項目

予約項目項目名称フォーマット備考
日付1DATE1yy-mm-ddyy:西暦年の下2けた
mm:月
dd:日
ddd:通算日
日付2DATE2yy/mm/dd
日付3DATE3dd/mm/yy
日付4DATE4mm/dd/yy
日付5DATE5yy・ddd
時刻TIMEhh:mm:ss時:分:秒
論理端末名称VTNAME半角8文字
再送IDRESEND半角8文字再送メッセージ以外は表示されません。
通番VTSEQmnnnnn
m:メッセージ種別
O:問い合わせ応答
N:一般分岐
P:優先分岐
n:通番
通番1VTSEQ1mnnnn
(凡例)
-:該当しません。
注※
マッピングサービスに対してマッピング要求をしたときの日付,時刻を環境変数TZに従って設定します。

マッピングサービスプロセス

マルチスレッド環境では,マップのローディングが要求されると,マップをローディングしている間,要求元スレッドのプロセス全体がブロックされます。プロセス全体がブロックされることを避けるため,マップロード用のプロセスを用意します。これをマッピングサービスプロセスと呼びます。

マッピングサービスプロセスの起動,終了,およびマッピングサービスプロセスの機能について次に示します。

(1) マッピングサービスプロセスの起動

OpenTP1システムが起動されると,自動的にマッピングサービスプロセスが起動されます。あらかじめ,MCFマネジャ共通定義(mcfmcomn -m)のmapsvnameオペランドで,_mpで始まるマッピングサービス定義ファイル名を指定しておきます。

マッピングサービスプロセスは,マッピングサービス定義1,およびマッピングサービス属性定義2の定義に従って,マッピングサービスを開始します。

注※1
ファイル名=$DCCONFPATH/マッピングサービス名
マッピングサービス定義については,この章の「OpenTP1マッピングサービスに関する定義」を参照してください。
注※2
ファイル名=$DCCONFPATH/MAPSattr/dcmap.def(ユーザで任意に指定できます)
マッピングサービス属性定義については,この章の「OpenTP1マッピングサービスに関する定義」を参照してください。

(2) マッピングサービスプロセスの終了

OpenTP1システムが終了すると,自動的にマッピングサービスプロセスも終了します。

(3) マッピングサービスプロセスの機能

(a) 常駐マップの管理

常駐マップとは,マッピングサービスの開始から終了まで,常にメモリ上にローディングされている物理マップのことです。常駐マップは,マッピングサービス属性定義のMAPNAMEオペランドで指定します。マッピングサービス開始時,OpenTP1システムは,すべての常駐マップをローディングします。

マッピングサービスは,物理マップを標準読み込みパスから常駐マップローディング用バッファにローディングして管理します。頻繁に使用するマップをバッファに常駐させることで,入出力に掛かる時間を短縮できます。

(b) 非常駐マップの管理

マッピングサービス属性定義のMAPNAMEオペランドで指定されていない,常駐マップ以外のマップを非常駐マップと呼びます。メッセージの送受信時,常駐マップローディングバッファに必要な物理マップがない場合は,非常駐マップをローディングします。非常駐マップはLRU管理マップローディング用バッファに格納されます。

マッピングサービスは,まず,必要な物理マップがLRU管理マップローディング用バッファ内にある場合には,マップのローディングはしないで,そのマップを使用してマッピング処理をします。

LRU管理マップローディング用バッファ内に必要な物理マップがない場合には,LRU管理マップローディング用バッファにマップをローディングします。新しい非常駐マップをローディングするため,ほかの非常駐マップを削除する必要がある場合,最も古い時点に使用されたマップを削除します。最も古い時点に使用されたマップから削除していく物理マップの管理をマップLRU管理と呼びます。この場合,LRU管理されるマップの数は,最大でマッピングサービス属性定義のMAPCNTオペランドで指定した数になります。

(c) 物理マップ読み込みパス

マッピングサービスは,通常,マッピングサービス属性定義のMAPPATHオペランドで指定した標準用物理マップ読み込みパスから物理マップをローディングします。マッピングサービスは,標準用物理マップ読み込みパスからの非常駐マップのローディングに失敗すると,交代用の読み込みパスから物理マップをローディングします。マッピングサービス属性定義のALTPATHオペランドで,交代用物理マップ読み込みパス名を指定しておいてください。なお,交代用物理マップ読み込みパスには標準用物理マップ読み込みパスと同じ物理マップを用意しておいてください。

(d) マップファイルの作成

物理マップを格納するUNIXファイルをマップファイルと呼びます。マップファイルは次に示す方法で作成します。OSがWindowsの場合は,物理マップをそのまま使用します。

(e) PAGECモジュールの管理

PAGECモジュールも物理マップと同様に,常駐,非常駐を管理します。メモリに常駐させるPAGECモジュールを,マッピングサービス属性定義のPGCMNAMEオペランドに指定します。PGCMNAMEオペランドで指定していないPAGECモジュールは,非常駐になります。非常駐のPAGECモジュールは,非常駐マップと同様,LRU管理されます。LRU管理するPAGECモジュールの数を,マッピングサービス属性定義のPGCCNTオペランドに設定してください。

PAGECモジュールの読み込みパスも,物理マップと同様に標準用と交代用を設定できます。マッピングサービス属性定義のPGCSTDPNオペランドに標準用PAGECモジュール読み込みパス名を,PCGALTPNオペランドに交代用PAGECモジュール読み込みパス名を指定します。交代用PAGECモジュール読み込みパスには標準用PAGECモジュール読み込みパスと同じPAGECモジュールを用意しておいてください。