SWN069 - Configurazioni¶
Nome programma SWN069 Linkage section UTILAGPRG - Linkage comune Id processo: 69 Nome processo: CONFIG Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGCNF | ARPCONFIG | ------> |
| COGAZIEN | ARPCONFIG | -----> |
Logica generale Sincronizzazione delle configurazioni dell'applicazione gestionale che devono essere usate anche sull'ambiente WEB. Esportazione Esportazione di tutti i record effettivamente modificati (con dati variati). Importazione Prevista per alcune configurazioni specifiche Configurazioni possibili
| Gruppo | Parametro | nnNote |
|---|---|---|
| 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: ARPCONFIG Se fallita inviare una Segnalazione critica e chiudere. C - Importazione aggiornamenti Per il momento è possibile importare solo alcune configurazioni specifiche, qui elencate
| RCFG-PACK | RCFG-PROG | RCFG-PARAM-KEY |
|---|---|---|
| C | clipot | gestione-schede-areagate |
| C | clipot | numerazione-web-nominativi |
| C | stampe | ar-vers-att-footer |
| C | stampe | ar-vers-att-header |
| C | areaapp | server-web |
| C | areaapp | webcon-token |
Per ciascuna configurazione importare tutti i record trovati relativi alle configurazioni indicate Se il record è cancellato logicamente effettuare la cancellazione fisica del record su COGCNF, altrimenti inserirlo o modificarlo, solo se RCFG-AGG-APP = 'A'. 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: non 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 "ARPCONFIG"; se il record non esiste, crearlo impostando
| Dato | Contenuto | |
|---|---|---|
| A_SYN_AZIENDA | Codice azienda | |
| A_SYN_TABELLA | "ARPCONFIG" | |
| A_SYN_DA_GES_DATA | 0 | |
| A_SYN_DA_GES_ORA | 0 | |
| A_SYN_DA_ID_SINCRO | 1 | |
| A_SYN_VERSIONE | 3 |
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.1.1 Cambio versione Se la versione precedente è < 3, attivare il processo 10069 che è stato creato "non attivo" per default; aggiornare quindi il relativo record su ARPSTPRC impostando
| Dato | Contenuto |
|---|---|
| A-STPR-FL-ATTIVAZIONE | "S" |
B.2 - Ricerca record da esportare B.2.1 Ricerca record da esportare
| Tipo di elaborazione | Condizione | Cosa fare |
|---|---|---|
| Singolo record | AGPRG-KEY <> " " (conterrà CFG-CHIA1) |
Si legge direttamente il record da aggiornare su COGCNF Verrà eseguita se agg-postgres-online è attiva Se viene sincronizzato un record cancellato, verrà effettuata la cancellazione logica |
| Esportazione totale | AGPRG-ESPORTA-TUTTO = "S" | Si scorrono tutti i record di COGCNF usando CFG-CHIA1, partendo da data/ora ultimo aggiornamento |
| Esportazione standard | Si scorrono tutti i record di ASNCNTIP usando CFG-CHIA1, partendo da data/ora ultimo aggiornamento | |
| Pulizia | AGPRG-OPE = "PULIZIA" | Eseguire solo il giro di cancellazione logica B.3 quindi uscire |
Per ciascun record valido si cercano tutti i record collegati: CNFPAR Ricerca su questa tabella per ottenere il tipo di configurazione
| Dato | Contenuto |
|---|---|
| CFP-PACK | CFG-PACK |
| CFP-PROG | CFG-PROG |
| CFP-PARAM-KEY | CFG-PARAM-KEY |
Se il record non esiste skippare l'esportazione e segnalare sul log B.2.2 Verifica ed esportazione record Dopodichè si effettua la ricerca dell'informazione su ARPCONFIG
| Dato | Contenuto |
|---|---|
| RCFG-AZI | Codice azienda |
| RCFG-PACK | CFG-PACK |
| RCFG-PROG | CFG-PROG |
| RCFG-PARAM-KEY | CFG-PARAM-KEY |
| RCFG-PARAM-SUB | CFG-PARAM-SUB |
| RCFG-OPE | CFG-OPE |
| RCFG-POSTAZIONE | CFG-POST |
| RCFG-PARAM-IDX | CFG-PARAM-IDX |
Se non esiste, inserirlo. Se esiste, aggiornarlo l'aggiornamento del record deve avvenire solo se almeno un dato tra quelli da modificare è diverso. NB: se è stata richiesta l'esportazione completa (AGPRG-ESPORTA-TUTTO = "S") allora il record dovrà essere esportato a prescindere dal confronto Suggerimento Invece di popolare direttamente i dati del record di destinazione, portarli su delle copie in w/s. Al termine confrontare i dati sulla destinazione con la copia in w/s. B.2.3 Aggiornamento da COGAZIEN Al termine dell'esportazione dei dati da COGCNF, occorre esportare alcune configurazioni provenienti dall'anagrafica azienda, previste nel documento Configurazioni sincronizzate con KPN
| Dato | Contenuto | Confronto? |
|---|---|---|
| RCFG-AZI | Codice azienda | |
| RCFG-PACK | "C" | |
| RCFG-PROG | "cogazien" | |
| RCFG-PARAM-KEY | Nome campo da esportare | |
| RCFG-PARAM-SUB | " " | |
| RCFG-OPE | 0 | |
| RCFG-POSTAZIONE | " " | |
| RCFG-PARAM-IDX | 0 | |
| RCFG-VALUE-X | Il valore del campo, a seconda del tipo di configurazione (alfanumerica/numerica) | Si |
| RCFG-VALUE-N | ||
| RCFG-FORMATO | il valore indicato nel documento | |
| RCFG-FL-CANC | " " | Si |
| RCFG-ID-SINCRO | Prossimo id sincro (#) | Si |
| RCFG-AGG-APP | " " |
B.3 Verifica record cancellati Sulla tabella di origine COGCNF non esiste il flag di cancellazione logica Quindi si opererà come segue: 1. Scorrere tutti i record di ARPCONFIG per l'azienda 2. Ricerca, per ciascuno, del corrispondente record su COGCNF A questo punto la situazione potrebbe essere la seguente:
| COGCNF trovato? | RCFG-FL-CANC | Cosa fare |
|---|---|---|
| Si | "C" | Aggiornare ARPCONFIG impostando |
| Si | " " | Nessuna operazione |
| No | "C" | Nessuna operazione |
| No | " " | Aggiornare ARPCONFIG impostando |
Attenzione: In questa fase escludere la cancellazione per le configurazioni con RCFG-PACK = "W" o "R"
B.4 - Esportazione configurazioni da COGAZIEN¶
Esportare alcuni campi specifici di COGAZIEN su ARPCONFIG, vedi Private (https://app.clickup.com/9012645971/docs/8ck442k-25212/8ck442k-172612)
B.9 - Aggiornamento id syncro Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "ARPCONFIG" |
| A_SYN_DA_GES_DATA | Data/ora dell'ultimo record aggiornato |
| A_SYN_DA_GES_ORA | |
| A_SYN_DA_ID_SINCRO | Ultimo id sincro + 1 |
| A_SYN_VERSIONE | 3 |
Estratto da documentazione interna ClickUp