Gruppi aziende - Sincronizzazioni, utilita' e gestione AREAGATE¶
Questa sezione raccoglie i programmi di sincronizzazione manuale (GRS*), le utilita' comuni, la sincronizzazione Area-Postgres (SWA/SWN), la gestione AGLANCIO e le istanze.
Sincronizzazioni manuali¶
Programmi che, sfruttando la gestione aziende, possono sincronizzare direttamente altre aziende, senza motori intermedi, ma su richiesta diretta di un operatore.
Vedi: * Sincronizzazione nominativi CRM per Plastic Metal / Flli Virginio * Sincronizzazione documenti magazzino e tabelle collegate per Progresso
GRS010 - Sincronizzazione nominativi¶
Posizione nel menu: Programma non a menu
Sottoprogramma che permette di sincronizzare i nominativi CRM all'interno di un gruppo aziende.
NB: per il momento non sincronizza l'anagrafica cliente/fornitore collegata.
Implementare gia' una gestione log procedura in modo che sia debuggabile con facilita' (vedi GESDEBUG.CPY).
Utilita' comuni¶
GRSS01 - Ricerca abilitazione azienda ad import/export¶
Sottoprogramma che ha lo scopo di restituire ad un programma chiamante (un programma GRS*) se l'azienda attiva e' abilitata all'esportazione, e a quali aziende puo' esportare.
Sincronizzazioni con utilizzo abilitazioni¶
I programmi qui descritti utilizzano anche le abilitazioni previste dalle apposite funzioni.
Diamo per scontato che queste funzioni vengano innescate dall'azienda da cui deve partire una sincronizzazione: se l'azienda non e' abilitata al gruppo di informazioni, allora uscira' senza fare nulla.
Classi di informazioni gestite¶
| Codice | Descrizione | Gruppo classi | Descrizione | Programma |
|---|---|---|---|---|
| A01 | Anagrafiche clienti/fornitori | ANA-CF | Anagrafiche clienti/forni | GRSA01 |
| M01 | Documenti magazzino generici | DOC-MAG | Documenti magazzino | GRSM01 |
| M02 | Causali bolla | TAB-MAG | Tabelle di magazzino | GRSM02 |
| M03 | Codici pagamento | TAB-MAG | Tabelle di magazzino | GRSM03 |
| M04 | Condizioni pagamento | TAB-MAG | Tabelle di magazzino | GRSM04 |
| M05 | Brand | TAB-MAG | Tabelle di magazzino | GRSM05 |
| M06 | Magazzini principali (sedi) | TAB-MAG | Tabelle di magazzino | GRSM06 |
| M07 | Magazzini secondari | TAB-MAG | Tabelle di magazzino | GRSM07 |
| M08 | Merci e prestazioni | MERCI | Merci e prestazioni | GRSM08 |
Note su gestione log¶
Le scritture avvengono sull'ambiente origine, a meno che non si agisca sulle variabili di ambiente che governano l'apertura dei files: * I nomi dei file di log usano come prefisso EXT-LOG-DIR
Per il momento e' consigliabile non modificare EXT-LOG-DIR e disattivare la scrittura del log di tabelle durante la sincronizzazione.
Preparazione ambienti e attivazione sincronizzazione¶
Parametri su anagrafica azienda: * Azienda "Attiva" * "Percorso base azienda": deve contenere il percorso degli archivi dell'azienda * "Path ID azienda": parte del percorso base che identifica l'azienda stessa
Abilitazioni: * L'azienda che esporta deve appartenere ad un gruppo aziende abilitato all'esportazione * L'azienda che importa deve avere il flag "Importazione" attivo
Sincronizzazione iniziale: programma GRSTART con approccio 2.b (GRSTART esegue il loop e innesca il sottoprogramma "n" volte).
Programmi di sincronizzazione (GRS*)¶
GRS000 - Schedulazione di sincronizzazioni¶
Programma per la sincronizzazione differita tra aziende del gruppo. Viene completamente revisionato come schedulatore di sincronizzazioni (Edit 07/12/2023).
Il processo parte solo se la configurazione gruppo-aziende e' attiva.
GRSM01 - Sincronizzazione documenti di magazzino¶
Sincronizza i documenti di magazzino tra le aziende del gruppo (prevista anche la cancellazione fisica). I magazzini nelle aziende del gruppo dovranno avere lo stesso codice.
Logica di distribuzione: da Gruppo (dove vengono inseriti i documenti) a una singola Consorziata (quella relativa all'azienda collegata al documento).
I dati relativi a lotti e/o serial number non saranno sincronizzati.
GRSM02 - Sincronizzazione tabelle¶
Sincronizza la tabella di raccordo tra aliquote IVA e articoli esenzione.
GRSM03 - Sincronizzazione codici di pagamento¶
Sincronizza la tabella di raccordo tra aliquote IVA e articoli esenzione, tramite la lettura del log di aggiornamento.
GRSM04 - Sincronizzazione condizioni di pagamento¶
Sincronizza le condizioni di pagamento (prevista cancellazione fisica). Stesso codice tra aziende del gruppo.
GRSM05 - Sincronizzazione brand¶
Sincronizza le causali bolla (prevista cancellazione fisica). Stesso codice tra aziende del gruppo.
GRSM06 - Sincronizzazione magazzini principali¶
Sincronizza i magazzini principali (prevista cancellazione fisica). Stesso codice/perform.
GRSM07 - Sincronizzazione magazzini secondari¶
Sincronizza i magazzini secondari (prevista cancellazione fisica). Stesso codice/perform.
GRSM08 - Sincronizzazione merci e prestazioni¶
Sincronizza le merci (prevista cancellazione fisica). Stesso codice/perform.
GRSM09 - Sincronizzazione tabelle CMA¶
Sincronizza il contenuto delle tabelle "CMA" (prevista cancellazione fisica). Per il momento solo aggiornamento di una tabella completa.
GRSM10 - Sincronizzazione dati locali aziende¶
Sincronizza i dati relativi alle "aziende gruppo" che non sono contenuti in GRPAZIEN (che non va sincronizzato in quanto tabella comune).
Se GRSM10-AZIENDA e' valorizzato, tra le aziende restituite da GRSS01 considerare solo questa.
GRSA01 - Sincronizzazione clienti e fornitori¶
Sincronizza le anagrafiche clienti/fornitori (prevista cancellazione fisica).
GRSTART - Allineamento iniziale azienda¶
Programma da eseguire una-tantum ogni volta che una nuova azienda deve essere sincronizzata. Esegue un loop sugli oggetti interessati e forza la sincronizzazione tramite chiamata al sottoprogramma per ciascun oggetto.
UTILGRSYNC - Linkage comune¶
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | GRSYNC-OPE | x(20) | Operazione (usato nei processi con giro di controllo record cancellati) |
| GRSYNC-KEY | x(256) | Chiave da elaborare | |
| GRSYNC-DATA | 9(08) | Data/ora da cui iniziare la sincronizzazione | |
| GRSYNC-ORA | 9(08) | ||
| GRSYNC-AZIENDA-A | x(04) | Azienda su cui sincronizzare | |
| GRSYNC-PATH-DA | x(20) | Path univoco azienda di partenza | |
| GRSYNC-PATH-A | x(20) | Path univoco azienda di destinazione | |
| FILLER | x(500) |
Nuova modalita' con gestione istanze¶
Per rendere piu' flessibile la nuova modalita' di sincronizzazione, si introduce il concetto delle istanze: la possibilita' di lanciare piu' sessioni contemporanee di AGLANCIO, ognuna eseguira' i processi marcati con quella istanza.
L'istanza e' definita con un codice numerico da 0 a 99.
Istanze riservate¶
Le istanze >= 90 sono riservate:
| ID istanza | Descrizione | Id processo dedicati | Classe istanza | Note |
|---|---|---|---|---|
| 0..79 | Istanze standard | W (Sync std) | Processi standard | |
| 80..89 | Processi "a schedulazione fissa" | F (Sched fisse) | Processi a schedulazioni fisse non in altre istanze speciali | |
| 90 | Processi di pulizia | 40000->49999 | P (Pulizie) | |
| 91 | Processi customizzati | >90000 | C (Custom) | Creati come "non attivi" (specifici per un cliente) |
| 92 | Sincronizzazioni con SW-ING | 50000->50999 | S (Sync Swing) | Creati come "non attivi" |
| 99 | Sincronizzazioni con db frontiera | 51000->51999 | F (Sync DBF) | Creati come "non attivi" |
Processi senza istanza: 100000->199999 (web-service di connessione con il db C00000).
Tabelle interessate all'operazione¶
| Tabella | Contenuto |
|---|---|
| ARPAZIEN | Record per azienda; informazioni generali e statistiche |
| ISTANZESYNC | Un record per ciascuna istanza per azienda, con dati statistici e keepalive specifico |
| ARPSTPRC | Una riga per ciascun processo/azienda (rimane invariata) |
| AGLSTORICOISTANZA | Record per azienda/istanza/data con dati statistici |
Gestione accensione/spegnimento AGLANCIO (con istanze)¶
Il motore AGLANCIO viene eseguito sul server usando WRUN32 (Windows) o RUNCBL (Linux).
GESSTPRC effettuera' l'operazione su tutte le istanze presenti.
Files di controllo (con suffisso "-ist" per il numero istanza):
| File | Descrizione |
|---|---|
| aglancio-alive-ist.txt | Indica che l'istanza e' attiva |
| aglancio-check-ist.txt | Usato dallo script per verificare attivita' |
| aglancio-spegni-ist.txt | Richiesta di spegnimento per l'istanza |
| aglancio-accendi-ist.txt | Richiesta di accensione per l'istanza |
| aglancio-restaspento-ist.txt | Evita l'accensione automatica |
| aglancio-versione.txt | Contiene la versione script (attuale: 3) |
| aglancio-istanze.txt | Contiene le istanze attive per l'ambiente |
L'istanza "0" non aggiunge il suffisso nei files per compatibilita'.
Spegnimento/riattivazione da host (con istanze)¶
Il procedimento non cambia: tutte le attivita' di accensione/spegnimento dovranno essere effettuate contemporaneamente per tutte le istanze attive.
Tabella stati:
| Evento | ATTIVA-AREAAPP | RAZI-ATTIVA-SINCRO | RAZI-SWITCH-ONOFF |
|---|---|---|---|
| Sistema "spento" | "N" | " " | " " |
| Si attiva il sistema | "S" | " " | " " |
| AGLANCIO esporta e inizia ad operare | "S" | "S" | " " |
| Sistema attivo | "S" | "S" | " " |
| Disattivazione da gestionale | "N" | "S" | " " |
| AGLANCIO si ferma | "N" | "N" | " " |
| Areagate richiede spegnimento | "S" | "S" | "OFF" |
| Areagate richiede accensione | "N" | "N" | "ON" |
SWLIVE - Mantenimento istanza "live"¶
Nome programma: SWLIVE
Programma richiamato dai processi SW*CBL "critici", quando si sospetta che la durata sia tale da far scambiare il processo per spento da "lancio_ambienti".
Due modalita' di esecuzione: * AGPRG-OPE = "COMPLETA": aggiornamento ISTANZESYNC + creazione AGLANCIO-CHECK.TXT * AGPRG-OPE = "RIDOTTA": solo creazione AGLANCIO-CHECK.TXT
SWA068 - Sincronizzazione tecnici¶
Nome programma: SWA068 -- Id processo: 1 -- Nome processo: TECNICI
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGANATN, COGRIFER, PRNTOPE2, COGANAT2 | ARPTECNI | -----> |
Esportazione della tabella "Tecnici" (solo da gestionale).
Esportazione differenziale gestita ma non ottimizzata (non esiste una chiave diretta per ottenere solo i record aggiornati).
Per ciascun tecnico si cercano i record collegati su COGRIFER, PRNTOPE2 e COGANAT2, e si aggiorna ARPTECNI.
Gestione speciale dell'esportazione codice azienda (RBRIF-GRP-AZ-COD) tramite ricerca su COGTECST e COGAZGRP.
SWA069 - Informazioni CRM/checklist¶
Nome programma: SWA069 -- Id processo: 3 -- Nome processo: INFO-CRM
| AREA | AREAGATE | Direzione |
|---|---|---|
| CRMINFOR | ARPINFOR | -----> |
| ASNINFOR | ARPINFOR | <----> |
Esportazione delle informazioni CRM e delle informazioni "check-list".
Importazione delle informazioni CRM relative a informazioni inserite/aggiornate/cancellate su APP.
Esportazione: id sincro gestito, esportazione differenziale gestita ma non ottimizzata. Include sia CRMINFOR che ASNINFOR come sorgenti.
Per il momento la verifica dei record cancellati non e' implementata per motivi di performance.
Estratto da documentazione interna ClickUp