Tipi di variabile
I toolkit di sistema vengono forniti in Business Automation Studio in modo che ogni automazione del flusso di lavoro e toolkit creato abbiano accesso ai dati di sistema comuni. I toolkit di sistema forniscono le seguenti categorie di variabili:
- Tipi di base
- I tipi di base consentono di creare tipi di variabili personalizzate denominati oggetti di business. Per un elenco di tutti i tipi di base, vedere la tabella seguente.
- Tipi di sistema
- I tipi di sistema sono tipi di variabili forniti che non è possibile modificare. Per un elenco di tutti i tipi di sistema, consultare l'API JavaScript nei processi e nei flussi di servizio.
Tipi di base | Descrizione |
---|---|
String |
Consente l'immissione di caratteri alfanumerici nella variabile |
Integer |
Accetta cifre senza una posizione decimale compresa nell'intervallo tra -2147483648 e 2147483647, ad esempio 45 o 20 |
Decimal |
Accetta cifre con posizioni decimali con precisione doppia IEEE 754, ad esempio 45.3 o 20.13 |
Date |
Consente di immettere i formati di data e ora nella variabile |
Time |
Consente di immettere i formati data nella variabile come ore. L'utente immette un'ora; prima che la variabile venga immessa nella tabella dei simboli, viene convertita in una data. |
Selection |
Consente di fornire un elenco di voci possibili a un utente, da cui l'utente può selezionarne solo una. Una selezione è un elenco di valori differenti; ogni valore è una stringa. In fase di runtime, una variabile di selezione viene visualizzata in un modulo coach come un elenco o come pulsanti di opzione. |
Boolean |
Accetta true o false come valori. Il valore booleano appare al runtime su un modulo coach come casella di spunta. |
Structure |
Per utilizzare un tipo di struttura, è necessario creare un tipo di struttura personalizzata e definirne le proprietà. Una struttura raggruppa i dati di business correlati allo stesso soggetto. Ad esempio, una struttura Customer potrebbe contenere elementi come lastName , firstName , homeNumber , streetAddress . |
Tipi di variabili personalizzate
I tipi di variabile personalizzati vengono definiti utilizzando gli oggetti di business. Se gli oggetti di business predefiniti forniti nei toolkit di sistema non rappresentano le proprie esigenze, è possibile creare i propri oggetti di business. Per ulteriori informazioni sugli oggetti aziendali generali forniti nel toolkit Dati di sistema, vedere Toolkit Dati di sistema.
- Convalida per i tipi di variabile personalizzati
- È possibile definire le impostazioni di convalida per i tipi di variabile personalizzati che utilizzano una definizione di tipo semplice. Queste regole di convalida vengono verificate nelle situazioni seguenti:
- Quando si assegna un valore a una variabile in un processo o un servizio di tale tipo, ad esempio quando uno script assegna un valore a una variabile tw.local o a un'associazione di output in cui un risultato del servizio viene mappato in una variabile tw.local , il valore viene convalidato.
- Convalida per i tipi di variabili personalizzate Integer e Decimal
- Per le definizioni di oggetti di business interi e decimali, è possibile definire valori minimi e massimi per specificare un intervallo. Ad esempio, se si specificano un valore minimo pari a 0 e un valore massimo pari a 100, entrambi inclusi, si avrà un tipo che potrebbe essere utilizzato per una variabile in cui gli utenti specificano una percentuale che non può essere negativa o superiore al 100%.
Specificando la precisione e la scala, è possibile limitare il numero decimale e le posizioni decimali di un numero.
Specificare il modo in cui le impostazioni di convalida devono essere interpretate nella configurazione dell'oggetto di business della configurazione del server.
Tabella 2. Proprietà di convalida di precisione e scala Proprietà Immettere Valore predefinito Descrizione precision-validation-on-server-enabled
Booleano No Utilizzato per abilitare la convalida dell'impostazione di precisione quando viene impostata una variabile.
precision-validation-strip-trailing-zeros
Booleano No Utilizzato per rimuovere gli zero finali da dietro il punto decimale prima che la precisione venga convalidata
precision-validation-type
enum (equals, lessOrEquals ) uguale a Se questa proprietà è impostata su
equal
, la precisione del valore della variabile deve essere uguale a quella specificata nel tipo di variabile. Se la proprietà è impostata sulessOrEquals
, la precisione del valore della variabile deve essere uguale o inferiore a quanto specificato nel tipo di variabile.scale-validation-strip-trailing-zeros
Booleano No Utilizzato per rimuovere gli zeri finali da dietro il punto decimale prima che la scala venga convalidata
scale-validation-type
enum (equals, lessOrEquals ) uguale a Se questa proprietà è impostata su
equals
, la scala del valore della variabile deve essere uguale a quanto specificato nel tipo di variabile. Se la proprietà è impostata sulessOrEquals
, la scala del valore deve essere uguale o inferiore a quanto specificato nel tipo di variabile.
precision-validation-on-server-enabled
su true
ma si mantengono tutte le altre impostazioni sul valore predefinito, è valido il seguente valore:- 123.45
- 1234.56 (precisione errata, 6 invece di 5)
- 12.34 (precisione errata, 4 invece di 5)
- 12.345 (scala errata, 3 invece di 2)
- 1234.1 (scala errata, 1 invece di 2)
Anche la seguente espressione JavaScript causa un errore di convalida perché JavaScript rimuove gli zeri finali al runtime prima di assegnare il valore:
tw.local.variable = 123.40
La seguente espressione JavaScript non causa un errore di convalida perché la stringa viene convalidata correttamente e quindi automaticamente convertita in un numero per impostare il valore della variabile:
tw.local.variable = "123.40"
totalDigits
e fractionDigits
, è necessario impostare gli indicatori di configurazione come mostrato nella tabella seguente:Impostazione | Immettere |
---|---|
precision-validation-on-server-enabled |
vero, true |
precision-validation-strip-trailing-zeros |
vero, true |
precision-validation-type |
lessOrEquals |
scale-validation-strip-trailing-zeros |
vero, true |
scale-validation-type |
lessOrEquals |
- 123.45
- 12.34
- 123.4
- 123
- 1234.56 (precisione errata, 6 invece di un massimo di 5)
- 12.345 (scala errata, 3 invece di un massimo di 2)
Calcoli numerici negli script
È possibile utilizzare JavaScript per programmare all'interno di un processo o fase di servizio. La precisione doppia viene utilizzata per memorizzare valori numerici per le variabili.
Quando si eseguono calcoli negli script, prestare attenzione ai limiti che possono raggiungere questa precisione. Ad esempio, quando si aggiunge 1000.06 + 0.01, il risultato matematicamente corretto è 1000.07. Tuttavia, se si sommano i numeri in JavaScript, il risultato è 1000.0699999999999
Se si richiedono calcoli matematicamente corretti, eseguire questi calcoli al di fuori del codice JavaScript . Ad esempio, è possibile utilizzare le classi BigDecimal e BigInteger per eseguire calcoli con la massima precisione in un programma Java. Se è necessario memorizzare il risultato con precisione completa in una variabile di processo o di servizio, è possibile formattare il numero come stringa e utilizzare il tipo di dati Stringa per la variabile.
NaN
o Infinity
non può essere memorizzato nel database per una variabile di processo visibile in Workplace. Se si calcola il valore di tale variabile, assicurarsi che il risultato non sia NaN
o Infinity
; in caso contrario, viene scritto un errore nel file SystemOut.log .