Błędy i ostrzeżenia związane z edycją reguł działania

Program Rule Designer wyszukuje problemy podczas edytowania reguły działania. Błędy i ostrzeżenia są wyświetlane w widoku Problemy.

Typy błędów i ostrzeżeń zgłaszanych przez program Rule Designer podczas edytowania reguły działania, w której zgłaszany jest błąd lub ostrzeżenie, a także kroki zaradcze, które można wykonać, są opisane w poniższych sekcjach.

Błędy leksykalne

Błędy leksykalne występują, gdy słowo w regule nie jest rozpoznawane i są zgłaszane po wpisowaniu reguły w edytorze Intellirule.

Zmodyfikuj tekst reguły tak, aby był zgodny ze składnią określoną przez gramatykę języka i przez słownictwo zdefiniowane w aplikacji. Komunikaty o błędach mogą być pomocne, ale nie przez cały czas. Aby poznać dokładną składnię słownictwa, można użyć funkcji uzupełniania kodu i użycia słownika.

Jeśli w regułach występują błędy leksykalne, nie można użyć edytora z przewodnikiem.

Błędy syntaktyczne

Błędy składnikowe są zgłaszane, gdy instrukcja reguły nie jest poprawnie utworzona, gdy tylko wpisuje się regułę w edytorze Intellirule.

Zmodyfikuj tekst reguły tak, aby był zgodny ze składnią określoną przez gramatykę języka i przez słownictwo zdefiniowane w aplikacji. Komunikaty o błędach mogą być pomocne, ale nie przez cały czas. Aby poznać dokładną składnię słownictwa, można użyć funkcji uzupełniania kodu i użycia słownika.

Jeśli w regułach występują błędy składkowe, nie można użyć edytora z przewodnikiem.

Błędy semantyczne

Błędy semantyczne są zgłaszane, gdy tekst reguły jest składniowo poprawny, ale jego interpretacja jest błędna, gdy tylko użytkownik wpiszesz regułę w edytorze Intellirule.

W przypadku błędów semantycznych należy rozważyć zmianę tekstu reguł w celu zachowania zgodności z semantyką języka i regułami semantycznymi, które mogły zostać skonfigurowane (na przykład domeny BOM).

Błędy spójności

Błędy spójności są zgłaszane przez moduł sprawdzania spójności w czasie budowania. Na przykład błąd spójności jest zgłaszany, jeśli reguła zawiera niekompatybilne testy, lub test, który zawsze ma wartość false.

Program sprawdzający spójność można wyłączyć w preferencjach budowania Projektant reguł .

Niejednoznaczność

Niejednoznaczność może wystąpić w następujących przypadkach:

  • Część reguły ma co najmniej dwie interpretacje, które są semantycznie poprawne. Można użyć nawiasów, zmiennych pośrednich lub interpunkcji, jeśli jest on dostępny w instrukcji, aby reguła nie była niejednoznaczna.

  • W słowniku znajdują się dwa identyczne terminy lub frazy. Zmiana jednego z terminów lub fraz w słowniku może usunąć dwuznaczność.

W poniższych tabelach znajdują się komunikaty o błędach, które można wyświetlić podczas edytowania reguły działania.

Tabela 1. Krótki przegląd błędów edytowania reguł działania
Komunikat Opis
A ruleset parameter <parameter name> is already declared.

Parametr Zestawu Reguł Już Zadeklarowany

Zadeklarowana zmienna ma taką samą nazwę jak parametr zestawu reguł zadeklarowany w typie.

A ruleset variable <variable name> is already declared.

Zadeklarowana Już Zmienna Zestawu Reguł

Zadeklarowana zmienna ma tę samą nazwę, co zmienna zestawu reguł zadeklarowana w typie.

Ambiguous sentence.

Niejednoznaczne Zdanie

Część reguły ma co najmniej dwie interpretacje, które są semantycznie poprawne. Użyj nawiasów, zmiennych pośrednich lub interpunkcji, jeśli są one dostępne w instrukcji.

W słowniku znajdują się dwa identyczne terminy lub frazy. Zmień jeden z terminów lub fraz w słowniku.

An automatic variable <variable name> is already declared.

Zmienna automatyczna już zadeklarowana

Zadeklarowana zmienna ma taką samą nazwę, jak zmienna automatyczna zadeklarowana w typie.

Can't specify else clause without if clause.

Else Bez If

Część else została określona, ale w regule nie ma części if .

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

Niepoprawna liczność

Podana liczność (pojedyncza lub wielokrotna) nie jest zgodna z żądanym.

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

Nie można przypisać od

Dany typ nie nie może być przypisany z żądanego typu. Na przykład:

  • Tytuł dysku CD jest jednym z następujących elementów: {1}
  • Żądany typ, który ma zostać przypisany.String(the title of a CD) nie można przypisać zNumber(1).
Invalid value (<type name>) <value text>

Niepoprawna wartość

Błąd w wartości został zgłoszony przez deskryptor wartości powiązany z typem wartości (sprawdzanie wartości).

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

Niepoprawna zmienna

Typ zmiennej nie jest zgodny z typem żądanego typu.

Number must be integer.

Wartość inna niż liczba całkowita

Należy podać liczbę całkowitą.

Value is not in domain.

Wartość nie w domenie

Określono domenę BOM, a wartość używana w regule jest naruszona przez tę domenę.

Value is out of the range Określono domenę BOM zakresu, a wartość użyta w regule jest spoza tego zakresu.
Only values are expected.

Niepoprawne wyrażenie

Wyrażenia, takie jak zdania, zmienne i konstrukcje gramatyczne, nie są poprawne. Akceptowane są tylko wyrażenia wartości.

Incompatible sentence, due to incompatible precedence

Niektóre operatory są niezgodne z typami używani w zdaniu.

Na przykład w zdaniu print "Hello world!" +2 -3operatory są niezgodne, ponieważ "Hello world!" +2 jest wartościowane jakoString, i operator-jest niezgodna z typem String. Aby rozwiązać ten problem, należy użyć jawnych nawiasów: print "Hello world!" + (2 - 3)".

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

Nie Jest Super Typ

Typ nie jest podtypem żądanego typu. Na przykład:

the name of the customer is 3

Żądany typ toString(the name of the customer), a podany typ toNumber(3).Stringnie jest typem nadtypuNumber.

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

Automatyczne ograniczenie zmiennej

Nie można użyć automatycznej zmiennej typu, w której istnieje już zadeklarowana zmienna globalna tego typu.

The variable <variable name> is not assignable.

Zmienna, która nie jest przypisywalna

Zmienna nie może być przypisana.

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

Mutacja tokenu

Słowo w regule jest błędne, a mechanizm odzyskiwania po błędzie sugeruje inną.

The word <word> is missing.

Brakujący Token

W regule brakuje słowa.

The word <word> is not required.

Wstawiony Token

Słowo zostało wstawione w niewłaściwym miejscu w regule.

Unknown word: <word>.

Nieznany token

Słowo nie zostało rozpoznane. Zwykle występuje to z zniekształcanej wartości.

The phrase <phrase> is not required.

Nie zaimplementowano

Pełna fraza znajduje się w niewłaściwym miejscu i musi zostać usunięta, aby poprawić regułę.

The phrase <phrase> is missing.

Nie zaimplementowano

W tekście brakuje pełnej frazy. Wypełnij frazę, aby poprawić regułę.

No term <term> found.

Termin nie istnieje

Istnieje odwołanie do terminu, którego nie ma w słowniku.

No navigation phrase <phrase> (of subject <subject>) found on term <term>. Zdanie nawigacyjne w danym okresie nie istnieje w słowniku.
No action phrase <phrase> (of subject <subject>) found on term <term>. Zdanie działania w danym okresie nie istnieje w słowniku.
No automatic variable <variable> found. Zmienna automatyczna nie jest deklarowana automatycznie w danym okresie, albo termin nie istnieje w słowniku.
Too many errors. Cannot recover from errors. Reguła zawiera zbyt wiele błędów do poprawienia.
Invalid value for <value>: <value>

Niepoprawna wartość

Niepoprawna wartość dla edytora z przewodnikiem.

Invalid variable name: <variable>, the characters: <character> are not allowed.

Niepoprawna nazwa/znak

Nazwa zmiennej jest niepoprawna i zawiera co najmniej jeden z następujących niepoprawnych znaków:

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

Unknown phrase, did you mean: <phrase>?

Nieznana fraza

Zdanie w tekście jest niepoprawne, ale podobne do istniejącego poprawnego zdania. Komunikat sugeruje poprawne zdanie.

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

Błąd wartości

Komunikat o błędzie dotyczący wartości został zgłoszony przez informacje o wartości powiązane z rolą w frazie (sprawdzanie wartości). Jeśli wartość jest używana w miejscu, w którym zdefiniowano domenę BOM, ten błąd jest generowany, jeśli wartość jest niezgodna z domeną BOM.

Variable <variable name> already declared.

Zmienna już zadeklarowana

Zmienna o tej nazwie jest już zadeklarowana.

Variable <variable name> is not declared.

Zmienna niezadeklarowana

Odwołanie do zmiennej, której nie jest zadeklarowana.

Poniższa tabela zawiera listę najbardziej aktualnych ostrzeżeń, które mogą być wyświetlane podczas edytowania reguły działania.

Tabela 2. Ostrzeżenia dotyczące edycji reguł działania-krótki przegląd
Komunikat Opis
<an element> is deprecated

Nieaktualne elementy

W regule został użyty nieaktualny element (typ, stała lub fraza).Deprecatedjest właściwością zdefiniowaną w elemencie biznesowym.

Can not bind value types. W powiązaniu nie można użyć typu wartości, takiego jak liczba, łańcuch i tak dalej.
Category(ies) (<categories>) defined on phrase <a phrase> does not match the rule category filter.

Niepoprawna kategoria Fraza

Fraza nie jest przeznaczona do użycia w regule, ponieważ kategorie tej frazy nie są zgodne z filtrem kategorii reguł.

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

Niepoprawna kategoria warunku

Termin ten nie jest przeznaczony do użycia w regule, ponieważ kategorie tego terminu nie są zgodne z filtrem kategorii reguł.

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

Niepoprawna kategoria zmiennej

Zmienna nie jest przeznaczona do zadeklarowanej w regule, ponieważ kategorie typu zmiennej nie są zgodne z filtrem kategorii reguł.

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

Niepoprawna kategoria stałej

Stała nie jest przeznaczona do użycia w regule, ponieważ kategorie tej stałej nie są zgodne z filtrem kategorii reguł.

Predicate not applicable to value types.

Predykat nie dotyczy

Predykat nie ma zastosowania do typu wartości, np. liczba, łańcuch itd.

The construct <construct> is deprecated.

Konstruowanie nieaktualnych

W regule została użyta nieaktualna konstrukcja gramatyczna (wydana z definicji języka XML w języku).

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

Serwer Rule Execution Server

Reguła próbuje ustawić atrybut na wartość poza jego domeną.

The (part of the) rule is never applicable because <message>. Reguła nigdy nie ma zastosowania, ponieważ jej warunki nigdy nie mogą być spełnione. Jest to zwykle spowodowane przez proste błędy logiczne w regule.
The rule is incomplete, fill all the placeholders.

Niekompletna reguła

Reguła zawiera co najmniej jeden pusty obiekt zastępczy.

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

Ostrzeżenie o wartości

Ostrzeżenie dotyczące wartości zostało zgłoszone przez informacje o wartości powiązane z rolą w frazie (sprawdzanie wartości).

Variable <variable name> is not used.

Zmienna nieużywana

Zmienna jest zadeklarowana, ale nie jest używana.