Hitachi

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


5.1.4 出力メッセージ編集UOCインタフェース

出力メッセージ編集UOCは,次に示す形式で呼び出します。

〈この項の構成〉

(1) 形式

ANSI C,C++ の形式
#include <dcmcfuoc.h>
DCLONG uoc_func(dcmcf_uoc_mout_n *parm)
K&R版C の形式
#include <dcmcfuoc.h>
DCLONG    uoc_func(parm)
 
dcmcf_uoc_mout_n  *parm ;

(2) 説明

uoc_func(出力メッセージ編集UOC)を呼び出すとき,MCFは次に示す所定のパラメタをparmに設定します。

(3) パラメタの内容

(a) dcmcf_uoc_mout_nの内容

typedef struct {
    DCLONG pro_kind;                      …プロトコル種別
    char   le_name[9];                    …論理端末名称
    char   reserve1[7];                   …予備
    dcmcf_uocbuff_list_n *buflist_adr;    …送信バッファリストアドレス
    dcmcf_uocbuff_list_n *ebuflist_adr;   …編集バッファリストアドレス
    DCLONG output_no;                     …メッセージ出力通番
    char   msg_type;                      …メッセージ種別
    char   outputno_flag;                 …メッセージ出力通番有効フラグ
    char   resend_flag;                   …再送フラグ
    char   reserve2[1];                   …予備
    char   *pro_indv_ifa;                 …MCFが使用
    DCLONG rtn_detail;                    …詳細リターンコード
    char   reserve3[20];                  …予備
} dcmcf_uoc_mout_n;

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)の内容

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「5.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。

(4) MCFが値を設定する項目

(a) dcmcf_uoc_mout_n

  •  pro_kind

    プロトコル種別として,次の値が設定されます。

    • DCMCF_UOC_PRO_NF:NIF/OSIプロトコル

  •  le_name

    メッセージを出力した論理端末の名称が設定されます。

  •  buflist_adr

    送信用バッファリストのアドレスが設定されます。

  •  ebuflist_adr

    編集用バッファリストのアドレスが設定されます。

    メッセージ編集バッファが未定義の場合,つまり,コネクション定義(mcftalccn -e)を省略した場合,ebuflist_adrにはヌル文字が設定されます。

  •  output_no

    メッセージ出力通番が設定されます。ただしoutputno_flagがDCMCF_UOC_OUTPUTNO_OKの場合だけ有効です。

  •  msg_type

    メッセージ種別として,次の値が設定されます。ただしoutputno_flagがDCMCF_UOC_OUTPUTNO_OKの場合だけ有効です。

    • 'o':応答メッセージ

    • 'n':一般送信メッセージ

    • 'p':優先送信メッセージ

    • 's':同期型の送信メッセージ

  •  outputno_flag

    メッセージ出力通番が有効であるかどうか,次の値が設定されます。

    • DCMCF_UOC_OUTPUTNO_OK:メッセージ出力通番有効

      (output_noおよびmsg_typeが有効になります)

    • DCMCF_UOC_OUTPUTNO_NG:メッセージ出力通番無効

  •  resend_flag

    次の値が設定されます。

    • 'r':再送メッセージです。

    • 'n':再送メッセージではありません。

  •  pro_indv_ifa

    MCFで使用するパラメタです。

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(4)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「5.1.2(4)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。

(5) ユーザが値を設定する項目

(a) dcmcf_uoc_mout_n

  •  rtn_detail

    詳細リターンコードを設定します。

    このコードは,UOCがDCMCF_UOC_MSG_NGをリターンしたときに,MCFに渡されます。

    MCFは,詳細リターンコードをメッセージログファイルに出力します。

    詳細リターンコードは,-19999〜-19000の範囲で指定してください。

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「5.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。

(6) リターン値

uoc_func()は次のコードでリターンしてください。

リターン値

意味

DCMCF_UOC_MSG_OK

正常リターン(編集バッファでスケジューリング)

DCMCF_UOC_MSG_OK_SND

正常リターン(送信バッファでスケジューリング)

DCMCF_UOC_MSG_NG

メッセージ編集エラー

UOCが正常リターンすると,TP1/NET/OSAS-NIFは,パラメタから取り出したアプリケーション名をEBCDIKコードに変換してメッセージを送信します。

(7) パラメタとバッファの関係

UOCインタフェース用のパラメタとバッファの関係は,入力メッセージ編集UOCの場合と同じです。「5.1.2(7) パラメタとバッファの関係」を参照してください。