Vai al contenuto

AREASMS - Invio messaggi SMS

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT AREASMS-OPE x(20) Vedi argomenti successivi
AREASMS-TESTO x(500) Testo del messaggio
AREASMS-DEST-NUM x(15) Numero di telefono a cui inviare il messaggio, o da accodare all'elenco
Se contiene

AREASMS-DEST-BULK x(01) Usato con operazione "INVIA*"
Se "S", il numero a cui inviare non e' quello passato in input con AREASMS-DEST-NUM, ma il file di testo riempito precedentemente
AREASMS-ID-SMS x(20) Id dell'SMS generato
AREASMS-ATT 9(12) Numero attività CRM da agganciare al messaggio
AREASMS-INFO 9(04) Usata in "ACCODA"
Contiene il numero di informazione da cui proviene il numero
AREASMS-NOM 9(08) Usata in "ACCODA"
Contiene il codice nominativo a cui fa riferimento l'accodamento
AREASMS-USCITA-TST-FUN 9(05) Uscita con tasto funzione senza invio e diverso da ESc.
(passare il valore del tasto funzione che se passato lo fa uscire senza invaire sms)
il campo areasms-stato-invio assumera' il valore del tst-fun.
AREASMS-ID 9(12) Id della testata messaggio
OUTPUT AREASMS-STATO-INVIO 9(05)


FILLER x(978)

Logica generale Questo programma fornisce insieme l'interfaccia per l'invio manuale di un SMS, e alcune funzioni di utilità necessarie alla preparazione e all'invio stesso. Maschera del programma

La maschera verrà visualizzata in caso di "INVIO-MAN" Dati importanti File "destinatari" File sequential di appoggio che viene riempito con successive operazioni "ACCODA", e che serve come base per determinare i numeri a cui inviare SMS. Potrà contenere direttamente numeri o altre informazioni da cui ricavarle. Vedi Metodi di ricerca destinatario File "istruzioni" File sequential che viene generato al momento dell'invio vero e proprio. Contiene le informazioni da passare all'esegubile "AREASMS.EXE" che colloquia direttamente con il server KPN. Tabella W/S "posticipi" Tabella che dovrà contenere un elenco una tabella con gli invii previsti richiesti dall'operatore. Se la tabella è vuota l'invio sarà 1 e immediato. Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta Operazioni possibili

Operazione Documentata?
INVIA
INVIA-MAN
INVIA-SILENT Operazione: INVIA-SILENT
INVIA-SESSIONE Operazione: INVIA-SESSIONE
ACCODA
CONTROLLA
RICHIEDI-POSTICIPO Operazione: RICHIEDI-POSTICIPO

Operazione: RICHIEDI-POSTICIPO

  • Descrizione Richiama un sottoprogramma che permette di richiedere il posticipo del messaggio, e di inviare in successione lo stesso messaggio fino a 5 volte. Chiamata standard
Tipo Dato Contenuto
INPUT AREASMS-OPE RICHIEDI-POSTICIPO
OUTPUT AREASMS-STATO-INVIO In questo caso questo dato (equivalente a funzio) potrà valere:


FILLER

Elaborazione In questo caso AREASMS farà solo da tramite per la chiamata a MSGPOST: richiesta dati per invio posticipato messaggio. In AREASMS prevedere quindi una tabella di working che rispecchia quella di linkage richiesta da MSGPOST. All'inizio tale tabella sarà vuota. Ad ogni richiesta di "RICHIEDI-POSTICIPO" eseguire una chiamata a MSGPOST:

Dato Contenuto
MSGPOST-OPE "ACCEPT"
MSGPOST-TAB-SESSIONI Riempire la tabella con il contenuto attuale della tabella di working

All'uscita, se MSGPOST-TF-USCITA = K-F3, salvare la tabella di linkage su quella di working. Poi in ogni caso restituire MSGPOST-TF-USCITA su AREAMS-STATO-INVIO e uscire.

Operazione: INVIA-SILENT

Descrizione Esegue la creazione in background di una o più sessioni del messaggio, in funzione dei dati preparati precedentemente. Poi se l'invio è immediato esegue anche "INVIA-SESSIONE". Chiamata standard

Tipo Dato Contenuto
INPUT AREASMS-OPE INVIA-SILENT
AREASMS-DEST-BULK Se questo parametro vale "S", significa che in precedenza sono state eseguite 1 o più chiamate con operazione "ACCODA"
AREASMS-DEST-NUM Parametro necessario se AREASMS-DEST-BULK <> "S"
AREASMS-ATT Se passato, il messaggio verrà collegato all'attività
AREASMS-TESTO Il testo da inviare
OUTPUT AREASMS-STATO-INVIO In questo caso questo dato (equivalente a funzio) potrà valere:


FILLER

Elaborazione Questa elaborazione dà per scontato che in precedenza sia stata eseguita una o più operazioni "ACCODA", con cui vengono aggiunti destinatari ad file di appoggio. In tal caso si dovrà passare AREASMS-DEST-BULK ="S" In alternativa, attualmente è possibile passare AREASMS-DEST-NUM, pero' solo nel formato "OPERATORE=nnn": in questo modo il programma effettuerà un'operazione automatica di accodamento "e-esamina-operatore" Quindi, se la tabella w/s "posticipi": * E' vuota: si dovrà eseguire un unico invio immediato; perciò: * A - Creazione sessione * B - Invio sessione * Contiene 1 o più elementi: per ciascun elemento: * A - Creazione sessione * (l'invio verrà eseguito da un programma automatico, quando si raggiunge data/ora prevista) A - Creazione sessione A.1 - Inserimento COGMSGTS

Nome campo Note

"S"

Primo progressivo libero
MST-MSG-ID " "
MST-DATA-INVIO-EFF 0
MST-ORA-INVIO-EFF
MST-DATA-ESITO 0
MST-ORA-ESITO
MST-DATA-INVIO-PRV Se la sessione è:


MST-ORA-INVIO-PRV
MST-DOC-TIP "A"
MST-DOC-KEY Numero attività passato in input
MST-DOC-SESSIONE Progressivo di sessione per lo stesso messaggio
MST-STATO-INVIO "N"
MST-TESTO Testo del messaggio passato in input
MST-SITUAZIONE 0
MST-FL-VISTO "N"

A.2 - Esame destinatari Se l'invio è: * "Manuale", il destinatario sarà 1 e si eseguirà direttamente A.2.1 * "Bulk": si scorre il file "destinatari"; ciascuna riga verrà esaminata e inclusa nell'elenco: vedi Metodi di ricerca destinatario A.2.1 - Inserimento COGMSGES

Nome campo Note

"S"

MST-ID

Progressivo di destinatario
MSE-DATA-INVIO Data/ora invio del messaggio
MSE-ORA-INVIO
MSE-DST Destinatario (numero di telefono)
MSE-DES-ESITO " "
MSE-DST-TIP " "
MSE-DST-KEY " "

(Perchè ora non viene memorizzato il destinatario collegato?) Parte da introdurre in una operazione ad hoc Il file di istruzioni è un file di testo che viene creato in EXT-TMP-DIR, con nome "sms-data_sistema-ora_sistema.ini". Contiene le informazioni di invio come richiesto dall'eseguibile "AREASMS"; il contenuto quindi sarà:

Riga Note
!!!AZIONE=1 Riga fissa
!!!TESTOSMS=testo Il testo da inviare
!!!NUMERISMS=numero_destinatario Questa riga è ripetuta "n" volte, in funzione dei numeri di telefono a cui inviare
Per ciascun numero destinatario verrà anche generato un record di dettaglio COGMSGES (vedi A.2.1)
Se l'invio è:


Metodi di ricerca destinatario

Operazione: INVIA-SESSIONE

Descrizione Operazione di pura elaborazione, che parte da una sessione ben definita e la invia. Chiamata standard

Tipo Dato Contenuto
INPUT AREASMS-OPE INVIA-SESSIONE
AREASMS-ID ID della sessione da inviare
OUTPUT AREASMS-STATO-INVIO In questo caso questo dato (equivalente a funzio) potrà valere:


FILLER

Elaborazione Il programma chiamante dovrà conoscere l'id della sessione da inviare. La sessione richiesta dovrà avere MST-STATO-INVIO = "N" (ancora in attesa di invio). Il processo dovrà essere: * MST-STATO-INVIO verrà portato a "T", in modo che eventuali altri processi non eseguano l'elaborazione nel frattempo * Lettura dei record COGMSGES collegati all'id richiesto; per ciascuno * Creazione di un record sul file "istruzioni" * Chiamata al programma di invio messaggio "Areasms.exe" * Modifica a testata:

Nome campo Note
MST-DATA-INVIO-EFF Data/ora sistema
MST-ORA-INVIO-EFF
MST-STATO-INVIO "S"

Composizione file "istruzioni" Il file di istruzioni è un file di testo che viene creato in EXT-TMP-DIR, con nome "sms-data_sistema-ora_sistema.ini". Contiene le informazioni di invio come richiesto dall'eseguibile "AREASMS"; il contenuto quindi sarà:

Riga Note
!!!AZIONE=1 Riga fissa
!!!TESTOSMS=testo Il testo da inviare
!!!NUMERISMS=numero_destinatario Questa riga è ripetuta "n" volte, in funzione dei numeri di telefono a cui inviare

"e-esamina-operatore"

Questa routine viene eseguita quando il destinatario passato è un codice operatore; in questo caso 1. Lettura dell'anagrafica operatore: PRNTOPE2 2. Si esamina PTO2-SMS: potrebbe contenere + numeri di telefono separati da ";" 3. Ogni numero valido trovato viene accodato al file destinatari

Metodi di ricerca destinatario

I destinatari da accodare ad un messaggio vengono registrati nel file "destinatari", che potrebbe essere composto nel seguente modo:

DST-NUM DST-INFO DST-NOM Elaborazione
"NOMINATIVO" 0 cod_nominativo Si esaminano i contatti del nominativo cod_nominativo
Saranno considerati solo quelli con:


num_telefono 0 0 Il numero di telefono viene ripulito da caratteri non conformi e utilizzato
num_telefono > 0 0 Questo caso è utilizzato in caso di invio manuale.
L'utente potrebbe aver spuntato una sola delle informazioni configurate che contengono numeri di telefono.
In questo caso DST-INFO conterrà il numero informazione da cui proviene il numero DST-NUM.
Quindi se l'info collegata risulta spuntata, il numero sarà utilizzato, altrimenti sarà scartato

Estratto da documentazione interna ClickUp