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_receivedstatus_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 つの文字セットから他方の文字セットに変換できます。