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.
| 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:
|
| 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 |
| 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:
Żądany typ toString( |
| 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.
| 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. |