Fehler und Warnungen bei der Bearbeitung von Aktionsregeln
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.
| 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:
|
| 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 |
| 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:
Der angeforderte Typ istString( |
| 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.
| 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. |