EXEC CICS 文が含まれるアセンブラーのコピーブックとマクロのコンパイル

制約事項: 本トピックは Windows 環境にのみ該当します。

EXEC CICS 文が含まれるアセンブラーのコピーブックやマクロをコンパイルすると、エラー ASMCM0060S (不定長の操作コード) が発生します。これは、ファイル拡張子が .CAP ではなく .MLC の場合に生じます。

これらの拡張子の場合、EXEC CICS 文が、コピーブックまたはマクロのコンパイル前に前処理されていないためにこのエラーが発生します。アセンブラー コンパイラは、EXEC 文をマクロとして解釈しようとします。このため、上記の ASMCM0060S エラーが発生します。

EXEC CICS 文が含まれるアセンブラー モジュールのファイル拡張子が .CAP の場合、アセンブラーは、アセンブルの前にアセンブラー CICS プリプロセッサを実行するため、エラーは生じません。

拡張子が .MLC のアセンブラー ファイルでアセンブラー CICS プリプロセッサを実行するように、Enterprise Developer を設定することもできます。このためには、次の追加ステップを実行します。

  1. COBOL エクスプローラーでプログラムを右クリックし、[Properties] をクリックします。
  2. [Assembler Compiler > CICS Preprocessor] をクリックし、ページで次のビルド設定を指定します。
    1. [Enable file specific settings] をオンにします。
    2. [Use CICS preprocessor] をオンにします。
    3. 必要に応じて、使用するアセンブラー モジュールの [Insert standard prolog macros (PROLOG)] および [Insert standard epilog macro (EPILOG)] が [True] に設定されていることを確認します。たとえば、モジュールで EXEC CICS 互換 PROLOG をコード化している場合、アセンブラー CICS プリプロセッサで PROLOG を挿入する必要はありません。
    4. [OK] をクリックします。

      Eclipse のデフォルトの設定を変更していなければ、この時点でビルドが実行され、変更内容を反映してプログラムがコンパイルされます。

  3. モジュールをコンパイルします。デフォルトでは、いずれかのソースで変更が検出されると、Eclipse でプロジェクト全体がコンパイルされます。このデフォルトの動作を無効にしている場合 ([Project] をクリックして [Build Automatically] をオフにする)、個々のプログラムをコンパイルするには、COBOL エクスプローラーでファイルを右クリックして [Compile] をクリックします。

    コンパイルすると、loadlib\<program name>.bal (マクロが展開されたプリプロセッサ出力) およびloadlib\<program name>.pac (マクロが展開されないプリプロセッサ出力) が作成されます。

  4. loadlib\<program name>.paccopylib\program name.cpy に適宜コピーします。

これで、コンパイルしてもエラーが発生しません。

注: 個別の Enterprise Developer プロジェクトを作成して、EXEC CICS 文が含まれるアセンブラーのコピーブックやマクロを処理することをお勧めします。これにより、特殊な処理が必要なプロジェクトと他のプロジェクトを区別できます。