05 - Operazioni su Transfer Properties

Version 5.8 by administrator BDP on 2017/12/14 11:01

PropertiesManager (CPropertiesManager)

Permette di manipolare in vari modi il contenuto di una Transfer Property. Le operazioni disponibili sono le seguenti:

  • Conversione di formato (0 - Custom format): permette di formattare il valore contenuto nella Transfer Property sorgente. Il formato finale del dato, salvato nella Transfer Property destinazione è dato dal parametro contenente la regola di formattazione. Questa è la composizione di un insieme differente di parti base a seconda dal tipo di dato sorgente. Gli elementi base ammessi sono, a seconda del tipo del dato sorgente, i seguenti (vedere anche esempi di conversione in fondo alla sezione):
DatedVisualizza il giorno come numero senza zero iniziale (1-31)
 ddVisualizza il giorno come numero con eventuale zero iniziale (01-31).
 dddVisualizza il giorno come abbreviazione (lun, mar, ...).
 ddddVisualizza il giorno per esteso (lunedì, martedì, ...).
 mVisualizza il mese come numero senza zero iniziale (1-12).
 mmVisualizza il mese come numero con eventuale zero iniziale (01-12)
 mmmVisualizza il mese come abbreviazione (gen, feb, ...)
 mmmmVisualizza il mese per esteso (gennaio, febbraio, ...)
 yVisualizza il giorno dell'anno come numero (1-366)
 yyVisualizza l'anno come numero a due cifre (00-99)
 yyyyVisualizza l'anno come numero a quattro cifre (100-9999)
 wVisualizza il giorno della settimana come numero (1 per domenica fino a 7 per sabato)
 wwVisualizza la settima dell'anno come numero (1-54)
 qVisualizza il trimestre come numero (1-4)
 hVisualizza l'ora come numero senza zero iniziale (0-23)
 hhVisualizza l'ora come numero con eventuale zero iniziale (00-23)
 nVisualizza i minuti come numero senza zero iniziale (0-59)
 nnVisualizza i minuti come numero con eventuale zero iniziale (00-59)
 sVisualizza i secondi come numero senza zero iniziale (0-59)
 ssVisualizza i secondi come numero con eventuale zero iniziale (00-59)
Numero0Visualizza una cifra o uno zero. Se l'espressione da convertire ha una cifra nella posizione corrispondente allo zero questa viene visualizzata, altrimenti viene visualizzato uno zero.
 #Visualizza una cifra o nulla. Se l'espressione da convertire ha una cifra nella posizione corrispondente allo zero questa viene visualizzata, altrimenti non viene visualizzato nulla in tale posizione.
 .Posizione del punto decimale; determina quante cifre sono visualizzate a destra e a sinistra della virgola.
 ,Posizione del separatore di migliaia.
 -+$()Visualizza il carattere nella posizione corrispondente. Per visualizzare altri caratteri occorre farli precedere da \ o racchiuderli tra doppi apici.
Testo@Visualizza un carattere o un spazio. Se la stringa ha un carattere nella posizione corrispondente la simbolo @ viene visualizzato il carattere, altrimenti viene visualizzato uno spazio.
 <Converte la stringa in minuscolo.
 >Converte la stringa in maiuscolo.
   
  • Concatenazione di valori (1 - Link values): permette di salvare nella Transfer Property destinazione la concatenazione di più Transfer Properties e/o Call Data eventualmente inframezzate da parti di testo costante. Le Transfer Property che compaiono nella stringa di testo sorgente devono essere scritte racchiuse tra caratteri %, mentre i Call Data tra $. Ad esempio dato la Transfer Property "tpNome", contenente la stringa "Mario", ed il Call Data "cdCognome", contenente "Rossi"; indicando nelle direttive di concatenazione il seguente testo: Nome = %tpNome% - Cognome = $cdCognome$ nella Transfer Property destinazione verrà salvato: Nome = Mario - Cognome = Rossi
  • Eliminazione spazi iniziali (2 - Remove leading spaces): permette di eliminare gli eventuali spazi iniziali dalla stringa contenuta nella Transfer Property.
  • Eliminazione spazi finali (3 - Remove trailing spaces): permette di eliminare gli eventuali spazi finali dalla stringa contenuta nella Transfer Property.
  • Eliminazione spazi iniziali e finali (4 - Remove spaces): permette di eliminare gli eventuali spazi iniziali e finali dalla stringa contenuta nella Transfer Property.
  • Estrazione di una parte di testo (5 - Extract part of text): permette di estrarre una parte del testo contenuto nella Transfer Property; richiede di indicare la posizione del primo carattere di interesse (1 per l'inizio della stringa) e il numero di caratteri da estrarre. Ad esempio se si configura il servizio per estrarre 3 caratteri a partire dalla posizione 5 della stringa "1234567890" il risultato sarà "567". Indicando un valore negativo nella posizione iniziale, viene estratta la stringa a partire dalla fine: ad esempio se il contenuto di una Transfer Property è "123456789", configurando il servizio per estrarre una parte di testo con posizione iniziale -3 e lunghezza 2, il risultato che si ottiene è la stringa "78".
  • Verifica se sorgente è stringa nulla (6 - Verify if source is null string): nella Transfer Property di destinazione viene salvato "1" nel caso che il contenuto della Transfer Property sorgente sia la stringa nulla, "0" altrimenti.
  • Verifica se sorgente data (7 - Verify if source is date): nella Transfer Property di destinazione viene salvato "1" nel caso che il contenuto della Transfer Property sorgente rappresenti una data valida, "0" altrimenti.
  • Verifica se sorgente numerica (8 - Verify if source is numeric): nella Transfer Property di destinazione viene salvato "1" nel caso che il contenuto della Transfer Property sorgente sia un valore numerico, "0" altrimenti.
  • Riempi a sinistra (9 - Pad left): permette di ottenere un stringa con una lunghezza prestabilita aggiungendo il carattere indicato in testa alla stringa originale. Occorre indicare nei parametri la lunghezza totale della stringa che si vuole ottenere ed il carattere di riempimento. Se la stringa sorgente è più lunga di quanto specificato nel parametro total string length viene troncata a tale valore tagliando la parte iniziale (pad left).
  • Riempi a destra (10 - Pad right): permette di ottenere un stringa con una lunghezza prestabilita aggiungendo il carattere indicato in coda alla stringa originale. Occorre indicare nei parametri la lunghezza totale della stringa che si vuole ottenere ed il carattere di riempimento. Se la stringa sorgente è più lunga di quanto specificato nel parametro total string lengthviene troncata a tale valore tagliando la parte finale (pad right).
  • Ottieni valore dalla stringa CallData (11 – Get value from CallData string): passando alla funzione una stringa formattata come i CallData (ad esempio Param1 = Value1}{ Param2 = Value2}…..{ ParamN = ValueN) è possibile ottenere il valore associato alla coppia nome-valore indicata nei parametri del blocchetto. Questa funzione è utile per fare il parsing della stringa restituita da un blocchetto di tipo CReadTextMessage che restituisce appunto una stringa formattata come i CallData. Tale stringa contiene, oltre al testo del messaggio ricevuto anche altre informazioni dipendenti dal media da cui il messaggio stesso è stato generato (in linea generale informazioni sul mittente). L’unico parametro previsto è il nome del CallData da estrarre.
  • Generazione valore numerico casuale (12 – Random number generator): permette di generare un valore casuale nel range di valori indicato. I parametri di configurazione sono il valore minimo e il valore massimo che tale numero casuale può assumere.

Parametri di Configurazione

ParametroDescrizione
Tipo operazioneIndica il tipo dell'operazione da eseguire.
Transfer Property destinazioneNome della Transfer Property in cui memorizzare il risultato dell'operazione.
Direttive di concatenazioneContiene le direttive per l'esecuzione dell'operazione concatenazione di T.P. e/o Call Data.
Transfer Property sorgentePer tutte le altre operazioni indica la T.P. su cui eseguire l'operazione.
Regola di formattazioneIndica il formato con cui deve essere rappresentata la data.
Carattere di partenzaIndica il primo carattere valido per l'estrazione di una sotto-stringa.
Lunghezza della sotto-stringaIndica il numero di caratteri da estrarre a partire dalla posizione indicata dal parametro precedente.
Servizio successivo (solo configurando il Servizio tramite MessengerConfigurator)Indica il servizio da attivare al termine dell'operazione.

Esempi di conversione

Se il valore sorgente contiene una data/ora, ad esempio "23/05/2001 14:47:33":

Regola di formattazioneContenuto della T.P. destinazione dal servizio
dd/mm/yyyy23/05/2001
dddd dd mmmm yyyymercoledì 23 maggio 2001
dddd dd mmmm yyyy - hh:mmmercoledì 23 maggio 2001 - 14.47
hh:mm:ss14:47:33

Se il valore sorgente contiene un valore numerico, ad esempio "123456":

Regola di formattazioneContenuto della T.P. destinazione dal servizio
#,###,###123.456
#,###,##0.00123.456,00
£ #,###,##0.00£ 123.456,00

Se il valore sorgente contiene una stringa di testo, ad esempio "Mario Rossi":

Regola di formattazioneContenuto della T.P. destinazione dal servizio

@

@

@

Mario Rossi (sono stati appesi 4 spazi all'inizio)
<mario rossi
>MARIO ROSSI

QuerySetStore (CQuerySetStore)

Permette di assegnare un nuovo valore ad una o più Transfer Property, di salvare il loro contenuto oppure di eseguire una query su di un database. La sorgente o la destinazione dei dati può essere un campo di un Database Access oppure un campo di un database a cui si accede tramite ODBC. I parametri da configurare variano in base al tipo d'operazione selezionata (caricamento, salvataggio o semplice Query) e dal tipo di sorgente/destinazione del dato.

Parametri di Configurazione

  • Tipo d'operazione : indica cioè se si vogliono assegnare dei nuovi valori a delle Transfer Property oppure salvare Il loro contenuto.
  • Tipo d'oggetto : indica la sorgente dei dati da caricare nelle Transfer Property, o la destinazione del loro contenuto.
  • Se il tipo d'oggetto è un MDB Access occorre indicare:
  • Il nome del file MDB.
  • Criterio di ricerca del record cioè la Query in linguaggio SQL che il sistema deve eseguire sul database indicato.
  • Se il tipo d'oggetto è un database acceduto via ODBC :
  • Il suo DSN: nome con cui è definito nell'ODBC.
  • Eventuale nume utente e password d'accesso.
  • Criterio di ricerca del record cioè la Query in linguaggio SQL che il sistema deve eseguire sul database indicato.
  • Eventuale lista delle associazioni Transfer Property – nome del campo.
  • Servizio successivo (solo configurando il Servizio tramite MessengerConfigurator ): nome servizio successivo da attivare.
  • Messaggio di attesa : nel caso di accessi a basi dati lente, ad esempio Db remoti visti via ODBC, è possibile indicare un messaggio di attesa che viene suonato in modo asincrono durante l'accesso ai dati. Il servizio termina quando sia l'accesso ai dati che la riproduzione del messaggio sono terminati; è quindi opportuno valutarne accuratamente la lunghezza.

SetStoreProperty (CSetStoreProperty)

Permette assegnare un nuovo valore ad una o più Transfer Property, o di salvare il loro contenuto. La sorgente o la destinazione dei dati può essere: una costante (solo per il caricamento), un Call Data, un'altra Transfer Property, un campo di un Database Access, una voce di un file INI oppure un campo di un database remoto a cui si accede tramite ODBC. I parametri da configurare variano in base al tipo d'operazione selezionata (caricamento o salvataggio) e dal tipo di sorgente/destinazione del dato.

Parametri di Configurazione

  • Nella prima finestra di dialogo dell'assistente di configurazione selezionare tra le due opzioni Carica valore da e Salvare valore in.
  • (Opzionale) Indicare nel campo sottostante il Messaggio di attesa.

Nota: nel caso di accessi a basi dati lente, ad esempio database remoti visti via ODBC, è possibile indicare un messaggio di attesa che viene suonato in modo asincrono durante l'accesso ai dati. Il servizio termina quando sia l'accesso ai dati che la riproduzione del messaggio sono terminati; è quindi opportuno valutarne accuratamente la lunghezza.

    • Fare clic sul pulsante
      hashphones.messenger-configurator-servizi-base.html_html_m161821ce.png
    • Browse.
    • Nella finestra di dialogo Assegna valore selezionare il tipo di valore da assegnare e procedere a seconda del tipo scelto:
      • Costante:
        • Inserire il nome della costante.
        • Fare clic sul pulsante Browse:
          hashphones.messenger-configurator-servizi-base.html_html_m161821ce.png
        • .
        • Nella finestra di dialogo Selezione file selezionare il file .wav da suonare.
        • Fare clic su Save.
    • Transfer Property:
      • Scegliere il nome della Transfer Property dall'elenco a discesa:
        hashphones.messenger-configurator-servizi-base.html_html_58e2e61.png
      • .
    • Call Data :
      • Inserire il nome della Call Data.
    • Fare clic su OK. Il valore indicato viene inserito automaticamente nel campo.
  • Fare clic su Avanti.
  • Nella seguente finestra di dialogo selezionare il tipo di oggetto dall'elenco ed effettuare l'associazione Property – Valore :
  • Selezionare il tipo d'oggetto desiderato. Nota: Se si seleziona tra gli oggetti Costante, Transfer Property e Call Data proseguire dal punto 2. Se si seleziona uno tra gli oggetti seguenti indicare i seguenti parametri aggiuntivi (facendo clic su Avanti ):
OggettoParametri
Campo di un DB AccessNome del file MDB.
 Nome della tabella.
 Se si sta salvando il contenuto delle Transfer Property nel MDB si può indicare al sistema di creare un nuovo record nella tabella.
 Criterio di ricerca del record: nome del campo su cui fare la ricerca, valore da ricercare e tipo del dato.
Campo di un DB via ODBCIl suo DSN: nome con cui è definito nell'ODBC.
 Eventuale nome utente e password d'accesso.
 Il nome della tabella.
 Se si sta salvando il contenuto delle Transfer Property nel database si può indicare al sistema di creare un nuovo record nella tabella.
 Criterio di ricerca del record: nome del campo su cui fare la ricerca, valore da ricercare e tipo del dato.
Entry in un file ININome del file, completo di percorso.
 Nome della sezione.
  • Fare clic su Avanti.
  • Inserire una nuova associazione Property-Valore facendo clic su Nuovo. Oppure: Selezionare una Transfer Property dall'elenco e fare clic su Modifica.
  • Nella finestra di dialogo Associa selezionare una Transfer Property dall'elenco ed inserire un Valore nel campo sottostante dove valore indica, a seconda del tipo dell'oggetto scelto come sorgente/destinazione nella finestra di dialogo precedente:
Tipo oggettoDescrizione
CostanteInserire valore da assegnare alla Transfer Property
Oppure:Per:
[NOW]Data ed ora corrente
[EXTENSION]Il numero di telefono dell'agente sintetico
[CHNUM]Il numero di canale dell'agente sintetico
[LOGINNAME]Il nome di login dell'agente sintetico (ad esempio "IVR0001")
Call DataNome del Call Data il cui valore deve essere assegnato alla Transfer Property.
Transfer PropertyNome della Transfer Property.
Campo di un DB AccessNome del campo.
Campo di un DB via ODBCNome del campo.
Entry in un file INIChiave del valore.
  • Fare clic su OK.
  • Fare clic su Avanti.
  • (Solo configurando il Servizio tramite MessengerConfigurator ) Indicare il nome del Servizio successivo da attivare facendo clic sul pulsante
    hashphones.messenger-configurator-servizi-base.html_html_m161821ce.png
  • Browse.
  • Selezionare il Servizio:
Per:E:
NomeSelezionarlo dall'elenco a discesa
hashphones.messenger-configurator-servizi-base.html_html_58e2e61.png
Transfer PropertySelezionarlo dall'elenco a discesa
hashphones.messenger-configurator-servizi-base.html_html_58e2e61.png
Call DataInserire il nome del Call Data desiderato.
  • Fare clic su OK.
  • Fare clic su Avanti.
  • Fare clic su Salva. Nota: Un servizio analogo, nel caso di database Access o ODBC, è fornito dalla classe CQuerySetStore che, a differenza di questa, richiede di specificare una query di ricerca (SELECT), espressa in linguaggio SQL, per la selezione del record su cui agire; in questo modo permette di operare su dati suddivisi su più tabelle o con criteri di ricerca articolati.

TimeSwitch (CTimeSwitch)

Permette di selezionare il servizio successivo da attivare in base all'ora ed al giorno della settimana. Nel caso che l'ora attuale non soddisfi nessuna delle regole configurate viene attivato un servizio di default. Per la gestione delle festività questo servizio permette di definire una lista di giorni "eccezionali" ed associare a ciascuno di essi un particolare giorno della settimana (ad esempio Domenica). In tali giorni il sistema ignora il reale giorno della settimana, ma si comporta come se fosse realmente Domenica.

Parametri di Configurazione

Occorre definire il nome del servizio di default e, per ogni fascia oraria configurata:

  • Nome : nome logico da assegnare alla fascia, deve essere univoco.
  • Dalle : ora di inizio della fascia oraria, espressa nel formato HH:MM.
  • Alle : ora di fine della fascia oraria, espressa nel formato HH:MM. Nota: per indicare mezzanotte come orario finale, occorre definire "24:00".
  • Giorni : giorni in cui la fascia oraria è valida.
  • Servizio (solo configurando il Servizio tramite MessengerConfigurator ): nome del servizio da attivare se l'ora attuale soddisfa le condizioni. Per ogni giorno "eccezionale" occorre definire: la data (ad esempio 25/12/1998) ed il giorno della settimana da associargli. Nel caso che questa festività sia valida tutti gli anni, è possibile sostituire l'anno con delle "X", ad esempio 25/12/XXXX.

UserSwitch (CUserSwitch)

Permette di selezionare il successivo servizio da attivare in base al valore memorizzato in una Transfer Property, un Call Data, il valore di un campo di un file INI, un campo di un MDB o di un database remoto visto tramite ODBC.

Parametri di Configurazione

I parametri che dipendono dal tipo d'oggetto su cui prendere la decisione sono:

Tipo d'oggettoParametroDescrizione
Call DataNomeNome del Call Data
Transfer PropertyNomeNome della Transfer Property.
Campo MDBNome MDBNome e percorso del file MDB.
 Nome tabellaNome della tabella del file MDB.
 Nome campoNome del campo sul cui valore prendere la decisione.
 Campo ricercaNome del campo su cui ricercare il record da considerare
 Valore ricercaValore da ricercare
Campo ODBCDSN ODBCNome con cui è definito il database in ODBC
 UtenteNome utente con cui accedere al DB
 PasswordPassword d'accesso per l'utente definito
 Nome tabellaNome della tabella del file MDB.
 Nome campoNome del campo sul cui valore prendere la decisione.
 Campo ricercaNome del campo su cui ricercare il record da considerare
 Valore ricercaValore da ricercare
Entry file ININome fileNome e percorso del file INI
 SezioneNome della sezione del file INI
 EntryNome dell'entry sul cui valore prendere la decisione

I parametri validi indipendentemente dal tipo d'oggetto selezionato sono invece:

ParametroDescrizione
Tipo del datoTipo del dato sui cui prendere la decisione (testo, numero o data).
Lista di instradamentoLista di copie servizio-valore per la selezione del percorso da seguire
Messaggio d'attesaNel caso di accessi a basi dati lente è possibile indicare un messaggio di attesa che viene suonato in modo asincrono durante l'accesso ai dati.

Ad ogni possibile servizio successivo deve essere associata una regola di attivazione con le seguenti modalità:

  • Intervallo di valori : nella forma "1=100", il servizio corrispondente viene attivato se l'oggetto indicato ha un valore compreso tra 1 e 100, limiti compresi.
  • Sequenza di valori : nella forma "1;3;5", il servizio corrispondente viene attivato se l'oggetto indicato vale 1, 3 oppure 5.
  • Singolo valore.
  • Limite superiore : nella forma "<100", il servizio corrispondente viene attivato se l'oggetto indicato ha un valore minore di 100.
  • Limite inferiore : nella forma ">100", il servizio corrispondente viene attivato se l'oggetto indicato ha un valore maggiore di 100.
  • Default : nella forma "-", il servizio corrispondente viene attivato se nessuna delle condizione precedenti è soddisfatta. Deve essere l'ultima condizione definita nella lista. Per le date è possibile specificare la data odierna con la parola chiave "NOW"; di conseguenza possono essere definite anche delle regole del tipo "<NOW" (il servizio associato viene attivato solo se la data dell'oggetto indicato è antecedente alla data odierna), ">NOW+5" (il servizio associato viene attivato solo se la data dell'oggetto indicato è successiva alla data odierna più 5 giorni, analogamente per il segno -) e tutte le possibili combinazioni. Nota : tutte queste condizioni devono essere scritte senza spazi.