トランスフォーメーション > Javaトランスフォーメーション > Javaトランスフォーメーションのトラブルシューティング
  

Javaトランスフォーメーションのトラブルシューティング

[Java]タブのコンパイル結果では、Javaトランスフォーメーション用のJavaコードエラーの特定、およびそのソースの検出を実行できます。Javaエディタのエラー、またはJavaトランスフォーメーションクラスのコード全体のエラーにより、Javaトランスフォーメーションのエラーが発生する可能性があります。
Javaトランスフォーメーションのトラブルシューティングを実行するには:
エラーのソースとタイプを特定してから、[Java]タブでJavaコードを修正し、トランスフォーメーションを再度コンパイルします。

コンパイルエラーのソースの検出

Javaトランスフォーメーションをコンパイルすると、結果はコンパイル結果に表示されます。コンパイルに成功すると、コンパイル結果には「コンパイルが成功しました」というメッセージが表示されます。コンパイルに失敗すると、コンパイル結果にはコンパイルエラーとエラーの場所が表示されます。
コンパイルエラーは、次の場所で発生する可能性があります。
Javaエディタ
エラーがJavaエディタのコードスニペット内にある場合、データ統合はそのセクションとエラーが含まれる行をリストします。またデータ統合は、Javaエディタでエラーの原因を強調表示します。
コード全体
エラーがコード全体にある場合、データ統合はエラーの場所を「コード全体」であると表示し、[コード全体]ダイアログボックスにエラーが含まれる行をリストします。
[コード全体]ダイアログボックスでは、エラーを見つけることはできますが、Javaコードを編集できません。[コード全体]ダイアログボックスで見つけたエラーを修正するには、適切なセクションでコードを編集します。トランスフォーメーションのクラスコード全体にユーザーコードを追加したことが原因で発生したエラーを表示する場合などは、[コード全体]ダイアログボックスを使用する必要があります。

エラータイプの特定

コンパイルエラーは、ユーザーコードのエラーが原因で発生する場合があります。ユーザーコードのエラーは、クラスの非ユーザーコードでのエラーの原因になる可能性もあります。
コンパイルエラーには以下のタイプがあります。
ユーザーコードのエラー
エラーは、Javaエディタのさまざまなセクション内のユーザーコードで発生する可能性があります。ユーザーコードのエラーには、標準Java構文および言語のエラーが含まれます。ユーザーコードのエラーは、データ統合がユーザーコードをクラスのコード全体に追加するときにも発生することがあります。
例えば、Javaトランスフォーメーションにはintegerデータ型のint1という名前の入力フィールドがあるとします。クラスのコード全体は、以下のコードで入力フィールドの変数を宣言します。
int int1;
しかし、[入力行に達したとき]セクションで同じ変数名を使用すると、Javaコンパイラは変数の再宣言としてエラーを発行します。エラーを修正するには、[入力行に達したとき]セクションの変数名を変更します。
非ユーザーコードのエラー
Javaエディタのセクション内にあるユーザーコードが原因で、非ユーザーコードにエラーが発生することがあります。
例えば、Javaトランスフォーメーションにはintegerデータ型の入力フィールドint1と出力フィールドout1があるとします。ここで、以下のコードを[入力行に達したとき]セクションに入力し、入力フィールドint1のinterestを計算して出力フィールドout1に割り当てます。
int interest;
interest = CallInterest(int1); // calculate interest
out1 = int1 + interest;
}
トランスフォーメーションをコンパイルすると、データ統合は[入力行に達したとき]セクションのコードを、トランスフォーメーションのクラスコード全体に追加します。JavaコンパイラがJavaコードをコンパイルする際に中括弧が一致していないと、クラスコード全体のメソッドは不完全なまま終了し、Javaコンパイラによってエラーが発行されます。