SWN071 - Importazione report Jasper¶
Nome programma SWN071 Linkage section UTILAGPRG - Linkage comune Id processo: 71 Nome processo: JREPORT Nome tabella APSTATOSYN: "ARPREPORTCLI" Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGMODST | ARPREPORTCLI | <------ |
| COGMODDT | ARPMODDT |
Logica generale Sincronizzazione della tabella "Stati dossier" Esportazione Non prevista Importazione Le applicazioni WEB potranno inserire, modificare o cancellare logicamente nuovi record Versioni tabella
| Versione | Descrizione |
|---|---|
| 1 | Versione base; importazione tutto "Jasper" |
| 2 | Prevedo l'importazione anche di "Area-report" Alla prima esecuzione verranno reimportati tutti i modelli allo scopo di importarli con il motore corretto |
Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| abilita | attiva-areaapp | |
| areaapp | cod-azienda | |
| areaapp | db-conn-string | |
| areaapp | agg-postgres-online | |
| stampe | ar-vers-att-footer | |
| stampe | ar-vers-att-header | |
| stampe | ar-vers-dwn-header | |
| stampe | ar-vers-dwn-footer |
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: ARPREPORTCLI Se fallita inviare una Segnalazione critica e chiudere. C - Importazione aggiornamenti Effettuare una query per estrarre tutti gli elementi aggiornati su APP: SELECT * FROM ARPREPORTCLI WHERE arpc_azienda = azienda AND (arpc_agg_app = 'A') Per ogni record da importare effettuare la lettura del relativo record di ARPMODST2:
| Dato | Contenuto |
|---|---|
| A-MDC-AZI | |
| A-MDC-PROG | ARPC-PROG |
Gli elementi potranno essere: * Cancellati: se ARPC-VAL = "C" * Inseriti o aggiornati: se ARPC-VAL <> "C" * Inseriti: se ARPC-COGMODST-PROG = 0 * Modificati: se ARPC-COGMODST-PROG > 0 C.1 - Importazione nuovo elemento Inserire un nuovo record su COGMODST, cercando il primo progressivo libero (MDC-PROG) Quindi proseguire con l'aggiornamento di COGMODST (vedi al punto C.2) Al termine aggiornare il record di ARPREPORTCLI:
| Dato | Contenuto |
|---|---|
| ARPC-AGG-APP | " " |
| ARPC-COGMODST-PROG | MDC-PROG |
C.2 - Importazione elemento aggiornato Fare una ricerca su COGMODST impostando:
| Dato | Contenuto |
|---|---|
| MDC-PROG | ARPC-COGMODST-PROG |
Se l'elemento non esiste, inserirlo con il progressivo ARPC-COGMODST-PROG trovato. Quindi proseguire con l'aggiornamento di COGMODST.
| Dato | Contenuto |
|---|---|
| MDC-TIP | A-MDC-TIP |
| MDC-PERTINENZA | A-MDC-PERTINENZA |
| MDC-ANA-TIP | A-MDC-ANA |
| MDC-ANA-COD | |
| MDC-SEQ | 0 |
| MDC-DES | A-MDC-DES |
| MDC-PATH | " " |
| MDC-TIPO-PATH | "L" |
| MDC-LNG | A-MDC-LNG |
| MDC-BRAND | A-MDC-BRAND |
| MDC-GRP-AZ | " " |
| MDC-MOTORE | A-MDC-MOTORE |
| MDC-ID-JASPER | ARPC-PROG |
| MDC-TIPO-MOD-JASPER | ARPC-TIPO-MODELLO |
| MDC-FL-CANC | - "C": se è la prima acquisizione del modello - Invariato; negli altri casi |
Al termine aggiornare il record di ARPREPORTCLI:
| Dato | Contenuto |
|---|---|
| ARPC-AGG-APP | " " |
Caso particolare Quando il modello importato riguarda la stampa fatture (classe "COGP41"), se non sono ancora valorizzate aggiornare la configurazione del modello di default da utilizzare: fte-modello-fattura-attiva fte-modello-fattura-passiva C.2.1 - Importazione tabelle di dettaglio Ora eliminare la definizione delle tabelle di dettaglio per il modello; cancellare quindi i record di COGMODDT aventi:
| Dato | Contenuto |
|---|---|
| MDD-PROG-MODELLO | MDC-PROG |
Dopodichè effettuare la reimportazione; query su ARPMODDT: SELECT * FROM arpmoddt WHERE a_mdd_azi = a_mdc_azi AND a_mdd_prog_modello = a_mdc_prog AND a_mdd_fl_canc <> "C" Per ciascun record trovato effettuare l'inserimento su COGMODDT:
| Dato | Contenuto |
|---|---|
| MDD-PROG-MODELLO | MDC-PROG |
| MDD-PROG-DET | A-MDD-PROG-DES |
| MDD-DATI (MDD-ELE-DET-MM (1...25) |
Riempire gli elementi di questa tabella suddividendo il contenuto di A-MDD-COMPOSIZIONE in base alla presenza dei caratteri ";" |
C.2.2 - Importazione modello e logo Se ho importato un modello "Area-Report", devo importare anche il modello relativo (A_MDC_PATH+A_MDC_PROG.mrt). Il path indicato è relativo ad un bucket di amministrazione generale chiamato "esm2-model", al quale verranno aggiunti i permessi per l'utente associato al bucket cliente. C.3 - Importazione elemento cancellato Fare una ricerca su COGMODST impostando:
| Dato | Contenuto |
|---|---|
| MDC-PROG | ARPC-COGMODST-PROG |
Se il record esiste, effettuare la cancellazione fisica del record. Al termine aggiornare il record di ARPREPORTCLI:
| Dato | Contenuto |
|---|---|
| ARPC-AGG-APP | " " |
C.4 - Importazione loghi I loghi devono essere importati se la versione scaricata è diversa dalla versione attiva, quindi se: * ar-vers-dwn-footer <> ar-vers-att-footer -> scaricare il logo ar-logo-footer.jpg * ar-vers-dwn-header <> ar-vers-att-header -> scaricare il logo ar-logo-header.jpg I loghi su AWS sono salvati sul bucket "es2m-model", nel path "/spool/intestazioni/Cnnnnn" con nome "header.jpg" e "footer.jpg" e dovranno essere scaricati nella cartella EXT-MOD-DIR/logo
Casistica problemi noti¶
"Esporta tutto" non esporta effettivamente tutti i record
- Sintomo: attivando "Esporta tutto", il programma continua a controllare il livello di versione
a-syn-versione, comportandosi come un'esportazione incrementale. Lo stesso problema si verificava per i loghi e quando entrambe le versioni erano nulle. - Causa: il controllo di versione non veniva bypassato con il flag "Esporta tutto" attivo.
- Correzione: corretta la logica per bypassare il controllo di versione; aggiunto parametro in input (
wo-parametro (1:1) = "A") per uso in cascata neltmplnc; corretto trattamento loghi e caso versioni nulle. - Riferimento: dettaglio, ClickUp 8697wymva
Estratto da documentazione interna ClickUp