i プロジェクト・メンバーのコンパイル

このタスクについて

i プロジェクトでは、一度に 1 つまたは複数のメンバーをコンパイルできます。 メンバーをバッチ・ジョブに実行依頼する方法、または即時にコンパイルする方法があります。 コンパイル時、デフォルトでは、まずプロジェクトで行った変更がワークベンチから IBM® i サーバーにプッシュされ、次に選択したメンバーがコンパイルされます。 ビルドおよびコンパイルのオプションは、「i プロジェクト」設定で変更できます。 選択可能な 2 つのオプションは、「プロジェクトで変更されたすべてのリソースをプッシュする」(デフォルト・オプション) および「選択したリソースに変更があった場合にプッシュする」です。
1 つのメンバーをコンパイルする手順は以下のとおりです。
  1. コンパイルするメンバーが表示されるまで i プロジェクトを展開します。
  2. 右クリックして「リモート・アクション」を選択し、以下のいずれかを選びます。
    • コンパイル: プロンプトを出さずにメンバーをコンパイルします。 メンバーは、そのソース・タイプの現行コンパイル・コマンドを使用してコンパイルされます。
    • コンパイル (プロンプト): プロンプトを出してメンバーをコンパイルします。 これは追加のパラメーターを指定するために選択します。
    • コンパイル・コマンドの選択: 特定のコマンドを、このソース・タイプの現行コマンドにします。
    • コンパイル・コマンドの処理: 関連するコンパイル・コマンドを追加、変更、または削除します。
複数のメンバーをコンパイルする手順は以下のとおりです。
  1. コンパイルするメンバーが表示されるまで i プロジェクトを展開します。
  2. Ctrl キーを押したまま各メンバーをクリックして、メンバーを選択します。
  3. 右クリックして「リモート・アクション」を選択し、以下のいずれかを選びます。
    • コンパイル: タイプに基づく順序に従って、選択したメンバーごとにコンパイル・コマンドを実行依頼します。 (この順序は、後述の設定で変更可能です。 このページの下部にある『コンパイル順序設定の変更』を参照してください。) メンバーは、ソース・タイプの現行コンパイル・コマンドを使用してコンパイルされます。
    • コンパイル・コマンドの処理: 関連するコンパイル・コマンドを追加、変更、または削除します。

次のタスク

バッチ・モードおよび即時モード:

  • バッチ・モードでコンパイルする場合は、選択したすべてのメンバーが 1 つのバッチ・ジョブでコンパイルされます。 実行依頼したジョブの進行状況が「ジョブ状況」ビューに表示されます。
  • バッチ・モードでコンパイルする場合、コンパイル・コマンドで OPTION(*EVENTF) を使用すると、結合イベント・ファイルにコンパイル・エラーが収集されます。 このファイルは、アクションの実行後に検索することができます。 コンパイラー・エラーを検索するには、「ジョブ状況」ビューでジョブ ID を右クリックし、「タスク・アクション」 > 「検索エラー」を選択します。
  • 即時モードでコンパイルする場合、コンパイル・コマンドは逐次実行依頼されます。 コンパイル・エラーはいずれも、エラー・リストで、メンバーごとに別個のタブに表示されます。
バッチか即時かの設定は、「ビルド・スタイル」設定ページで変更できます。 ワークベンチ・メニューで「ウィンドウ」 > 「設定」をクリックします。 続いて「i プロジェクト」を展開し、「ビルドおよびコンパイル」を選択します。 「コンパイルをバッチ・ジョブとして実行」チェック・ボックスに注意してください。 これを選択すると、i プロジェクトからのコンパイルは、バッチ・ジョブで実行依頼されます。 選択解除すると、コンパイルは即時モードで実行されます。

コンパイル順序設定の変更:

複数のソース・メンバーを一度にコンパイルする場合、ソース・メンバーがコンパイルされる順序は、IBM i の「コマンド実行」設定ページのメンバー・タイプの順序付けに従います。 この設定ページにアクセスするには、ワークベンチ・メニューで「ウィンドウ」 > 「設定」をクリックします。 続いて「リモート・システム」 > IBM iを展開し、「コマンド実行」をクリックします。 「メンバー・タイプをコンパイルするときの順序」域で各種のメンバー・タイプを選択し、それらを階層リスト内で上下に移動できます。

CL プログラム・ビルド・スタイルを使用するプロジェクト・ビルドのカスタマイズ:

COMPILE.CLLE メンバーを手動で生成または編集した後でビルドを実行依頼するには、プロジェクトを右クリックし、「リモート・アクション」 > 「ビルドの実行依頼」をクリックします。 COMPILE.CLLE メンバーがコンパイルされ、BIND.CLLE メンバーも (存在する場合は) 同様にコンパイルされます。 続いて、COMPILE プログラムが実行されます。 BIND プログラムがあれば、COMPILE プログラムの後で実行されますが、これは COMPILE プログラムの実行中にコンパイル・エラーが見つからなかった場合に限ります。 これは、QRB_NUMBER_FAILED 環境変数の値を見れば判別できます。 コンパイル・エラーがある場合でも BIND プログラムを強制的に実行するには、COMPILE プログラムの終了時にこの環境変数を 0 に設定するか、単にこの環境変数を更新するステートメントを除去します。

ファイル作成コマンドに *REPLACE パラメーターがないため、ファイルを作成または変更すると問題が発生します。 このような状況では、カスタマイズされたビルド・プロシージャーが必要になる場合があります。 ユーザーは、COMPILE.CLLE を変更して、生成されたファイルを再作成する前に削除するか、CHKOBJ テストを使用して別のコマンド (例えば CRTPF ではなく CHGPF) を実行することができます。 これらの物理ファイル上に作成される論理ファイルは、任意の変更を妨げるおそれがあるため、最初にそれらを削除しなければならない場合があります。

物理ファイルにデータが保持されている場合、ユーザーは、そのデータを保存するために特別な予防措置をとる必要があります。 これを行うには、古いファイルを名前変更し、その内容を生成されたファイルにコピーして、コピー中にフィールドをマッピングする方法があります。

注: 物理ファイル、論理ファイル、およびプログラム・ファイルは、別個に作成できるように、専用のプロジェクトに分けることをお勧めします。 すべてのプロジェクトを同じ関連ライブラリーに割り当てることができます。

カスタマイズされた COMPILE.CLLE を作成する場合は、プロジェクトのプロパティーで、そのプロジェクトでのそのファイルの自動生成をオフにしてください。


フィードバック