EXEC 文 (EXEC CICS や EXEC SQL など) を含むプログラムは、テストが難しい場合がよくあります。これらの文をサポートしてテスト実行を継続するには、追加のオーバーヘッドが必要になります。ただし、MFUPP プリプロセッサでサポートを有効にして、テストの実行時に EXEC 文を無視できます。
CICS プログラムを例に挙げると、EXEC CICS 文、dfheiblk コピーブック文、および DFH マクロを独自のモック コードに置き換えることができます。通常このコードは、複雑なコードまたはプロセスを、テストに必要な要素をテスト ケースに提供することを目的とする単純化されたコードに置き換えます。
このサポートは、MOCK および CICS または SQL 指令を使用して有効にします (現在、EXEC SQL サポートは完全には実装されていないことに注意してください)。また、EXEC-REPORT-FILE 指令を使用すると、ソース コード内の EXEC 文をカタログ化することもできます。このカタログ ファイルを使用して、モック コードのスタブを形成するコードのスニペットを生成できます。
スニペット (.cpy ファイル) は、テスト ランナーの generate-exec-mock-snippet オプションを使用して生成します。このオプションには指定できるパラメーターが多数あり、これらのパラメーターによって、これらのファイル内のスタブ コードに追加される情報が決まります。
他のモック コードと同様に、EXEC 文が出現するたびに、コントローラー (MFU-MD-EXEC-CONTROLLER) で実行フローをスタブ コードに渡す必要があります。カタログ ファイルを使用してスタブ コードを生成する場合、コントローラーは MFUM_<program-name>.cpy ファイルで作成します。このファイルには、(スニペットの生成時に指定したオプションに応じて) ソース コード内の各 EXEC 文に対応する多数のセクションも含まれます。
*> MFUPP-CID MY-CICS-RETURN
EXEC CICS RETURN
END-EXEC
*> MFUPP-SID MY-SQL-COMMIT
EXEC SQL COMMIT
END-EXEC
(EXEC 文のタイプによってプレフィックスがどのように異なるかに注意してください。)(EXEC-REPORT-FILE 指令を使用して) ファイルを次にカタログ化する際に、テスト全体で新しい識別子が使用されます。
上記の機能を使用して CICS プログラムのモックを作成しテストする方法の例については、「CICS プログラムのモックへの MFUPP の使用」を参照してください。