Errori e avvertenze di modifica delle regole di azione
I tipi di errori e avvertenze che Rule Designer riporta quando modifichi una regola di azione, dove viene riportato l'errore o l'avviso e i passi correttivi che puoi eseguire sono descritti nelle seguenti sezioni.
Errori lessicali
Gli errori lessicali si verificano quando una parola nella regola non viene riconosciuta e vengono riportati quando si digita una regola nell'editor Intellirule.
Modificare il testo della regola per seguire la sintassi specificata dalla grammatica della lingua e dal vocabolario definito nell'applicazione. I messaggi di errore potrebbero essere utili, ma non sempre. Il completamento del codice e l'uso del vocabolario possono essere utilizzati per imparare l'esatta sintassi della frase del vocabolario.
Errori sintattici
Gli errori sintattici vengono riportati quando un'istruzione della regola non ha un formato corretto appena si immette una regola nell'editor Intellirule.
Modificare il testo della regola per seguire la sintassi specificata dalla grammatica della lingua e dal vocabolario definito nell'applicazione. I messaggi di errore potrebbero essere utili, ma non sempre. Il completamento del codice e l'uso del vocabolario possono essere utilizzati per imparare l'esatta sintassi della frase del vocabolario.
Errori semantici
Gli errori semantici vengono riportati quando il testo della regola è sintatticamente corretto, ma la relativa interpretazione non è corretta non appena si immette una regola nell'editor Intellirule.
Per gli errori semantici, è necessario considerare la revisione del testo delle regole per rispettare la semantica del linguaggio e le regole semantiche che potrebbero essere state impostate (ad esempio, i domini BOM).
Errori di coerenza
Gli errori di congruenza vengono riportati dal programma di controllo congruenza al momento della creazione. Ad esempio, viene generato un errore di coerenza se una regola contiene test incompatibili o un test che è sempre false.
È possibile disabilitare il programma di controllo della coerenza nelle preferenze di build di Rule Designer .
Ambiguità
Le ambiguità possono verificarsi nei seguenti casi:
Una parte della regola ha almeno due interpretazioni semanticamente corrette. È possibile utilizzare le parentesi, le variabili intermedie o la punteggiatura, se disponibili nell'istruzione, per rendere la regola non ambigua.
Ci sono due termini o frasi identici nel vocabolario. La modifica di uno dei termini o delle frasi nel vocabolario può eliminare l'ambiguità.
Le seguenti tabelle elencano i messaggi di errore che è possibile visualizzare quando si modifica una regola di azione.
| Messaggio | Descrizione |
|---|---|
| A ruleset parameter <parameter name> is already declared. | Parametro serie di regole già dichiarato Una variabile dichiarata ha lo stesso nome di un parametro della serie di regole dichiarato su un tipo. |
| A ruleset variable <variable name> is already declared. | Variabile serie di regole già dichiarata Una variabile dichiarata ha lo stesso nome di una variabile della serie di regole dichiarata su un tipo. |
| Ambiguous sentence. | Frase ambigua Parte della regola ha almeno due interpretazioni semanticamente corrette. Utilizzare le parentesi, le variabili intermedie o la punteggiatura, se disponibili nell'istruzione. Ci sono due termini o frasi identici nel vocabolario. Modificare uno dei termini o delle frasi nel vocabolario. |
| An automatic variable <variable name> is already declared. | Variabile automatica già dichiarata Una variabile dichiarata ha lo stesso nome della variabile automatica dichiarata su un tipo. |
| Can't specify else clause without if clause. | Altrimenti senza se È stata specificata una parte else , ma non esiste alcuna parte if nella regola. |
| Invalid cardinality <cardinality>, it is incompatible with <cardinality> | Cardinalità non valida La cardinalità fornita (singola o multipla) non è compatibile con quella richiesta. |
| Invalid type <type name>, it is not assignable from type <type name> | Non assegnabile da Un determinato tipo è non può essere assegnato da un tipo richiesto. Ad esempio:
|
| Invalid value (<type name>) <value text> | Valore non valido Un errore sul valore è stato riportato da un descrittore del valore associato al tipo di valore (controllo del valore). |
| Invalid variable <variable name> for expected type <a type>. | Variabile non valida Il tipo di una variabile non è compatibile con il tipo richiesto. |
| Number must be integer. | Valore non intero È necessario specificare un valore intero. |
| Value is not in domain. | Valore non nel dominio È stato specificato un dominio BOM e il valore utilizzato nella regola sta violando questo dominio. |
| Value is out of the range | È stato specificato un dominio BOM di intervallo e il valore utilizzato nella regola non è compreso in questo intervallo. |
| Only values are expected. | Espressione non valida Espressioni come frasi, variabili e costruzioni grammaticali non sono valide. Vengono accettate solo espressioni di valore. |
| Incompatible sentence, due to incompatible precedence | Alcuni operatori sono incompatibili con i tipi utilizzati nella frase. Ad esempio, nella frase |
| Origin type: <type name> is not a super type of target type: <type name>. | Non Super tipo di Un tipo non è un sottotipo del tipo richiesto. Ad esempio:
Il tipo richiesto èString( |
| The variable <variable name> cannot be used, a variable of that type is already declared. | Limite variabile automatico Impossibile utilizzare la variabile automatica di un tipo, dove esiste una variabile globale di quel tipo già dichiarata. |
| The variable <variable name> is not assignable. | Variabile non assegnabile Impossibile assegnare la variabile. |
| The word <word> is expected in place of <word>. | Mutazione token Una parola nella regola è errata, e il meccanismo di recupero degli errori ne suggerisce un'altra. |
| The word <word> is missing. | Token mancante Manca una parola nella regola. |
| The word <word> is not required. | Token inserito Una parola è stata inserita nel posto sbagliato nella regola. |
| Unknown word: <word>. | Token sconosciuto Una parola non è riconosciuta. Questo di solito si verifica con un valore non corretto. |
| The phrase <phrase> is not required. | Non implementato Una frase completa si trova nell'ubicazione errata e deve essere rimossa per correggere la regola. |
| The phrase <phrase> is missing. | Non implementato Manca una frase completa nel testo. Completare la frase per correggere la regola. |
| No term <term> found. | Il termine non esiste C'è un riferimento a un termine che non è nel vocabolo. |
| No navigation phrase <phrase> (of subject <subject>) found on term <term>. | La frase di navigazione su un determinato termine non esiste nel vocabolario. |
| No action phrase <phrase> (of subject <subject>) found on term <term>. | La frase di azione su un determinato termine non esiste nel vocabolario. |
| No automatic variable <variable> found. | La variabile automatica non è dichiarata automatica su un termine o un termine non esiste nel vocabolario. |
| Too many errors. Cannot recover from errors. | La regola contiene troppi errori da correggere. |
| Invalid variable name: <variable>, the characters: <character> are not allowed. | Nome / carattere non valido Il nome della variabile non è valido e contiene uno o più dei seguenti caratteri non validi: ' " \n \r \t / ( ) , ; |
| Unknown phrase, did you mean: <phrase>? | Frase sconosciuta Una frase del testo non è corretta, ma è simile a una frase corretta esistente. Il messaggio suggerisce la frase corretta. |
| Value (<value type>) <value text> is incorrect. <a message> | Errore valore Un errore sul valore è stato riportato da un'informazione sul valore associata ad un ruolo nella frase (controllo del valore). Se il valore viene utilizzato in un luogo in cui è definito un dominio BOM, questo errore viene generato se il valore viola il dominio BOM. |
| Variable <variable name> already declared. | Variabile già dichiarata Una variabile con questo nome è già dichiarata. |
| Variable <variable name> is not declared. | Variabile non dichiarata Un riferimento a una variabile che non è dichiarata. |
La seguente tabella elenca le avvertenze più recenti che potrebbero essere visualizzate quando si modifica una regola di azione.
| Messaggio | Descrizione |
|---|---|
| <an element> is deprecated | Elemento obsoleto Nella regola è stato utilizzato un elemento obsoleto (tipo, costante o frase).Deprecatedè una proprietà definita su un elemento di business. |
| Can not bind value types. | Un tipo di valore come numero, stringa e così via non può essere utilizzato in un bind. |
| Category(ies) (<categories>) defined on phrase <a phrase> does not match the rule category filter. | Categoria frase non valida La frase non deve essere utilizzata sulla regola, perché le categorie di tale frase non corrispondono al filtro della categoria della regola. |
| Category(ies) (<categories>) defined on term <a term> does not match the rule category filter. | Categoria termine non valida Il termine non è inteso per essere utilizzato sulla regola, perché le categorie di tale termine non corrispondono al filtro della categoria di regole. |
| Category(ies) (<categories>) defined on type of variable <variable name> does not match the rule category filter. | Categoria variabile non valida La variabile non deve essere dichiarata sulla regola, perché le categorie del tipo di variabile non corrispondono al filtro della categoria di regole. |
| Category(ies) (<categories>) defined on value <a constant> does not match the rule category filter. | Categoria costante non valida La costante non deve essere utilizzata sulla regola, perché le categorie di tale costante non corrispondono al filtro della categoria della regola. |
| Predicate not applicable to value types. | Predicato non applicabile Il predicato non è applicabile al tipo di valore, ad esempio numero, stringa e così via. |
| The construct <construct> is deprecated. | Crea obsoleto Nella regola è stato utilizzato un costrutto di grammatica obsoleto (emesso dalla definizione dello schema XML del linguaggio). |
| The (part of the) rule execution may be unsafe: <message>. | Server di esecuzione regole La regola tenta di impostare un attributo su un valore esterno al suo dominio. |
| The (part of the) rule is never applicable because <message>. | La norma non si applica mai perché le sue condizioni non possono mai essere soddisfatte. Ciò è generalmente causato da semplici errori logici nella regola. |
| The rule is incomplete, fill all the placeholders. | Regola incompleta Una regola ha almeno un segnaposto vuoto. |
| Value (<value type>) <value text> is incorrect. <a message> | Avvertenza valore Un'avvertenza sul valore è stata riportata da un'informazione sul valore associata a un ruolo nella frase (controllo del valore). |
| Variable <variable name> is not used. | Variabile non utilizzata Una variabile è dichiarata ma non utilizzata. |