SWN133 - Esportazione parametri ambiente¶
Programma SWN133 Linkage section UTILAGPRG - Linkage comune Id processo: 133 Nome processo: PAR-INST Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| Parametri di ambiente vari | INSTALLAZIONI | ------> |
Logica generale Esportazione di alcuni parametri provenienti prevalentemente da CBLCONFI, che permetteranno di automatizzare in varie fasi i rilasci Esportazione Esportazione di tutti gli elementi effettivamente modificati (con dati variati). Importazione Non ancora prevista Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| abilita | attiva-areaapp | |
| areaapp | cod-azienda | |
| areaapp | db-conn-string | |
| areaapp | agg-postgres-online |
Elaborazione Tipi di segnalazione: Vedi Tipi di segnalazione A - Controllo di esecuzione Vedi Controllo di esecuzione A.1 - Aggiornamento KEEP-ALIVE Per il momento non lo eseguiamo: il keep-alive viene tenuto aggiornato dal thread autonomo di aglancio; se il programma venisse chiamato in "tempo reale" dal programma di gestione, non necessita comunque del keep-alive. A.2 - Apertura A.2.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: INSTALLAZIONE Se fallita inviare una Segnalazione critica e chiudere. B - Esportazione elementi aggiornati * ID SINCRO: gestito * Esportazione differenziale: gestita ma non ottimizzata: non esiste una chiave diretta per ottenere solo i record aggiornati * Cancellazione logica: gestita In questa fase si dovrà tenere conto di * Limite record * Limite errori * "Esporta tutto" B.1 - Stato sincronizzazione Sulla tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "INSTALLAZIONE"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "INSTALLAZIONE" |
| A_SYN_DA_GES_DATA | 0 |
| A_SYN_DA_GES_ORA | 0 |
| A_SYN_DA_ID_SINCRO | 1 |
Qui otterremo due informazioni importanti: * Data/ora ultima esportazione da gestionale a postgres (A_SYN_DA_GES_DATA e A_SY_DA_GES_ORA) * Prossimo ID sincronizzazione da memorizzare sulla tabella (A_SYN_ID_SINCRO) B.2 - Esportazione parametri su INSTALLAZIONE I parametri da aggiornare, e loro provenienza, sono indicati in https://docs.google.com/document/d/17TWDwJVVUjT_75ZBcf0cK4vUlTqE4xVK7X1T9gIuCJ4/edit Per ciascun parametro si dovrà creare o aggiornare un record sulla tabella "INSTALLAZIONE":
| Dato | Contenuto |
|---|---|
| A-INST-AZIENDA | Codice azienda |
| A-INST-PARAMETRO | Il parametro in elaborazione |
| A-INST-PROG | 0 |
| A-INST-VALORE-X | Valorizzare uno di questi dati in base al Tipo definito nella tabella parametri |
| A-INST-VALORE-N | |
| A-INST-VALORE-D | |
| A-INST-AGG-APP | " " |
| A-INST-FL-CANC | " " |
| A-INST-ID-SINCRO | Il prossimo id sincro |
B.9 - Aggiornamento id syncro Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "INSTALLAZIONE" |
| A_SYN_DA_ID_SINCRO | Ultimo id sincro + 1 |
Comportamento su server SaaS collegato (TASK-5511)¶
Contesto. I parametri di ambiente DIR-ROOT, DIR-SYS, DIR-LNG, DIR-RUNTIME esportati su
INSTALLAZIONE rappresentano i percorsi dell'installazione locale del gestionale. Quando l'azienda
gira su un server SaaS collegato, questi percorsi locali non hanno significato per l'ambiente
remoto e non devono essere sincronizzati (anzi, un record residuo puo' fuorviare i rilasci
automatici).
Rilevamento. All'avvio dell'elaborazione il programma legge la tabella aziende ARPAZIEN
(sub-cfg-rd-arpazien) per il codice azienda in configurazione e verifica il campo
razi-server-saas: se valorizzato (diverso da spazi), imposta il flag interno w-fl-server-saas = "S".
Logica. Per ciascuno dei parametri DIR-ROOT, DIR-SYS, DIR-LNG, DIR-RUNTIME:
- se
w-fl-server-saas = "S": il record corrispondente suINSTALLAZIONEviene cancellato se presente (letturasub-cfg-rd-installazioniseguita dasub-cfg-del-installazioni), invece di essere scritto/aggiornato con il percorso locale; - altrimenti (installazione tradizionale): resta invariata la logica precedente (crea il record se
assente, oppure lo aggiorna se il valore e' cambiato, incrementando
tm-id-sincroe il contatore esportazionitm-r-esp).
Nuova variabile: w-fl-server-saas PIC X(01) (flag locale "server SaaS collegato").
Esportazione BUILD e numero licenze (TASK-5715)¶
Contesto. Per automatizzare i controlli sui rilasci, oltre ai percorsi di installazione il
programma ora esporta su INSTALLAZIONE anche la build del runtime attualmente installata e il
numero di licenze configurate. Entrambi i valori vengono letti da file di testo dell'ambiente e
riversati come nuovi parametri.
Parametro BUILD. Il programma compone il percorso relinfo.txt nella directory di menu
(ext-mnu-dir + ext-os-slash + relinfo.txt), lo apre come file line sequential (nuovo file
logico RELINFO, copybook relinfo.fd/relinfo.cpy) e ne scorre le righe cercando la chiave
BuildFine; il relativo valore (inf-dato) viene memorizzato in w-build-att. Se valorizzato,
crea/aggiorna su INSTALLAZIONE il record con A-INST-PARAMETRO = "BUILD" valorizzando il campo
testo (A-INST-VALORE-X), con la consueta gestione id-sincro e contatore esportazioni.
Parametro NR-LIC. Il numero di licenze viene letto dal file licenze (nuovo paragrafo
load-licfile): il percorso e' preso dalla variabile d'ambiente LICFILE, oppure, se non
impostata, da ext-cnf-dir + ext-os-slash + licfile.txt. Il file viene aperto come line
sequential (file logico ASCIIFILE) e scorso riga per riga (rdnxt-asciifile); le righe che
iniziano con # sono ignorate (commenti), le altre vengono spezzate su = in tag/valore e, per il
tag num (case-insensitive), il valore numerico (function numval) viene assegnato a lic-num.
Se lic-num e' diverso da zero, crea/aggiorna su INSTALLAZIONE il record con
A-INST-PARAMETRO = "NR-LIC" valorizzando il campo numerico (A-INST-VALORE-N).
Nuovi file logici: RELINFO (relinfo.txt, relinfo.fd/relinfo.cpy) e ASCIIFILE
(licfile.txt, record asc-rec PIC X(250)), entrambi line sequential e dichiarati nelle
declaratives.
Nuovi paragrafi: rdnxt-asciifile (lettura sequenziale del file licenze), load-licfile
(apertura/parsing del file licenze).
Estratto da documentazione interna ClickUp