AGLANCIO - Esecuzione processi di sincronizzazione con AREAGATE

Navigation:  »No topics above this level«

AGLANCIO - Esecuzione processi di sincronizzazione con AREAGATE

Return to chapter overview

 

Posizione nel menu

Programma non a menu

 

Logica generale

 

Programma che gira in background, e permette la schedulazione dei processi SWAnnn per la sincronizzazione tra AREAGATE e AREA.

Questo programma dovrà essere strutturato per essere lanciato direttamente all'avvio di un pc preposto, e rimanere residente finchè lo switch principale di sincronizzazione per l'azienda non viene chiuso (attiva-areaapp).

 

E' fondamentale che questo programma non emetta mai messaggi: questo dovrebbe essere automatico, dato che tutti i programmi innescati da lancio automaticamente girano i messaggi sul log, ma è bene verificare, ad esempio, cosa succede se si innesca il programma avendo i parametri di connessione ad Areagate errati.

 

Configurazioni possibili

 

Gruppo

Parametro

Note

abilita

attiva-areaapp

 

areaapp

cod-azienda

 

areaapp

aglancio-sleep-seconds

 

 

Elaborazione

 

Il processo deve rimanere sempre attivo, anche se lo switch principale è spento (attiva-areaapp).

In ogni caso il controllo deve essere fatto su due livelli:

Configurazione locale

Configurazione su KPN (ARPAZIEN): qui potrà essere richiesta una procedura di accensione/spegnimento da remoto (vedi Spegnimento/riattivazione da host )

 

Dopodichè

 

 

Se il parametri di configurazione

La sincronizzazione deve essere attiva ( attiva-areaapp = "S"); altrimenti uscire senza nessuna segnalazione.

 

Registrare sul log l'esito del controllo.

 

A - Ricerca processi attivi

 

Scorrere il contenuto di ARPPROC; per ciascun record leggere il relativo record su ARPSTPRC.

 

Dato

Contenuto

A-STPR-AZI

Azienda attiva

A-STPR-ID

A-PROC-ID

 

Se il record non esiste, crearlo con alcuni parametri di default:

 

Nome campo

Contenuto

A-STPR-AZI

Codice azienda

A-STPR-ID

A-PROC-ID

A-STPR-ISTANZA

0

A-STPR-FL-ATTIVAZIONE

"S"

A-STPR-DIREZIONE

"T"

A-STPR-TEMPO-ATTESA

A-PROC-TEMPO-STD

A-STPR-FORZO-ESE

"N"

A-STPR-ESPORTA-TUTTO

"N"

A-STPR-STATO

"A"

 

A.1 Controllo esecuzione processo

 

Il processo dovrà avere due requisiti principali:

Fare parte dell'istanza richiesta: A-STPR-ISTANZA = istanza passata in input

Essere attivo: A-STPR-FL-ATTIVAZIONE = "S".

Se questi requisiti non sono soddisfatti skippare.

 

Ora verifichiamo se dopo l'ultima esecuzione è passato il tempo configurato in A-STPR-TEMPO-ATTESA: confrontare il tempo con la differenza tra{

Data/ora ultima esecuzione (A-STPR-ATT-DATA+A-STPR-ATT-ORA)

Data/ora sistema

Se il tempo configurato è stato raggiunto o superato, o se è stata richiesta l'esecuzione forzata (A-STPR-FORZO-ESE = "S") proseguire, altrimenti skippare il processo.

 

Altrimenti si prosegue con l'esecuzione del processo. Ogni processo richiamato dovrà avere una linkage comune: UTILAGPRG - Linkage comune

I parametri da passare al programma sono:

Dato

Contenuto

AGPRG-CALLED

"AGPRG-CALLED"

AGPRG-KEY

" "

AGPRG-ESPORTA-TUTTO

A-STPR-ESPORTA-TUTTO

 

A.2 Aggiornamento stato processi

 

Al termine dell'elaborazione di un processo, rileggere il record di stato ARPSTPRC (potrebbe essere stato modificato nel frattempo) e aggiornarlo:

 

Nome campo

Contenuto

A-STPR-FORZO-ESE

"N"

A-STPR-ESPORTA-TUTTO

"N"

A-STPR-STATO

"A"

A-STPR-ATT-DATA

Data e ora di sistema

A-STPR-ATT-ORA

A-STPR-SCHED-DATA

Determinare data/ora prossima esecuzione, sommando A-STPR-TEMPO-ATTESA a data/ora sistema

A-STPR-SCHED-ORA

 

 

B - Termine processi

 

Quando si è elaborato l'ultimo processo, eseguire un ciclo di attesa di 10 secondi usando "C$SLEEP" e ripetere l'elaborazione dall'inizio.

 

Versioni

 

 

Versione

Data

Descrizione

1.1.1

4/3/2020

Se la configurazione "ATTIVA-AREAAPP" non corrisponde a RAZI-ATTIVA-SINCRO, aggiorno quest'ultimo