Fehler und Warnungen bei der Bearbeitung von Aktionsregeln

Rule Designer sucht nach Problemen, wenn Sie eine Aktionsregel bearbeiten. Fehler und Warnungen werden in der Ansicht "Probleme" angezeigt.

Die Typen von Fehlern und Warnungen, die Rule Designer meldet, wenn Sie eine Aktionsregel bearbeiten, in der der Fehler oder die Warnung gemeldet wird, sowie die Korrekturschritte, die Sie ausführen können, werden in den folgenden Abschnitten beschrieben.

Lexikalische Fehler

Lexikalische Fehler treten auf, wenn ein Wort in der Regel nicht erkannt wird, und werden gemeldet, wenn Sie eine Regel im Intellirule-Editor eingeben.

Ändern Sie den Text der Regel entsprechend der Syntax, die von der Sprachengrammatik und von dem in der Anwendung definierten Vokabular vorgegeben wird. Fehlernachrichten können helfen, aber möglicherweise nicht immer. Codevervollständigung und Vokabularverwendung können verwendet werden, um die exakte Syntax von Phrasen des Vokabulars zu erlernen.

Syntaktische Fehler

Syntaktische Fehler werden gemeldet, wenn eine Regelanweisung nicht ordnungsgemäß formuliert ist, sobald Sie eine Regel im Intellirule-Editor eingeben.

Ändern Sie den Text der Regel entsprechend der Syntax, die von der Sprachengrammatik und von dem in der Anwendung definierten Vokabular vorgegeben wird. Fehlernachrichten können helfen, aber möglicherweise nicht immer. Codevervollständigung und Vokabularverwendung können verwendet werden, um die exakte Syntax von Phrasen des Vokabulars zu erlernen.

Semantikfehler

Semantikfehler werden gemeldet, wenn der Text der Regel zwar syntaktisch korrekt, aber die Interpretation falsch ist, sobald Sie eine Regeln im Intellirule-Editor eingeben.

Bei Semantikfehlern können Sie den Text der Regeln so überarbeiten, dass sie der Semantik der Sprache und den Semantikregeln, die möglicherweise konfiguriert wurden (z. B. BOM-Domänen), entsprechen.

Konsistenzfehler

Konsistenzfehler werden vom Konsistenzprüfprogramm zur Buildzeit gemeldet. Ein Konsistenzfehler tritt beispielsweise auf, wenn eine Regel inkompatible Tests enthält oder wenn ein Test immer "false" ergibt.

Sie können das Konsistenzprüfprogramm in den Buildvorgaben von Rule Designer inaktivieren.

Mehrdeutigkeiten

Mehrdeutigkeiten können in den folgenden Fällen auftreten:

  • Ein Teil der Regel hat mindestens zwei Interpretationen, die semantisch korrekt sind. Sofern verfügbar, können Sie runde Klammern, temporäre Variablen oder Interpunktion verwenden, um die Regel eindeutig zu machen.

  • Es gibt zwei identische Begriffe oder Phrasen im Vokabular. Indem Sie einen der Begriffe bzw. eine der Phrasen im Vokabular ändern, können Sie die Mehrdeutigkeit beseitigen.

In der folgenden Tabelle sind Fehlernachrichten aufgelistet, die bei der Bearbeitung einer Aktionsregel angezeigt werden können.

Tabelle 1. Kurzübersicht über Fehler bei der Bearbeitung von Aktionsregeln
Nachricht Beschreibung
A ruleset parameter <parameter name> is already declared.

Regelsatzparameter bereits deklariert

Eine deklarierte Variable hat denselben Namen wie ein in einem Typ deklarierter Regelsatzparameter.

A ruleset variable <variable name> is already declared.

Regelsatzvariable bereits deklariert

Eine deklarierte Variable hat denselben Namen wie eine in einem Typ deklarierte Regelsatzvariable.

Ambiguous sentence.

Mehrdeutiger Satz

Ein Teil der Regel hat mindestens zwei Interpretationen, die semantisch korrekt sind. Verwenden Sie, sofern verfügbar, runde Klammern, temporäre Variablen oder Interpunktion in der Anweisung.

Es gibt zwei identische Begriffe oder Phrasen im Vokabular. Ändern Sie einen Begriff oder eine Phrase im Vokabular.

An automatic variable <variable name> is already declared.

Automatische Variable bereits deklariert

Eine deklarierte Variable hat denselben Namen wie eine in einem Typ deklarierte automatische Variable.

Can't specify else clause without if clause.

Else ohne If

Es wurde ein Teil else, aber kein Teil if in der Regel angegeben.

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

Ungültige Kardinalität

Die angegebene Kardinalität (einfach oder mehrfach) ist nicht mit der angeforderten Kardinalität kompatibel.

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

Nicht zuordnungsfähig über

Ein bestimmter Typ is kann über einen angeforderten Typ nicht zugeordnet werden. Zum Beispiel:

  • Der Titel einer CD ist einer von {1}
  • Der Typ, der zugeordnet werden mussString(the title of a CD) kann nicht zugewiesen werden vonNumber(1).
Invalid value (<type name>) <value text>

Ungültiger Wert

Ein Fehler im Wert wurde von einem Wertdeskriptor gemeldet, der dem Werttyp zugeordnet ist (Wertprüfung).

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

Ungültige Variable

Der Typ einer Variablen ist nicht mit dem angeforderten Typ kompatibel.

Number must be integer.

Kein ganzzahliger Wert

Es muss ein ganzzahliger Wert angegeben werden.

Value is not in domain.

Wert nicht in Domäne

Es wurde eine BOM-Domäne angegeben, und der in der Regel verwendete Wert verstößt gegen diese Domäne.

Value is out of the range Es wurde eine BOM-Bereichsdomäne angegeben, und der in der Regel verwendete Wert liegt außerhalb des gültigen Bereichs.
Only values are expected.

Ungültiger Ausdruck

Ausdrücke wie Sätze, Variablen und Grammatikkonstruktionen sind nicht gültig. Es werden nur Wertausdrücke akzeptiert.

Incompatible sentence, due to incompatible precedence

Einige Operatoren sind mit den Typen, die im Satz verwendet werden, nicht kompatibel.

Beispiel: Im Satz print "Hello world!" +2 -3sind die Operatoren nicht kompatibel, da "Hello world!" +2 alsStringund den Operator-ist mit dem Zeichenfolgedatentyp nicht kompatibel. Verwenden Sie zur Lösung des Problems explizite runde Klammern: print "Hello world!" + (2 - 3)".

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

Kein Supertyp von

Ein Typ ist kein Subtyp des angeforderten Typs. Zum Beispiel:

the name of the customer is 3

Der angeforderte Typ istString(the name of the customer) und der angegebene Typ istNumber(3).Stringist kein übergeordneter Typ vonNumber.

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

Automatische Variable gebunden

Die automatische Variable eines bestimmten Typs kann nicht verwendet werden, wenn bereits eine globale Variable dieses Typs deklariert ist.

The variable <variable name> is not assignable.

Variable nicht zuordnungsfähig

Die Variable kann nicht zugeordnet werden.

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

Tokenmutation

Ein Wort in der Regel ist falsch, und der Fehlerbehebungsmechanismus schlägt ein anderes Wort vor.

The word <word> is missing.

Fehlendes Token

Es fehlt ein Wort in der Regel.

The word <word> is not required.

Eingefügtes Token

Ein Wort wurde an einer falschen Stelle in der Regel eingefügt.

Unknown word: <word>.

Unbekanntes Token

Ein Wort wurde nicht erkannt. Dies passiert gewöhnlich mit einem Wert, der ein falsches Format hat.

The phrase <phrase> is not required.

Nicht implementiert

Eine vollständige Phrase befindet sich an der falschen Position und muss entfernt werden, um die Regel zu korrigieren.

The phrase <phrase> is missing.

Nicht implementiert

Eine vollständige Phrase fehlt im Text. Vervollständigen Sie die Phrase, um die Regel zu korrigieren.

No term <term> found.

Begriff nicht vorhanden

Es ist eine Referenz auf einen Begriff vorhanden, der nicht im Vokabular enthalten ist.

No navigation phrase <phrase> (of subject <subject>) found on term <term>. Navigationssatz in einem Begriff ist nicht im Vokabular vorhanden.
No action phrase <phrase> (of subject <subject>) found on term <term>. Aktionssatz in einem Begriff ist nicht im Vokabular vorhanden.
No automatic variable <variable> found. Die automatische Variable ist nicht als automatisch in einem Begriff deklariert, oder ein Begriff ist nicht im Vokabular vorhanden.
Too many errors. Cannot recover from errors. Die Regel enthält zu viele Fehler, als dass eine Korrektur möglich wäre.
Invalid variable name: <variable>, the characters: <character> are not allowed.

Ungültiger Name/Ungültiges Zeichen

Der Variablenname ist nicht gültig und enthält mindestens eines der folgenden ungültigen Zeichen:

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

Unknown phrase, did you mean: <phrase>?

Unbekannte Phrase

Ein Satz im Text ist falsch, gleicht aber einem vorhandenen richtigen Satz. Der richtige Satz ist in der Nachricht vorgeschlagen.

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

Wertfehler

Es wurde ein Fehler zu einem Wert von einer Wertinformation gemeldet, die einer Rolle in der Phrase zugeordnet ist (Wertprüfung). Wenn der Wert an einer Stelle verwendet wird, an der eine BOM-Domäne definiert ist, wird dieser Fehler generiert, wenn der Wert gegen die BOM-Domäne verstößt.

Variable <variable name> already declared.

Variable bereits deklariert

Es ist bereits eine Variable mit diesem Namen deklariert.

Variable <variable name> is not declared.

Variable nicht deklariert

Es wurde eine Referenz auf eine Variable gefunden, die nicht deklariert ist.

In der folgenden Tabelle sind die aktuellen Warnungen aufgelistet, die beim Bearbeiten einer Aktionsregel angezeigt werden können.

Tabelle 2. Kurzübersicht über Warnungen bei der Bearbeitung von Aktionsregeln
Nachricht Beschreibung
<an element> is deprecated

Veraltetes Element

Ein veraltetes Element (Typ, Konstante oder Phrase) wurde in der Regel verwendet.Deprecatedist eine Eigenschaft, die für ein Geschäftselement definiert ist.

Can not bind value types. Ein Werttyp, z. B. number, string usw., kann nicht in einer Bindung verwendet werden.
Category(ies) (<categories>) defined on phrase <a phrase> does not match the rule category filter.

Ungültige Phrasenkategorie

Die Phrase ist nicht für die Verwendung in der Regel bestimmt, weil die Kategorien dieser Phrase nicht mit dem Regelkategoriefilter übereinstimmen.

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

Ungültige Begriffskategorie

Der Begriff ist nicht für die Verwendung in der Regel bestimmt, weil die Kategorien dieses Begriffs nicht mit dem Regelkategoriefilter übereinstimmen.

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

Ungültige Variablenkategorie

Die Variable ist nicht für die Verwendung in der Regel bestimmt, weil die Kategorien des Variablentyps nicht mit dem Regelkategoriefilter übereinstimmen.

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

Ungültige Konstantenkategorie

Die Konstante ist nicht für die Verwendung in der Regel bestimmt, weil die Kategorien dieser Konstante nicht mit dem Regelkategoriefilter übereinstimmen.

Predicate not applicable to value types.

Prädikat nicht gültig

Das Prädikat ist für den Werttyp, z. B. number, string usw., nicht gültig.

The construct <construct> is deprecated.

Konstrukt veraltet

Es wurde ein veraltetes Grammatikkonstrukt (ausgegeben über die XML-Schemadefinition der Sprache) in der Regel verwendet.

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

Regelausführungsserver

Die Regel versucht, ein Attribut auf einen Wert zu setzen, der außerhalb der Domäne liegt.

The (part of the) rule is never applicable because <message>. Die Regel findet nie Anwendung, weil ihre Bedingungen nie erfüllt werden können. Gewöhnlich ist diese Warnung auf einfache Logikfehler in der Regel zurückzuführen.
The rule is incomplete, fill all the placeholders.

Unvollständige Regel

Eine Regel enthält mindestens einen leeren Platzhalter.

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

Wertwarnung

Es wurde eine Warnung zum Wert von einer Wertinformation gemeldet, die einer Rolle in der Phrase zugeordnet ist (Wertprüfung).

Variable <variable name> is not used.

Variable nicht verwendet

Eine Variable ist deklariert, wird aber nicht verwendet.