1.7.5 TP1/FSP(全銀RC)関数のコールタイミングについて
|
製品略称 |
API名 |
トランザクション種別 |
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
TP1/EE |
MCP |
TP1/FSP |
|||||||||||||||
|
MI |
ME |
MN |
E1 |
E2 |
E3 |
E4 |
ES |
ER |
TM |
RL |
UT |
CU |
JI |
BS |
TZ |
||
|
TP1/FSP 全銀RC |
ee_zrc_snd_message |
× |
× |
△ |
× |
× |
× |
× |
× |
× |
○ |
△ |
× |
○ |
× |
× |
× |
|
ee_zrc_snd_response |
× |
× |
△ |
× |
× |
△ |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|
|
ee_zrc_errtrns |
× |
× |
× |
× |
× |
× |
× |
○ |
× |
× |
× |
× |
× |
× |
× |
× |
|
- (凡例)
-
○:発行可
△:一部発行可(詳細は,各コマンドの説明を参照)
×:発行可能なトランザクションではないため発行不可
発行不可のタイミングで関数を発行するとエラーとなり,APIはリターン値に「EEZRCER_CONDITION」または「EEZRCER_ALREADY」を設定してリターンします。
(1) 送信関数(ee_zrc_snd_message)
一部発行可のトランザクション種別について,次の表に示します。
|
トランザクション種別 |
内容 |
発行可否 |
|---|---|---|
|
MN |
ee_zrcから始まるTP1/FSP(全銀RC)のサービス |
× |
|
上記以外 |
○ |
|
|
RL |
ee_zrcから始まるTP1/FSP(全銀RC)のサービス |
× |
|
上記以外 |
○ |
- (凡例)
-
○:発行可
×:発行不可
発行不可のタイミングで関数を発行するとエラーとなり,APIはリターン値に「EEZRCER_CONDITION」を設定してリターンします。
- 機能
-
全銀RCセンタへ情報メッセージを送信します。
- 形式
-
ANSI C,C++の形式
#include <eezrc.h> int ee_zrc_snd_message(char *termnam, char *senddata, int sdataleng, char *lcn, int mcp_rtn);
UAPで値を設定する引数
- termnam
-
出力先の論理端末名を設定します。論理端末名の長さは最大8バイトです。論理端末名の後ろにはヌル文字を付けてください。
- senddata
-
送信するセグメントの内容を設定した領域を設定します。
- sdataleng
-
送信するセグメントの長さを設定します。設定できる値は65〜1,564になります
(サブレイヤヘッダ16バイト,業務プロトコルヘッダ48バイト,テキスト長最大1,500バイト)。
図1‒52 送信するセグメントの長さ
サブレイヤヘッダと業務プロトコルヘッダについてはTP1/FSP(全銀RC)が電文を作成します。MCP使用領域,サブレイヤヘッダ,業務プロトコルヘッダ,テキスト部の全体の領域を確保し,テキスト部に情報をセットして関数をコールしてください。
- lcn
-
送信する電文のLCN番号をキャラクタ形式2バイトで設定します。
TP1/FSP(全銀RC)で値を設定する引数
- mcp_rtn
-
リターン値がEEZRCER_MCPSENDの場合,エラーとなったee_mcp_send関数のリターン値を設定します。
- ee_zrc_snd_message関数のリターン値
-
リターン値
意味
EEZRC_OK
正常に終了しました。
EEZRCER_MCPSEND
ee_mcp_send関数でエラーが発生しました(mcp_rtn引数を参照可能)。
EEZRCER_TERM_HOLD
termnamに設定した論理端末名が閉塞中です。
EEZRCER_CON_CLOSE
termnamに設定した論理端末名に該当するTCPコネクションが切断中です。
EEZRCER_ARGUMENT
senddataに設定した値が間違っています。
EEZRCER_LCN_WAIT
lcnに設定したLCN番号は送達管理待ち状態です。
EEZRCER_MESSAGE_TOO_BIG
sdatalengにプロトコル最大長を超える値を設定しています。
EEZRCER_MESSAGE_TOO_SHORT
sdatalengに64以下の値を設定しています。
EEZRCER_LE_NAME
termnamに設定した値が間違っています。
EEZRCER_MCPRTN
mcp_rtnに設定した値が間違っています。
EEZRCER_TP1_FUNCTION
OpenTP1内部関数でエラー発生しました。
EEZRCER_ZRC_NOT_DEFINED
全銀RCプロトコルが定義されていません。
EEZRCER_TIMER
タイマ監視の設定でエラーが発生しました。
EEZRCER_LCN
lcnに設定した値が間違っています。
EEZRCER_CONDITION
発行条件が不正です。
-
ee_trn_rollback_mark関数が発行済みです。
-
このAPI関数を呼び出せるトランザクションではありません。
-
(2) 送達管理電文送信関数
一部発行可のトランザクション種別について,次の表に示します。
|
トランザクション種別 |
内容 |
発行可否 |
|---|---|---|
|
MN |
制御ミドル関数データ領域の送達管理メッセージ送信フラグ(データ名BE)がX'01' |
○ |
|
上記以外 |
× |
|
|
E3 |
全銀RCサービス拡張トランザクションインタフェース情報の送達管理メッセージ送信フラグがX'01'※1 |
○ |
|
上記以外 |
× |
- (凡例)
-
○:発行可
×:発行不可
発行不可のタイミングで関数を発行するとエラーとなり,APIはリターン値に「EEZRCER_CONDITION」または「EEZRCER_ALREADY」を設定してリターンします。※2
- 注※1
-
送達管理メッセージがすでに送信済みの場合,送達管理メッセージ送信フラグはX'00'となります。
- 注※2
-
ee_trn_retry_rollback関数発行前に送達管理電文送信関数を発行し,ee_trn_retry_rollback関数発行後に再度,送達管理電文送信関数を発行した場合,APIはリターン値に「EEZRCER_ALREADY」を設定してリターンします。
- 機能
-
全銀RCセンタへ送達管理メッセージを送信します。
- 形式
-
ANSI C,C++の形式
#include <eezrc.h> int ee_zrc_snd_response(char rsp_type, EELONG flags);
UAPで値を設定する引数
- rsp_type
-
送信する送達管理メッセージの応答種別を次の形式で指定します。
EEZRC_SNDACK:ACKの送達管理メッセージを送信する場合に指定します。
EEZRC_SNDNAK:NAKの送達管理メッセージを送信する場合に指定します。
- flags
-
EENOFLAGSを設定します。
- ee_zrc_snd_response関数のリターン値
-
リターン値
意味
EEZRC_OK
正常に終了しました。
EEZRCER_MCPSEND
MCP電文送信関数でエラーが発生しました。
本エラー時はコネクションを解放します。
EEZRCER_TERM_HOLD
論理端末が閉塞中です。
EEZRCER_CON_CLOSE
TCPコネクションが確立状態ではありません。
EEZRCER_TP1_FUNCTION
OpenTP1内部関数でエラー発生しました。
EEZRCER_ZRC_NOT_DEFINED
全銀RCプロトコルが定義されていません。
EEZRCER_CONDITION
発行条件が不正です。
-
このAPI関数を呼び出せるトランザクションではありません。
-
情報メッセージではないメッセージに対してこの関数を発行しました。
-
eemcpcn定義-zオプションrspmodeオペランドがautoのコネクションで本関数を実行しました。
EEZRCER_ALREADY
送達管理メッセージは送信済みです。
EEZRCER_ARGUMENT
引数に設定した値が間違っています。
-
(3) ERRTRNS関数(ee_zrc_errtrns)
業務UAPサービスのERRTRNSサービスでERRTRNSの起動を確認した場合,全銀RCの電文送信に関するERRTRNSであった場合に本関数をコールしてください。
- 機能
-
TP1/FSP(全銀RC)にERRTRNSの発生を通知します。TP1/FSP(全銀RC)では送信に失敗したメッセージの送達管理待ちタイマのキャンセル処理を実施します。
- 形式
-
ANSI C,C++の形式
void ee_zrc_errtrns (char *in, EEULONG *in_len, char *out, EEULONG *out_len, EERPC_INTERFACE_TBL *trninf);
- UAPで値を設定する引数
-
-
in
-
in_len
-
out
-
out_len
-
trninf
業務UAPサービスが受信したERRTRNSの引数情報をそのままセットしてください。
-