Errors (CPI-C)
次の表は、データ転送エラーが発生したときに発生する状態の変更をまとめたものです。
return_code | 古い状態 | 新しい状態 |
---|---|---|
CM_PROGRAM_ERROR_PURGING | RECEIVE | 変更なし |
CM_PROGRAM_ERROR_NO_TRUNC | RECEIVE | 変更なし |
CM_SVC_ERROR_PURGING | SEND | RECEIVE |
CM_SVC_ERROR_NO_TRUNC | SEND_PENDING | RECEIVE |
パートナー プログラムが論理レコードを切り捨てる場合、ローカル プログラムは次の Receive 呼び出しで return_code を通じて切り捨ての通知を 受け取ります 。
requested_lengthをゼロに設定してプログラムが Receive を発行した場合、呼び出しは通常どおり実行されます。 ただし、 data_received と status_received は、同じ受信呼び 出 しでは設定されません。 (この状況の例外の 1 つは、次の段落で説明されている、マップされた会話を介して送信される null レコードです)。
パートナー プログラムからデータを使用できるマップされた会話では、 data_received が CM_INCOMPLETE_DATA_RECEIVED に設定されます。 null レコードが使用可能な場合 (パートナー プログラムによって発行されたSend_Data呼び出しの send_length が 0 に設定されている場合)、 data_received は received_length 0 に設定 されたCM_COMPLETE_RECORD_RECEIVED に設定されます。
データが使用可能で、フィル特性がCM_FILL_LLに設定されている基本的な会話では、 data_received は CM_INCOMPLETE_DATA_RECEIVED に設定されます。 フィル特性がCM_FILL_BUFFERに設定されている場合、 data_received は CM_DATA_RECEIVED に設定されます。
論理ユニット (LU) は、受信したデータ文字列に対して EBCDIC と ASCII の間の変換をバッファーに入れる前に 自動的に実行しません。 必要に応じて、共通サービス動詞 (CSV) CONVERT を使用して、文字列を 1 つの文字セットから他方の文字セットに変換できます。