Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


5.1.3 入力メッセージの編集とアプリケーション名の決定

入力メッセージ編集UOCは,受信した論理メッセージをユーザ任意の形式に変換します。次に,受信した論理メッセージを基に,ユーザは任意のアプリケーション名を決定できます。標準提供の入力セグメント判定UOCを使用する場合,受信メッセージでアプリケーション名を決定できなくなります。ユーザが入力メッセージ編集UOC,または論理端末定義(mcftalcle)の-vオプションで,アプリケーション名を決定してください。UOCは,MHPを起動するメッセージのセグメントを受信すると起動します。

なお,入力メッセージ編集UOCは,次に示す条件に該当する場合は呼び出されません。

ユーザは,MCFメイン関数でUOC関数アドレスを設定します。また,必要に応じてメッセージ編集用バッファグループ番号(コネクション定義(mcftalccn -e)のmsgbufオペランド)を定義します。

〈この項の構成〉

(1) 入力メッセージの編集

受信したメッセージが格納されている受信バッファ,および定義で指定した編集バッファを引き渡します。UOCでは,これらのバッファを使用して,入力メッセージの編集ができます。

また,UAPに通知するメッセージのセグメントは,受信バッファ,または編集バッファのどちらかに格納されたものを使用できます。どちらのセグメントを使用するかは,UOCから返されるリターンコードによって選択できます。

各パラメタに設定した値が不正の場合,TP1/NET/TCP/IPはMCFイベントを通知して論理端末を閉塞またはコネクションを解放します。

(2) アプリケーション名の決定

該当するMCF通信プロセスに入力メッセージ編集UOCが登録されている場合,論理メッセージの受信と同時にアプリケーション名を決定できます。

このUOCでアプリケーション名を決定する場合,アプリケーション名の形式は,アプリケーション名格納領域の先頭から,'\0'の手前までの1〜8バイトの英数字です。先頭から9バイト目までに'\0'がないときは,アプリケーション名を不正とします。

アプリケーション名の決定の処理は,「2.3.11 アプリケーション名の決定」を参照してください。

(3) UOCエラーリターン処理

UOCからDCMCF_UOC_MSG_NGでリターンした場合,MCFはメッセージログを出力し,障害通知イベント(CERREVT)を通知します。

UOCで障害を検出し,MCFイベント処理用MHPを起動したい場合は,ユーザ任意のMCFイベント処理用MHPのアプリケーション名を設定します。このとき,MCFにはDCMCF_UOC_MSG_OK(_RCV)でリターンします。

(4) UOCパラメタ不正の場合の処理

UOCで設定したパラメタに不正があった場合,MCFはメッセージログを出力し,障害通知イベント(CERREVT)を通知して,論理端末を閉塞またはコネクションを解放します。

(5) OpenTP1への組み込み方法

入力セグメント判定UOCの組み込み方法と同じです。「5.1.1(5) OpenTP1への組み込み方法」を参照してください。