アクション・ルールの編集エラーと警告

Rule Designer は、アクション・ルールの編集時に問題を検索します。 問題ビューにエラーと警告が表示されます。

アクション・ルールの編集時に Rule Designer が報告するエラーおよび警告のタイプ、エラーまたは警告が報告される場所、および実行できる修復手順について、以下のセクションで説明します。

語彙エラー

語彙エラーは、Intellirule エディターにルールを入力中に、ルールの単語が認識されない場合に発生します。

言語の文法およびアプリケーションに定義された語彙によって指定された構文に従い、ルールのテキストを変更します。 エラー・メッセージが役に立つこともありますが、そうでないこともあります。 コード・コンプリーションおよび語彙使用を使用して、語彙の語句の構文を学習することができます。

構文エラー

構文エラーは、Intellirule エディターにルールを入力中に、ルール・ステートメントの形式が良くない場合に発生します。

言語の文法およびアプリケーションに定義された語彙によって指定された構文に従い、ルールのテキストを変更します。 エラー・メッセージが役に立つこともありますが、そうでないこともあります。 コード・コンプリーションおよび語彙使用を使用して、語彙の語句の構文を学習することができます。

セマンティック・エラー

セマンティック・エラーは、Intellirule エディターにルールを入力中に、ルールのテキストの構文は正しいが、解釈が間違っている場合に発生します。

セマンティック・エラーが発生した場合、セットアップされた可能性がある言語セマンティックおよびセマンティック・ルールに準拠するように (例: BOM ドメイン)、ルールのテキストを修正することを検討してください。

一貫性エラー

一貫性エラーはビルド時に一貫性チェッカーにより報告されます。 例えば、ルールに互換性のないテストが含まれる場合や、テストが常に正しくない場合などに一貫性エラーが生じます。

整合性チェッカーは、 Rule Designer ビルド設定で無効にすることができます。

あいまいさ

あいまいさは次の場合に発生します。

  • ルールの一部に、意味上正しい 2 つ以上の解釈が存在する。 括弧、中間変数、句読点をステートメントで使用できる場合は、これらを使用してルールのあいまいさを解消することができます。

  • 語彙にまったく同じ用語または語句が 2 つあります。 語彙内の用語または語句の 1 つを変更することにより、あいまいさが解消できる可能性があります。

次の表は、アクション・ルールの編集時に表示されるエラー・メッセージの一覧です。

表 1. アクション・ルール編集エラー・クイック・リファレンス
メッセージ 説明
A ruleset parameter <parameter name> is already declared.

ルール・セット・パラメーターは既に宣言されています

宣言済みの変数の名前は、あるタイプに宣言されたルール・セット・パラメーターの名前と同じです。

A ruleset variable <variable name> is already declared.

ルール・セット変数は既に宣言されています

宣言済みの変数の名前は、あるタイプに宣言されたルール・セット変数の名前と同じです。

Ambiguous sentence.

文があいまいです

ルールの一部に、意味上正しいが、最低 2 つ以上の解釈が存在します。 括弧、中間変数、句読点をステートメントで利用できる場合は、使用します。

語彙にまったく同じ用語または語句が 2 つあります。 語彙の用語または語句の 1 つを変更します。

An automatic variable <variable name> is already declared.

自動変数は既に宣言されています

宣言済みの変数の名前は、あるタイプに宣言した自動変数の名前と同じです。

Can't specify else clause without if clause.

仮定条件のないそれ以外の場合

ルールにそれ以外の場合部分は指定されていますが、仮定条件部分がありません。

Invalid cardinality <cardinality>, it is incompatible with <cardinality>

無効な基数

指定した基数 (1 つまたは複数) は、要求した基数と互換性がありません。

Invalid type <type name>, it is not assignable from type <type name>

割り当て不可能

指定のタイプ 「と同一である」 を、要求タイプから割り当てることはできません。 例:

  • CD のタイトルは {1} の 1 つである。
  • 割り当てが要求されたタイプString(the title of a CD) から割り当てることができませんNumber(1).
Invalid value (<type name>) <value text>

値が無効です

値タイプに関連付けられている値記述子によって、値のエラーが報告されました (値のチェック)。

Invalid variable <variable name> for expected type <a type>.

無効な変数

変数のタイプは、要求されたタイプと互換性がありません。

Number must be integer.

非整数値

整数値を指定する必要があります。

Value is not in domain.

値がドメインにありません

BOM ドメインが指定されており、ルールで使用されている値はこのドメインに違反しています。

Value is out of the range 範囲 BOM ドメインが指定されており、ルールで使用されている値はこの範囲外です。
Only values are expected.

無効な式

文、変数、文法構築などの式が無効です。 値式のみ受け入れます。

Incompatible sentence, due to incompatible precedence

演算子の中には、文中で使用するタイプと互換性のないものがあります。

例えば、 print "Hello world!" +2 -3という文では、 "Hello world!" +2 が以下のように評価されるため、演算子に互換性がありません。String、および演算子-String 型と互換性がありません。 この問題を解決するには、次のように括弧を明示的に使用します。print "Hello world!" + (2 - 3)"

Origin type: <type name> is not a super type of target type: <type name>.

スーパータイプでありません

タイプは、要求されたタイプのサブタイプではありません。 例:

the name of the customer is 3

要求されたタイプは次のとおりです。String(the name of the customer)。指定されたタイプは以下のとおりです。Number(3).StringスーパータイプではないNumber.

The variable <variable name> cannot be used, a variable of that type is already declared.

自動変数がバインドされています

タイプのグローバル変数が既に宣言されているため、そのタイプの自動変数を使用できません。

The variable <variable name> is not assignable.

変数の割り当て不可

変数を割り当てることはできません。

The word <word> is expected in place of <word>.

トークンの異変

ルールの語が正しくないため、エラーの回復機能は別の語を提示しています。

The word <word> is missing.

トークンの不足

ルールに語がありません。

The word <word> is not required.

トークンが挿入されました

単語が、ルールの間違った場所に挿入されました。

Unknown word: <word>.

不明なトークン

単語が認識されません。 これは通常、不正な形式の値により発生します。

The phrase <phrase> is not required.

実装されていません

完全な語句が間違った場所にあるため、それを削除してルールを修正する必要があります。

The phrase <phrase> is missing.

実装されていません

完全な語句がテキスト内で不足しています。 語句を完成してルールを修正します。

No term <term> found.

用語が存在しません

語彙にない用語への参照があります。

No navigation phrase <phrase> (of subject <subject>) found on term <term>. 所定の用語のナビゲーション文は語彙内に存在しません。
No action phrase <phrase> (of subject <subject>) found on term <term>. 所定の用語のアクション文は語彙内に存在しません。
No automatic variable <variable> found. 自動変数は用語に自動的に宣言されていません。または、用語は語彙内に存在しません。
Too many errors. Cannot recover from errors. ルールには修正すべきエラーが多すぎます。
Invalid variable name: <variable>, the characters: <character> are not allowed.

無効な名前/文字

変数名は無効であり、次の無効な文字が 1 つ以上含まれています。

' " \n \r \t / ( ) , ;

Unknown phrase, did you mean: <phrase>?

不明な語句

テキスト内の文は不正ですが、既存の正確な文に類似しています。 メッセージに正確な文が提案されています。

Value (<value type>) <value text> is incorrect. <a message>

値のエラー

語句の役割に関連付けられている値情報によって、値のエラーが報告されました (値のチェック)。 値が、BOM ドメインが定義されている場所で使用されている場合に、値が BOM ドメインに違反していると、このエラーが発生します。

Variable <variable name> already declared.

変数は既に宣言されています

その名前の変数は既に宣言されています。

Variable <variable name> is not declared.

変数が宣言されていません

宣言されていない変数に関する参照。

次の表は、アクション・ルールの編集時に表示される最も一般的な警告の一覧です。

表 2. アクション・ルール編集警告クイック・リファレンス
メッセージ 説明
<an element> is deprecated

使用されていないエレメント

ルール内に、サポートされていないエレメント (タイプ、定数または語句) が使用されています。Deprecatedビジネス・エレメントに定義されているプロパティーです。

Can not bind value types. 数値やストリングなどの値タイプはバインディングに使用できません。
Category(ies) (<categories>) defined on phrase <a phrase> does not match the rule category filter.

無効な語句カテゴリー

語句のカテゴリーがルール・カテゴリー・フィルターと一致しないため、その語句はルールで使用されません。

Category(ies) (<categories>) defined on term <a term> does not match the rule category filter.

無効な用語カテゴリー

用語のカテゴリーがルール・カテゴリー・フィルターと一致しないため、その用語はルールで使用されません。

Category(ies) (<categories>) defined on type of variable <variable name> does not match the rule category filter.

無効な変数カテゴリー

変数タイプのカテゴリーがルール・カテゴリー・フィルターと一致しないため、その変数はルールで宣言されません。

Category(ies) (<categories>) defined on value <a constant> does not match the rule category filter.

無効な定数カテゴリー

定数のカテゴリーがルール・カテゴリー・フィルターと一致しないため、その定数はルールで使用されません。

Predicate not applicable to value types.

述語の適用不可

述語は数値やストリングなどの値タイプに適用できません。

The construct <construct> is deprecated.

使用されていないコンストラクト

使用されていない文法コンストラクト (言語の XML スキーマ定義から発行) がルール内で使用されています。

The (part of the) rule execution may be unsafe: <message>.

ルール実行サーバー

ルールはドメイン外の値に属性を設定しようとしています。

The (part of the) rule is never applicable because <message>. この条件が一致する可能性がないため、ルールが適用されることはありません。 これは通常、ルールの単純な論理エラーによって発生します。
The rule is incomplete, fill all the placeholders.

不完全なルール

ルールに、空のプレースホルダーが 1 つ以上あります。

Value (<value type>) <value text> is incorrect. <a message>

値の警告

語句の役割に関連付けられている値情報によって、値の警告が報告されました (値のチェック)。

Variable <variable name> is not used.

変数未使用 (Variable Not Used)

変数は宣言されましたが、使用されません。