Vai al contenuto

PSW004 - Esportazione documenti

Nome programma PSW004 Linkage section UTILAGPRG - Linkage comune Id processo: 90004 CUSTOM Nome processo: PSW004 Tabelle principali gestite

AREA AREAGATE Direzione
COGTESBO
COGMOMAG
PSWDOCTES
PSWDOCDET
---->

Tabella APSTATOSYN

A-SYN-TABELLA VERSIONE ATTUALE Cosa fare se precedente
PSWDOCTES-D 1

Versione tabella: 1 Logica generale DB APP Incassettamento Esportazione dei movimenti di vendita Esportazione Esportazione di tutti i record effettivamente modificati (con dati variati). Importazione Non prevista Configurazioni possibili

Gruppo Parametro Note
abilita attiva-areaapp
areaapp cod-azienda
areaapp db-conn-string
areaapp agg-postgres-online
dbfront db-conn-string

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: DFDOCTES Se fallita inviare una Segnalazione critica e chiudere. 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 PSWDOCTES Sulla tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "PSWDOCTES"; se il record non esiste, crearlo impostando

Dato Contenuto
A_SYN_AZIENDA Codice azienda
A_SYN_TABELLA "PSWDOCTES"
A_SYN_DA_GES_DATA 0
A_SYN_DA_GES_ORA 0
A_SYN_DA_ID_SINCRO 1
A-SYN-VERSIONE 1

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 Il documento viene considerato se: * Il tipo documento è "I" o "D" B.2.2 Documento valido B.2.2.1 Cancellazione logica righe Effettuare la cancellazione fisica delle righe presenti su PSWDOCDET tramite una query: DELETE FROM DFDOCDET WHERE p_dtes_azienda = azienda AND p_dtes_doc_tip = "D" AND p_dtes_doc_key = tes-chia3 B.2.2.2 Esportazione testata documento Verifichiamo se il documento inserito/aggiornato è già stato esportato, con una ricerca diretta su PSWDOCTES, usando P-DTES-CHIA1, impostando:

Nome campo Contenuto
P-DTES-AZIENDA azienda in elaborazione
P-DTES-DOC-TIP "D"
P-DTES-DOC-KEY TES-CHIA3

Se il record esiste dovrà essere aggiornato, altrimenti inserirlo. Attenzione: se il documento esiste e P-DTES-STATO-PREP <> "N", allora dare una segnalazione di errore sul log ed skippare I campi da aggiornare sono:

Dato Descrizione
P-DTES-AZIENDA azienda in elaborazione
P-DTES-DOC-TIP "D"
P-DTES-DOC-KEY TES-CHIA3
P-DTES-KEY-EDIT Chiave editata es. "1/2023/I/000100"
P-DTES-DATA TES-DATA
P-DTES-ANA TES-NONNO
P-DTES-DST-TIP TES-DST-ID-TIP
P-DTES-DST-IDX TES-DST-ID-TIP
P-DTES-GIRO TES-AGENTE
P-DTES-NOTE TES-DESCR + TES-DESCR1
P-DTES-STATO-PREP "N"
P-DTES-FL-CANC " "
P-DTES-ID-SINCRO Nuovo id di sincronizzazione
P-DTES-AGG-APP "N"

B.2.2.3 Ricerca movimenti su COGMOMAG Per il documento in esame si ricercano i movimenti su COGMOMAG Per ciascun movimento effettuare l'inserimento su APCOGMOMAG Dovranno essere esclusi i movimenti dalla riga con codice merce avanzato "DESC", che contengono i riporti del giorno precedente.

Dato Descrizione
P-DDET-AZIENDA azienda in elaborazione
P-DDET-DOC-TIP "D"
P-DDET-DOC-KEY TES-CHIA3
P-DDET-DOC-RIGA MAG-PROG
P-DDET-MERCE MAG-MERCE3
P-DDET-QTA-DOC MAG-QTAMAGAZ
P-DDET-QTA-EVA 0
P-DDET-QTA-MANCANTE 0

B.3 - Ricerca documenti cancellati Scorrere COGEVLOG per gli eventi di tipo k-evl-canc-cogtesbo (vedi SWN117) Per ciascun record esistente: PSWDOCTES/APCOGMOMAG * Controllare se il documento è ancora esistente su COGTESBO (potrebbe essere stato ricreato nel frattempo) * Se non esiste, effettuare la cancellazione logica su PSWDOCTES

Nome campo Contenuto
P-DTES_FL_CANC "C"
P-DTES-ID-SINCRO Nuovo ID sincro progressivo
P-DTES-AGG-APP "N"

Al termine cancellare il record di COGEVLOG B.9 - Aggiornamento id syncro aggiornare il record APSTATOSYN:

Dato Contenuto
A-SYN-AZIENDA Codice azienda
A-SYN-TABELLA "PSWDOCTES"
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 + 1
A-SYN-VERSIONE 1

Estratto da documentazione interna ClickUp