SWN108 - Listino ultima vendita¶
Nome programma SWN108 Linkage section UTILAGPRG - Linkage comune Id processo: 108 Nome processo: LISTINO-UV Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGMOMAG | ARPLISTI | ------> |
Logica generale Sincronizzazione del "listino ultima vendita", elaborato partendo dai movimenti di vendita Esportazione Esportazione di tutti i record effettivamente modificati (con dati variati). Importazione Non prevista Elaborazione skippata per Terrepadane (non usa COGMOMAG) Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| abilita | attiva-areaapp | |
| areaapp | cod-azienda | |
| areaapp | db-conn-string | |
| areaapp | agg-postgres-online | |
| areaapp | giorni-esportazione-merci | |
| areaapp | esporta-listino-ultima-vendita |
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: ARPLISTI Se fallita inviare una Segnalazione critica e chiudere. B - Esportazione informazioni aggiornate * ID SINCRO: gestito * Esportazione differenziale: gestita ma non ottimizzata * 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 "ARPLISTI"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "ARPLISTI" |
| 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) * Prossimo ID sincronizzazione da memorizzare sulla tabella (A_SYN_ID_SINCRO) B.2 - Esportazione listino "ultima vendita" Se: * La configurazione esporta-listino-ultima-vendita vale "S" * SWA036-OPE <> "ESPORTA-MERCE" eseguire il giro di esportazione del prezzo dell'ultima vendita sul listino "U": * In funzione dei giorni configurati di aggiornamento giorni-esportazione-merci determinare la data inizio movimenti da estrarre * Scansione su COGTESBO attraverso TES-CHIA2, partendo dalla data inizio movimenti * Leggere la causale del documento TES-CAUSALE; Considerare solo i record con * Causale di uscita (EUTA-CB-FL-EU = "U") * Causale a cliente (EUTA-CB-CLI-FOR = "C") * Causale da fatturare (EUTA-CB-CON-FAT = "SI") * Per ciascun record valido: * Lettura di tutti i movimenti collegati (scansione su COGMOMAG sulla chiave primaria) * Per ciascun record letto leggere il corrispondente record su COGMOAGG * Considerare solo i record con MOA-FL-PROMO <> "P" * Per ciascun record valido, inserire o modificare un record su ARPLISTI:
| Nome campo | Da |
|---|---|
| RLIS-AZI | azienda in elaborazione |
| RLIS_MERCE | MAG-MERCE3 |
| RLIS-LIS-TIP | "U" |
| RLIS-LIS-RIF | MAG-NONNO |
| RLIS-PREZZO | MAG-PREZZO |
| RLIS-ID-SINCRO | "MAX"+1 (come sopra) |
B.9 - Aggiornamento id syncro Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A-SYN-AZIENDA | Codice azienda |
| A-SYN-TABELLA | "ARPLISTI" |
| 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 | 2 |
Estratto da documentazione interna ClickUp