アップグレードされたバージョンのGroovyに移行する際に、対処する必要がある特定の問題が発生する可能性があります。Groovyスクリプト検証というプログラムは、調整が必要なルールの検出を支援し、問題を修正できるようにレポートを提供します。
Note:
Groovyスクリプト検証は、ユーザーが作成したGroovyビジネス・ルールがアプリケーションに含まれている場合にのみ使用できます。Groovyスクリプト検証の実行方法の詳細は、Groovyスクリプトの検証を参照してください。
アプリケーションからGroovyスクリプト検証を実行した後、このトピックの情報を使用して検証の問題を解決します。
一般的なガイドライン
defを使用するかわりに、明示的なデータ型を使用します。たとえば、変数の明示的なデータ型として、String、int、List<String>またはMap<String,Integer>などを指定します。
ノート: defを使用していて、検証ツールによってフラグが設定されていない場合は、そのままにしておくことができます。
浮動小数点数の処理時にエラーが発生した場合は、「d」接尾辞を使用して、浮動小数点数が「BigDecimal」ではなく「double」として扱われるようにします。たとえば、it.data = 1212121212.111dとします。
理解できないエラーが発生した場合は、スクリプトの最初の行が次のようになっていることを確認します: /*RTPS: */
RTPがない場合でも、これが最初の行であることを確認してください。
RTPがある場合は、最初の行に次のように追加します: /*RTPS: {selectedDepartment} {hireDate} {newEmployeeName} */。
「予期しない入力」というエラーが発生した場合は、すべてのリスト宣言およびキャストにList<>などの空のタイプがないことを確認してください。
例:
List<>をListまたはList<Object>に変更します。
targetGrid.addRow((List< String>) listRow[0] , (List<>) listRow[1])をtargetGrid.addRow((List< String>) listRow[0] , (List) listRow[1])に変更します。
Note:
10月の更新(25.10)以降、検証プロセスの一環として、非推奨のDate関数を、対応するCalendar関数に置き換える必要がなくなりました。これは解決され、問題ではなくなります。Date.format()、Date.getAt()、Date.parse()などのメソッドは機能し、検証エラーは表示されなくなります。
Note:
Planningからの起動が意図されていないテンプレートまたはルールが原因で検証エラーが発生した場合、Calculation Managerのデプロイメント・ビューに移動し、これらのアイテムを削除します。「デプロイ予定」ノード下で、関連するルールおよびテンプレートの選択を解除します。次に、アプリケーション・ノードを右クリックして「デプロイ」を選択することにより、すべてのアーティファクトを再デプロイします。
エラーおよび推奨される修正
Table 3-2 エラーおよび推奨される修正
| エラー | サンプル・コード | 考えられる原因 | 考えられる解決策 |
|---|---|---|---|
|
次のようなプロパティはありません: |
N/A |
これは、RTPSモデルを使用せず、変数が大カッコまたは中カッコで参照されることに起因する可能性があります。これにより、GroovyエンジンはそれらをGroovy式として評価しようとします。 |
|
|
|
|
このエラーは、リスト・データの型が明示的に指定されていないため、Groovyが |
この問題を解決するには、次のいずれかを実行してください:
|
|
|
|
このエラーは、割り当てるオブジェクトの型が明示的に指定されていないか、 |
この問題を解決するには、値を
例:
|
|
|
|
このエラーは、 |
この問題を解決するには、 例:
|
|
次を呼び出せません:
引数: [java.util.List <java.lang.Object>, java.util.List <java.lang.Object>] |
|
このエラーは、 |
この問題を解決するには、変数のデータ型を指定します。 例:
|
|
次を呼び出せません:
引数:
|
|
このエラーは、 |
この問題を解決するには、 例:
|
|
次を呼び出せません:
引数:
|
|
このエラーは、 |
この問題を解決するには、 例:
|
|
一致するメソッド |
|
このエラーは、以前のバージョンのGroovyで使用可能だった |
この問題を解決するには、次のように入力します:
|
|
一致するメソッド |
|
このエラーは、以前のバージョンのGroovyで使用可能だったformatメソッドが使用できなくなったために発生します。 |
この問題を解決するには、次のように入力します:
|
|
一致するメソッド |
List <Cube> cube = operation.application.getCubes() Dimension dimScenario = operation.application.getDimension("Scenario", cube.toArray(new Cube[cube.size()])) |
|
この問題を解決するには、次のいずれかを実行します:
|