送信したメッセージを,再び送信できます。メッセージはdc_mcf_resend関数【CBLDCMCF('RESEND ')】で再送します。再送するメッセージは,以前に送信したメッセージとは別の,新しいメッセージとして扱います。次のような場合に,メッセージを再送します。
再送の対象にできるのは,次のすべての条件を満たしているメッセージです。
メッセージキュー(ディスクキュー)内に対象のメッセージがない場合,dc_mcf_resend関数はエラーリターンします。
どのメッセージを再送するかは,送信済みメッセージに設定してあった,次に示す情報で選択します。
メッセージキュー(ディスクキュー)内に保持する送信済みメッセージ数はメッセージキューサービス定義のquegrpコマンドの-mオプションで指定します。
論理端末ごとにこのオプションで指定したメッセージ数をメッセージキューに保持することができます。
メッセージを再送するとき,MCFマネジャ定義のUAP共通定義(mcfmuap)の-eオプションで指定した最大セグメント長分の領域だけ,作業領域として使います。再送するメッセージセグメント長が,この作業領域よりも大きい場合は,dc_mcf_resend関数はエラーリターンします。このため,UAP共通定義の-eオプションでは,再送するメッセージの最大長以上の値を設定しておいてください。
また,MCFマネジャ定義のUAP共通定義(mcfmuap)の-lオプションでの,出力通番に関する指定内容によっては,メッセージキューファイル内に同じ出力通番を持ったメッセージが同時に存在する場合があります。この場合,どのメッセージを再送するか保証できません。