SWN126 - Esportazione ARPSTVEN¶
Nome programma SWN126 Linkage section UTILAGPRG - Linkage comune Id processo: 126 Nome processo: ARPSTVEN Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGTESBO COGMOMAG COGCONTR |
ARPSTVEN | ------> |
| COGTESBO COGMOMAG |
APCOGTESBO APCOGMOMAG |
Logica generale Esportazione dei movimenti di vendita su un archivio statistico Esportazione Esportazione di tutti i record effettivamente modificati (con dati variati). Importazione Non prevista ATTENZIONE Le tabelle di origine non sono ottimizzate per poter effettuare un'esportazione efficente. Pero' in questa versione cerco di renderla più performante rispetto alla versione precedente, tenendo conto anche del fatto che ora è presente l'id_sincro sulla tabella ARPSTVEN e anche il flag di cancellazione logica (necessario per rendere l'importazione su APP efficiente). Quindi: * Non si utilizza più il "periodo di esportazione", ma si gira su COGTESAP partendo dall'ultima esportazione * Per ogni documento il giro rimane simile a SWA015: non effettuiamo il confronto campo-campo come viene tipicamente fatto sugli SWN, per evitare la complicazione di dover intercettare le righe documento cancellate. Quindi per ciascun documento si effettua: * Cancellazione logica di tutte le righe * Esportazione delle righe attuali * Documenti cancellati: rimane il punto più critico, che cerco di risolvere implementando un evento di cancellazione ddt su COGEVLOG, e quindi effettuando qui la ricerca dei documenti da cancellare * Contemporaneamente all'esportazione su ARPSTVEN, viene effettuata anche l'esportazione su APCOGTESBO/APCOGMOMAG Autorizzazioni trasferimenti Se è richiesta la gestione autorizzazione su trasferimenti, quando questo programma esporta un documento "trasferimento" su APCOGTESBO/APCOGMOMAG, creerà anche i record di autorizzazione richiesti e l'invio della notifica. Nota per i trasferimenti provenienti da APP Se un trasferimento proviene da APP sarà memorizzato su ARPTRTES/ARPTRRIG, e verrà importato da SWN098 - Importazione/esportazione trasferimenti Di conseguenza, alla prossima esecuzione di questo programma il procedimento di autorizzazione avverrà naturalmente. Quindi, forse non è necessario che la APP si preoccupi di creare l'autorizzazione quando il trasferimento nasce in quell'ambiente. E' importante però che la richiesta di autorizzazione contenga, nelle note, tutte le info necessarie per l'utente che deve effettuare l'autorizzazione, perchè la richiesta di autorizzazione conterrà un solo documento collegato (per default, quello di entrata, che è quello da autorizzare). Se ad esempio viene effettuato un trasferimento da magazzino 1 a magazzino "H" (viaggiante), l'autorizzazione verrà creata a fronte del documento "H/2024/T/000123", e nelle note potrebbe comparire: "Trasferimento inviato dal magazzino '1 (sede)' " Viceversa se viene effettuato un trasferimento da magazzino "H" a magazzino "1", l'autorizzazione verrà creata a fronte del documento "1/2024/T/006532", e nelle note potrebbe comparire: "Trasferimento inviato dal magazzino 'H (Veicolo GF123XS)' " Nel caso in cui l'autorizzazione venga rifiutata, la funzione di autorizzazione dovrà creare un trasferimento contrario a quello originale, che non dovrà essere soggetto ad autorizzazione: dovremo aggiungere un apposito campo su ARPTRTES. Quindi questo programma potrà leggere il record prima di esportare, e decidere se creare l'autorizzazione. Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| abilita | attiva-areaapp | |
| areaapp | cod-azienda | |
| areaapp | db-conn-string | |
| areaapp | agg-postgres-online | |
| gestbuonip | causale-contanti-1 | |
| gestbuonip | causale-contanti-2 | |
| bint | no-merci-bi0009 | |
| bint | cod-merce-bi0009 | |
| bint | n-mesi-bi0009 |
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: ARPSTVEN Se fallita inviare una Segnalazione critica e chiudere. A.3 Ricerca abilitazione alle autorizzazioni Effettuare una ricerca su CFGAUTORIZZAZIONI:
| Dato | Contenuto |
|---|---|
| C-AUT-AZIENDA | Azienda attiva |
| C-AUT-DOC-CLASSE | K-DOC-TIP-DOC-MAG-GEN |
| C-AUT-DOC-SUDD | "TR" |
Se il record esiste, e C-AUT-ABILITA <> "N ", allora la gestione abilitazioni sui trasferimenti è attiva Qui è presente anche il flag C-AUT-FL-NOTIFICA; se vale "S" si dovrà gestire anche l'invio di una notifica, come spiegato sotto. B - Esportazione informazioni aggiornate * ID SINCRO: gestito * Esportazione differenziale: gestita e ottimizzata * Cancellazione logica: gestita In questa fase si dovrà tenere conto di * Limite record * Limite errori * "Esporta tutto" B.1 - Stato sincronizzazione ARPSTVEN Sulla tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "ARPSTVEN"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "ARPSTVEN" |
| A_SYN_DA_GES_DATA | 0 |
| A_SYN_DA_GES_ORA | 0 |
| A_SYN_DA_ID_SINCRO | 1 |
| A-SYN-VERSIONE | 2 |
Qui otterremo due informazioni importanti: * Data/ora ultima esportazione da gestionale a postgres (A_SYN_DA_GES_DATA e A_SY_DA_GES_ORA) * Questa informazione vale anche per l'esportazione su APCOGTESBO/APCOGMOMAG * Prossimo ID sincronizzazione da memorizzare sulla tabella (A_SYN_ID_SINCRO) NB: Per ottimizzare la prima elaborazione, se data/ora ultimo aggiornamento è vuoto verrà forzato con il numero di giorni configurati in "bint"-"n-mesi-bi0009" APCOGTESBO Sulla tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "APCOGTESBO"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "APCOGTESBO" |
| A_SYN_DA_GES_DATA | 0 |
| A_SYN_DA_GES_ORA | 0 |
| A_SYN_DA_ID_SINCRO | 1 |
| A-SYN-VERSIONE | 2 |
Qui otterremo solo il p.rossimo ID sincronizzazione da memorizzare sulla tabella (A_SYN_ID_SINCRO) Data/ora prossimo aggiornamento sono gli stessi di ARPSTVEN (in fase di aggiornamento comunque li aggiorneremo anche qui) B.2 - Ricerca record da esportare B.2.1 Ricerca record da esportare
| Tipo di elaborazione | Condizione | Cosa fare |
|---|---|---|
| Singolo record | AGPRG-KEY <> " " (tes-chia3) |
Si legge direttamente il documento da aggiornare su COGTESBO 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 COGTESBO; ogni record va considerato |
| Esportazione standard | Si scorrono tutti i record di COGTESAP, usando la chiave TSA-CHIA3, partendo da A-SYN-DA-GES-DATA+A-SYN-DA-GES-ORA | |
| Pulizia | AGPRG-OPE = "PULIZIA" | Non prevista |
Ciascun record letto corrisponde ad un documento; B.2.1.1 Controlli documento ARPSTVEN Il documento viene considerato se: * La causale del documento è da fatturare * Per K-PERSONAL-SGARBI considero anche le causali configurate causale-contanti-1 e causale-contanti-2 * Il documento è intestato a un cliente (TES-TIPOCF = 'C') APCOGTESBO/APCOGMOMAG Tutti i documenti vengono considerati B.2.2 Documento valido B.2.2.1 Cancellazione logica righe ARPSTVEN Effettuare la cancellazione logica delle righe presenti su ARPSTVEN, effettuando la selezione delle righe tramite una query: SELECT * FROM arpstven WHERE arpsve-azi = azienda AND arpsve-key-maga = tes-chia3 "con separatori" AND SET arpsve_fl_canc <> 'C' Per ciascun movimento trovato effettuare la cancellazione logica:
| Nome campo | Note |
|---|---|
| ARPSVE_ID_SINCRO | Id sincro progressivo |
| ARPSVE_FL_CANC | "C" |
APCOGTESBO/APCOGMOMAG Effettuare la cancellazione fisica delle righe presenti su APCOGMOMAG tramite una query: DELETE FROM APCOGMOMAG WHERE a-mag-azi = azienda AND a-mag-mag = tes-mag AND a-mag-ann = tes-anno AND a-mag-tip = tes-tipob AND a-mag-num = tes-bolla3 B.2.2.2 Esportazione testata documento ARPSTVEN Non previsto APCOGTESBO/APCOGMOMAG Verifichiamo se il documento inserito/aggiornato è già stato esportato, con una ricerca diretta su APCOGTESBO, usando A_TES_CHIA1, impostando:
| Nome campo | Contenuto |
|---|---|
| A_TES_AZIENDA | azienda in elaborazione |
| A_TES_MAG | TES-CHIA3 |
| A_TES_ANN | |
| A_TES_TIP | |
| A_TES_NUM |
Se il record esiste dovrà essere aggiornato, altrimenti inserito; in ogni caso i campi da aggiornare sono gli stessi:
| Dato | Descrizione |
|---|---|
| A_TES_AZIENDA | Codice azienda |
| A_TES_MAG | TSA-CHIA1 |
| A_TES_ANN | |
| A_TES_TIP | |
| A_TES_NUM | |
| A_TES_ANA_NONNO | TES-NONNO |
| A_TES_ANA_PADRE | TES-PADRE |
| A_TES_RIFLISTINO | TES-RIFLISTINO |
| A_TES_CAUSALE | TES-CAUSALE |
| A_TES_DATA | TES-DATA |
| A_TES_RAGGR | TES-RAGGRUPP |
| A_TES_PAG | TES-PAG1 |
| A_TES_RB | TES-RB |
| A_TES_CURRENCY | TES-CURRENCY |
| A_TES_IMP_PAGATO | 0 |
| A_TES_FL_CREA_FAT | "N" |
| A_TES_FATTURA_SPEDITA | "N" |
| A_TES_NOME_FATTURA | " " |
| A_TES_FL_CANC | " " |
| A_TES_ID_SINCRO | Nuovo id di sincronizzazione |
| A_TES_AGG_APP | "N" |
B.2.2.3 Ricerca movimenti su COGMOMAG Per il documento in esame si ricercano i movimenti su COGMOMAG ARPSTVEN Per ciascun movimento effettuare la ricerca su ARPSTVEN, e l'eventuale inserimento o aggiornamento:
| Nome campo | Note |
|---|---|
| ARPSVE_AZI | Codice azienda |
| ARPSVE_KEY_FATTU | Chiave fattura eventualmente collegata al documento, nel formato "CL/2022/0012345", altrimenti vuoto |
| ARPSVE_KEY_MAGA | Chiave bolla nel formato "1/2022/I/000123" |
| ARPSVE_MAG_PROG | MAG-PROG |
| ARPSVE_CAGE | TES-MAG |
| ARPSVE_CLI | Cliente (es. "C00123") |
| ARPSVE_DATA | TES-DATA |
| ARPSVE_DATA_AGG | Data sistema |
| ARPSVE_SERVIZIO | MAP-REPARTO |
| ARPSVE_DIVISIONE | " " |
| ARPSVE_LINEA | " " |
| ARPSVE_MERCE | MAG-MERCE3 |
| ARPSVE_QTA | Quantità movimento, se previsto dal tipo statistico dell'anagrafica merci (MA2-TIPO-STAT) |
| ARPSVE_IMP_VEN | MAG-VALORE |
| ARPSVE_IMP_ACQ | MAG-QTAMAGAZ * MER-PMA |
| ARPSVE_DATA_BOLLA | TES-DATA |
| ARPSVE_TRASP_AGE | '0 |
| ARPSVE_OMAGGIO | " " |
| ARPSVE_PREZZO | MAG-PREZZO |
| ARPSVE_PREZZO_NO_SCONT | MAG-PRE-NO-SCO |
| ARPSVE_PREZZO_LISTINO | Il prezzo di listino della merce alla data |
| ARPSVE_SCONTO | MAG-SCO-1 |
| ARPSVE_PREZZO_MEDIO_ACQ | MER-PMA |
| ARPSVE_ID_SINCRO | Id sincro progressivo |
| ARPSVE_FL_CANC | " " |
APCOGTESBO/APCOGMOMAG Per ciascun movimento effettuare l'inserimento su APCOGMOMAG
| Dato | Descrizione |
|---|---|
| A_MAG_AZIENDA | Codice azienda |
| A_MAG_MAG | MAG-CHIAP |
| A_MAG_ANN | |
| A_MAG_TIP | |
| A_MAG_NUM | |
| A_MAG_PROG | |
| A_MAG_MERCE | MAG-MERCE3 |
| A_MAG_SEGNO | MAG-ENTRUSC |
| A_MAG_UM | MER-UM |
| A_MAG_QTA | MAG-QTAMAGAZ |
| A_MAG_PRE_LOR | MAG-PRE-NO-SCO |
| A_MAG_SCO_1 | MAG-SCO-1 |
| A_MAG_SCO_2 | MAG-SCO-1 |
| A_MAG_PRE_NET | MAG-PREZZO |
| A_MAG_VALORE | MAG-VALORE |
| A_MAG_COLLI | MAG-COLLI |
| A_MAG_FL_PROMO | " " |
| A_MAG_LOTTO_ESTERNO | " " |
| A_MAG_IVA | MAG-ALF |
B.2.2.3 Ricerca movimenti su COGCONTR ARPSTVEN Questa parte si esegue solo se la configurazione merci-bi0009 vale "S", e se la configurazione cod-merce-bi0009 è significativa Per il documento in esame si ricercano i movimenti su COGCONTR Per ciascun movimento effettuare la ricerca su ARPSTVEN, e l'eventuale inserimento o aggiornamento:
| Nome campo | Note |
|---|---|
| ARPSVE_AZI | Codice azienda |
| ARPSVE_KEY_FATTU | Chiave fattura eventualmente collegata al documento, nel formato "CL/2022/0012345", altrimenti vuoto |
| ARPSVE_KEY_MAGA | Chiave bolla nel formato "1/2022/I/000123" |
| ARPSVE_MAG_PROG | CON-PROG |
| ARPSVE_CAGE | TES-MAG |
| ARPSVE_CLI | Cliente (es. "C00123") |
| ARPSVE_DATA | TES-DATA |
| ARPSVE_DATA_AGG | Data sistema |
| ARPSVE_SERVIZIO | " " |
| ARPSVE_DIVISIONE | " " |
| ARPSVE_LINEA | " " |
| ARPSVE_MERCE | La merce configurata in cod-merce-bi0009 |
| ARPSVE_QTA | Quantità movimento CON-QTA |
| ARPSVE_IMP_VEN | CON-VALORE |
| ARPSVE_IMP_ACQ | CON-QTA * MER-PMA |
| ARPSVE_DATA_BOLLA | TES-DATA |
| ARPSVE_TRASP_AGE | '0 |
| ARPSVE_OMAGGIO | " " |
| ARPSVE_PREZZO | CON-PREZZO |
| ARPSVE_PREZZO_NO_SCONT | CON-PREZZO |
| ARPSVE_PREZZO_LISTINO | CON-PREZZO |
| ARPSVE_SCONTO | 0 |
| ARPSVE_PREZZO_MEDIO_ACQ | 0 |
| ARPSVE_ID_SINCRO | Id sincro progressivo |
| ARPSVE_FL_CANC | " " |
APCOGTESBO/APCOGMOMAG Non previsto B.2.3 Esportazione autorizzazione B.2.3.1 Esportazione autorizzazione trasferimenti Se il documento non è un trasferimento, o se la gestione autorizzazioni sui trasferimenti non è attiva (vedi sopra), saltare questa sezione Consideriamo per ora solo i trasferimenti "interni", contraddistinti da TES-TIPOB = 'T' Ricerca documento complementare Il trasferimento è composto da due documenti collegati tra di loro; il secondo è presente negli ultimi 12 caratteri di TES-DESCR1 (vedi COGMAE). Trasferimento da Web Come prima cosa cerchiamo se il trasferimento proviene da APP: in questo caso sarà presente su ARPTRTES, e dovremo cercarlo: 1. Con il documento in esame 2. Se non trovato, con il documento complementare. La ricerca verrà fatta con una semplice query: SELECT * FROM arptrtes WHERE a_trtes_azi = azienda AND a_trtes_key_sede = documento Se il record viene trovato, e A_TRTES_ESCLUDI_AUT = "S", saltare la parte successiva della sezione Determinazione del documento di entrata Ora, se il documento è da autorizzare, dobbiamo identificare quale dei 2 è quello di entrata: quindi, per ciascuno dei due documenti, cercare la prima riga su COGMOMAG e valutare il segno MAG-ENTRUSC Creazione autorizzazione/i Tramite una query, effettuare la cancellazione logica di tutte le autorizzazioni collegate al documento ancora da valutare: UPDATE tbautorizzazioni SET a_aut_fl_canc = 'C' WHERE a_aut_azienda = azienda AND a_aut_doc_key = documento_entrata AND a_aut_stato = 'I' Dopodichè per tutte le righe del documento di entrata, cercare se esiste il record autorizzazione, con una ricerca diretta con chiave 3
| Nome campo | Contenuto |
|---|---|
| A-AUT-AZIENDA | Azienda attiva |
| A-AUT-DOC-CLASSE | K-DOC-TIP-DOC-MAG-GEN |
| A-AUT-DOC-KEY | MAG-TESTA |
| A-AUT-DOC-RIGA | MAG-PROG |
Se il record esiste, l'autorizzazione esiste già; quindi: * Se cancellata, riattivarla impostando A-AUT-FL-CANC = " " * Se non cancellata non fare niente Se invece il record non esiste, inserirlo
| Nome campo | Contenuto |
|---|---|
| A-AUT-AZIENDA | Azienda attiva |
| A-AUT-ID | Id autoincrementante |
| A-AUT-DOC-CLASSE | K-DOC-TIP-DOC-MAG-GEN |
| A-AUT-DOC-KEY | MAG-TESTA |
| A-AUT-DOC-RIGA | MAG-PROG |
| A-AUT-RIC-DATA | TES-DATA |
| A-AUT-RIC-OPE | Operatore collegato al magazzino di uscita Vedi sotto |
| A-AUT-RIC-NOTE | " " |
| A-AUT-DST-OPE | Operatore collegato al magazzino di entrata Vedi sotto |
| A-AUT-DST-GRP | " " |
| A-AUT-STATO | "I" |
| A-AUT-ID-SINCRO | Primo id sincro disponibile (Ricerca e aggiornamento immediato) |
| A-AUT-FL-CANC | " " |
Ricerca operatore collegato al magazzino di uscita Se il magazzino di uscita è di tipo "Viaggiante" (MAGZ-FL-TIP = "V"), allora l'operatore che richiede l'autorizzazione al magazzino ricevente, è quello collegato al magazzino di uscita stesso; quindi: * Ricerca del veicolo a cui è associato il magazzino (ASNVEICL.AVEI-MAG) * Ricerca del tecnico a cui è associato il veicolo: scansione sequenziale su COGANAT2 fino a trovare ATN2-VEICOLO = AVEI-TARGA * Trovato il tecnico si preleva il codice opertore presente su COGANATN.ATN-OPE-COD Se invece il magazzino di uscita non è "Viaggiante", si ottiene il destinatario da CFGAUTORIZZAZIONI: * C-AUT-DST-OPE: se significativo, sarà questo operatore * C-AUT-DST-GRP: se significativo, saranno tutti gli operatori collegati al gruppo (ricerca su PRNTGROD) NB: Diamo per scontato che: * Sia attiva la gestione "Assist" * I magazzini viaggianti sono di tipo "Interno"; se si dovesse usare in ambienti come "Progresso" si dovranno effettuare le implementazioni per la ricerca su magazzino secondario. Ricerca operatore collegato al magazzino di entrata Se il magazzino di entrata è di tipo "Viaggiante" (MAGZ-FL-TIP = "V"), allora l'operatore che deve autorizzare è quello collegato al magazzino stesso; quindi: * Ricerca del veicolo a cui è associato il magazzino (ASNVEICL.AVEI-MAG) * Ricerca del tecnico a cui è associato il veicolo: scansione sequenziale su COGANAT2 fino a trovare ATN2-VEICOLO = AVEI-TARGA * Trovato il tecnico si preleva il codice opertore presente su COGANATN.ATN-OPE-COD Se invece il magazzino di entrata non è "Viaggiante", si ottiene il destinatario da CFGAUTORIZZAZIONI: * C-AUT-DST-OPE: se significativo, sarà questo operatore * C-AUT-DST-GRP: se significatico, saranno tutti gli operatori collegati al gruppo (ricerca su PRNTGROD) NB: Diamo per scontato che: * Sia attiva la gestione "Assist" * I magazzini viaggianti sono di tipo "Interno"; se si dovesse usare in ambienti come "Progresso" si dovranno effettuare le implementazioni per la ricerca su magazzino secondario. Creazione notifica Se viene creata almeno una riga di autorizzazione per un documento, ed è abilitata la creazione della notifica su CFGAUTORIZZAZIONI, effettuare la creazione di uno o più record su ARPNOTIFICHE: * 1 record se il magazzino è viaggiante, quindi il trasferimento è assegnato ad un tecnico * "n" record se il magazzino non è viaggiante quindi il trasferimento è assegnato all'operatore o al gruppo configurati su CFGAUTORIZZAZIONI
| Nome campo | Contenuto |
|---|---|
| ANTP-ID | Id autoincrement |
| ANTP-AZI | Azienda attiva |
| ANTP-CLASSE | "AU" |
| ANTP-ID-OGGETTO | A-AUT-ID (Il primo id per il documento) |
| ANTP-ID-TECNICO | |
| ANTP-TIP | 1 |
| ANTP-EMAIL |
B.3 - Ricerca documenti cancellati Scorrere COGEVLOG per gli eventi di tipo k-evl-canc-cogtesbo (vedi SWN117) Per ciascun record esistente: ARPSTVEN * Controllare se il documento è ancora esistente su COGTESBO (potrebbe essere stato ricreato nel frattempo) * Se non esiste, effettuare il ciclo di cancellazione logica di tutti i movimenti, come al punto B.2.2.1 APCOGTESBO/APCOGMOMAG * Controllare se il documento è ancora esistente su COGTESBO (potrebbe essere stato ricreato nel frattempo) * Se non esiste, effettuare la cancellazione logica su APCOGTESBO
| Nome campo | Contenuto |
|---|---|
| A_TES_FL_CANC | "C" |
| A_TES_ID_SINCRO | Nuovo ID sincro progressivo |
| A_TES_AGG_APP | "N" |
Al termine cancellare il record di COGEVLOG B.9 - Aggiornamento id syncro ARPSTVEN aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A-SYN-AZIENDA | Codice azienda |
| A-SYN-TABELLA | "ARPSTVEN" |
| A-SYN-DA-GES-DATA | Data/ora dell'ultimo record aggiornato |
| A-SYN-DA-GES-ORA | |
| A-SYN-DA-ID-SINCRO | Ultimo id sincro "ARPSTVEN" + 1 |
| A-SYN-VERSIONE | 2 |
APCOGTESBO/APCOGMOMAG aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A-SYN-AZIENDA | Codice azienda |
| A-SYN-TABELLA | "APCOGTESBO" |
| A-SYN-DA-GES-DATA | Data/ora memorizzata anche sul record precedente |
| A-SYN-DA-GES-ORA | |
| A-SYN-DA-ID-SINCRO | Ultimo id sincro "APCOGMOMAG" + 1 |
| A-SYN-VERSIONE | 2 |
Estratto da documentazione interna ClickUp