SWA052 - Esportazione ddt x documentazione Siderpress¶
Logica generale Estrazione della documentazione x certificazione a fronte dei ddt ancora da estrarre. L'elaborazione sarà divisa in 2 distinte fasi: Fase 1 * Ricerca dei ddt con il flag "da estrarre" * Per ciascun ddt si determinano gli allegati da produrre a fronte del documento, come spiegato in dettaglio successivamente * Una parte di elaborazione verrà fatta direttamente da COGD76SP * Per ciascun allegato da produrre: * Si inserisce/aggiorna un record su COGAREXP * Si determina se l'allegato è producibile, e se è completo * Se è producibile * Si estrae nella cartella di configurazione path-sync-allegati * Si archivia l'allegato * Chiamata a COGD76P che effettua la stessa operazione sugli allegati specifici relativi alle certificazioni Fase 2 * Scansione su COGAREXP degli allegati che devono essere ancora prodotti/esportati, e se le condizioni sono cambiate, si effettuano le operazioni mancanti: * Si determina se l'allegato è producibile, e se è completo * Se è producibile * Si estrae nella cartella di configurazione path-sync-allegati * Si archivia l'allegato * Se è esportabile: * Si esporta l'allegato In sintesi: * Per ciascun ddt elaborazione per la generazione degli allegati, collegati al ddt stesso e agli ordini collegati, secondo le logiche già esistenti in TGL303 e COGD76SP * Estrazione degli stessi allegati nella cartella di sincronizzazione configurata, e creazione della base dati necessaria su KPN, composta da: * ARPALLEGATI - Allegati su documenti * ARPALLPAG - Pagine su allegati * ARPALLDOCUMENTI - Documenti per allegati * ARPALLRACCORDI - Raccordi documenti / allegati Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| ecommerce | path-sync-allegati | |
| abilita | taglio-lamiere | |
| arc-ott | path-apri-file |
Procedure collegate Documentazione certificazione Elaborazione Limitazioni Per il momento questo programma è dedicato a Siderpress: quindi se la configurazione taglio-lamiere non è attiva, uscire. Stato sincronizzazione Su POSTGRES, tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "SWA052"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "SWA052" |
| A_SYN_DA_GES_DATA | 0 |
| A_SYN_DA_GES_ORA | 0 |
| A_SYN_DA_ID_SINCRO | 1 |
Per il momento non è necessario l'uso dello stato sincronizzazione, e anche data/ora sono funzionali solo a vedere immediatamente quando il processo è girato. A - Selezione documenti da esportare Il programma dovrà considerare i soli ddt emessi negli ultimi due anni (come data limite 1/1/2017), e considerare quelli non ancora esportati: Scansione di COGTESBO usando la chiave TES-CHIA3, impostando TES-DATA = 2 anni prima di data sistema. Considerare solo: * I ddt di vendita (TES-TIPOB = "I") * Solo i documenti con causale da fatturare a cliente: * EUTA-CB-CON-FAT = "SI" * EUTA-CLIFOR = "C" Cercare quindi COGTESAP. Se il record non esiste, o se esiste e TSA-FL-ALLEGATI-ESP = " ", allora il documento va considerato, e si prosegue nell'elaborazione. Altrimenti il documento si scarta. B - Elaborazione di un singolo documento B.1 Cancellazione logica allegati collegati Si effettua una ricerca su COGAREXP di tutti i record collegati al documento, specificatamente per gli allegati gestiti direttamente da SWA052:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP |
Per ciascun record trovato si effettua la cancellazione logica B.1 Aggiornamento documento DDT inserire o aggiornare un record su COGAREXP:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP | "DDT" |
| AREX-ALL-ID | TES-CHIA3 |
| AREX-ARX-PROGRESSIVO | Invariato (0 se nuovo) |
| AREX-FL-PRONTO | "S" |
| AREX-FL-ARCHIVIATO | "N" |
| AREX-FL-ESPORTATO | "S" |
| AREX-FL-COMPLETO | "S" |
| AREX-FL-CANC | " " |
| AREX-NOTE | " " |
Inserire o aggiornare un record su ARPALLDOCUMENTI:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALD_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALD_DOC_CHIAVE_ED | TES-CHIA3 editato ad esempio "1/2018/I/000100" |
| A_ALD_DOC_DATA | TES-DATA |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | " " |
| A_ALD_ANA_DOC_DATA | " " |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
B.1.1 Rimozione raccordi Se il record ARPALLDOCUMENTI era già presente, potrebbero quindi già esserci raccordi con allegati che andranno rimossi tramite una apposita query: "DELETE FROM arpalldocumenti WHERE a_alr_doc_tipo = k-tipo-doc-mag-cliente AND a_alr_doc_chiave_or = chiave ddt" B.2.1 - Ricerca materie prime (questa parte è sintetica ma molte parti possono essere copiate da TGL303) Scansione delle righe del ddt (COGMOMAG). Per ciascuna riga: * * Ricerca dell'ordine collegato usando COGU09 * Con la riga ordine, ricerca dei nesting usati per il taglio dei particolari collegati alla riga (TGLLNCDT->TGLLNCNS) * Per ciascun nesting trovato, viene memorizzato il codice della materia prima utilizzata in una apposita tabella in cui memorizzare il collegamento a due livelli: * Codice merce materia prima * Chiave ordine a cui è collegato Potrà risultare quindi che ci saranno materie prime collegate a più ordini, ad esempio:
| Materia prima | Ordine |
|---|---|
| MP 00001 | C201800000010 |
| MP 00002 | C201800000010 |
| MP 00002 | C201800000020 |
| MP 00003 | C201800000030 |
In questo caso sono state trovate 3 materie prime, collegate in modo diverso a 3 diversi ordini B.2.1.0 - Documento 'ordine' Per ciascun ordine considerato nell'elaborazione, verificare se è presente già il record relativo su ARPALLDOCUMENTI; se non esiste crearlo:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALD_DOC_CHIAVE_OR | TOR-CHIA ad esempio "C201800001230" |
| A_ALD_DOC_CHIAVE_ED | TOR-CHIA editato ad esempio "C/2018/0000123/0" |
| A_ALD_DOC_DATA | TOR-DATDECOR |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | TOR-CNF-NUM |
| A_ALD_ANA_DOC_DATA | TOR-CNF-DATA |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
Per ciascun ordine inserire o aggiornare un record su COGAREXP:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP | "ORC" |
| AREX-ALL-ID | TOR-CHIA1 |
| AREX-ARX-PROGRESSIVO | Invariato (0 se nuovo) |
| AREX-FL-PRONTO | "S" |
| AREX-FL-ARCHIVIATO | "N" |
| AREX-FL-ESPORTATO | "S" |
| AREX-FL-COMPLETO | "S" |
| AREX-FL-CANC | " " |
| AREX-NOTE | " " |
B.2.1.1 - Estrazione certificati Scansione delle righe della tabella che contiene le materie prime considerate, creata in precedenza B.2.1.2 - Controllo se il certificato è già esportato Per ciascun certificato inserire o aggiornare un record su COGAREXP:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP | "CM" |
| AREX-ALL-ID | Codice interno merce; es. "MP 00001" |
| AREX-ARX-PROGRESSIVO | Invariato (0 se nuovo) |
| AREX-FL-PRONTO | "S" |
| AREX-FL-ARCHIVIATO | In |
| AREX-FL-ESPORTATO | "S" |
| AREX-FL-COMPLETO | "S" |
| AREX-FL-CANC | " " |
| AREX-NOTE | " " |
Se il certificato è già esportato, sarà già presente nella tabella ARPALLEGATI - Allegati su documenti: fare quindi una ricerca tramite query su questa tabella:
| Dato | Contenuto |
|---|---|
| A-ALL-AZIENDA | Azienda attiva |
| A-ALL-IMG-TIP-DOC | "AM" |
| A-ALL-IMG-DOC-COGE | "_GGSSCCCCC_IM9000" dove |
Se il record viene trovato, significa che l'allegato è già stato esportato. Potrebbe pero' non essere più lo stesso: se ad esempio lo stesso documento viene cancellato e reinserito, il riferimento al documento è lo stesso ma progressivo e protocollo sono diversi. Quindi proseguiamo ugualmente fino ad arrivare all'estrazione del singolo certificato. Per ciascun certificato inserire o agiornare un record su COGAREXP:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP | "CM" |
| AREX-ALL-ID | Codice interno merce; es. "MP 00001" |
| AREX-ARX-PROGRESSIVO | 0 |
| AREX-FL-PRONTO | "S" |
| AREX-FL-ARCHIVIATO | "N" |
| AREX-FL-ESPORTATO | "N" |
| AREX-FL-COMPLETO | "S" |
| AREX-FL-CANC | " " |
| AREX-NOTE | " " |
B.2.1.3 - Estrazione singolo certificato Per ciascuna merce, viene estratto il certificato dall'archiviazione ottica con una apposita chiamata a COGU06
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "AM" |
| U06-DOC-COGE | "_GGSSCCCCC_IM9000" dove |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO B.2.1.3.1 - Timbro Usando PDFMDL, al file estratto viene applicato il timbro. Questo rende il documento univoco, e non può essere riutilizzato B.2.1.4 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | "DO" (documento) |
| A_ALL_SOTTOCLASSE | "CM" (certificato merce) |
| A_ALL_ARX_PROGRESSIVO | Vuoto: il documento non corrisponde ad un documento archiviato |
| A_ALL_IMG_PROTOCOLLO | |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | DDT+"-"+MERCE; es: "12018I001105-MP 09767" |
| A_ALL_IMG_TIP_DOC | "DM" (Documento + merce) |
| A_ALL_IMG_DOC_COGE | A_ALL_NUMERO_INTERNO |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Sottocartella nella forma ANA-tnnnnn dove tnnnnn è la chiave anagrafica del cliente collegato al DDT. |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. Se tutte le operazioni sono andate a buon fine, aggiornare il record di COGAREXP:
| Dato | Contenuto |
|---|---|
| AREX-DOC-TIP | K-DOC-TIP-DOC-MAG-CLIENTE (da costanti-tipi-documento.cpy) |
| AREX-DOC-KEY | TES-CHIA3 |
| AREX-ALL-TIP | "CM" |
| AREX-ALL-ID | Codice interno merce; es. "MP 00001" |
| AREX-ARX-PROGRESSIVO | 0 (il documento esportato NON corrisponde al documento archiviato poichè è stato applicato il timbro) |
| AREX-FL-PRONTO | "S" |
| AREX-FL-ARCHIVIATO | "N" |
| AREX-FL-ESPORTATO | "S" |
| AREX-FL-COMPLETO | "S" |
| AREX-FL-CANC | " " |
| AREX-NOTE | " " |
L'ID allegato deve essere memorizzato in una seconda tabella interna al programma che contiene la relazione tra le materie prime e l'id allegato su cui è stato salvato B.2.1.5 - Collegamento allegato a documenti AREA (ARPALLRACCORDI) L'allegato ora dovrà essere collegato con i documenti interessati: B.2.1.5.1 - Collegamento allegato al ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.1.5.2 - Collegamento allegato all'ordine
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | Chiave ordine |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.1.5.3 - Esempio Se il ddt elaborato è "12018I000123", facendo riferimento all'esempio indicato sopra al punto B.2.1, su APALLRACCORDI potremmo avere:
| A-ALR-DOC-TIPO | A-ALR-DOC-CHIAVE-OR | A-ALR-ALL-ID | Note |
|---|---|---|---|
| DMC | 12018I000100 | 1 | Raccordi tra il ddt e gli allegati delle 3 materie prime |
| DMC | 12018I000100 | 2 | |
| DMC | 12018I000100 | 3 | |
| ORC | C201800000010 | 1 | Raccordi tra gli ordini e gli allegati delle 3 materie prime |
| ORC | C201800000010 | 2 | |
| ORC | C201800000020 | 2 | |
| ORC | C201800000030 | 3 |
B.2.1.6 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati, usando il nome A_ALP_FILE_NAME B.2.2 - Elaborazione modelli certificazione Come prima cosa effettuare una chiamata a COGD76, con i seguenti parametri
| Dato | Contenuto |
|---|---|
| COGD76-DOC-TIP | "D" |
| COGD76-DOC | Chiave del ddt in elaborazione |
| COGD76-OPERAZIONE | "ESTR-WEB" |
| COGD76-FILE-TRANSITO | Nome del file di transito da creare, comprensivo di data+ora sistema |
All'interno del programma saranno eseguite una serie di elaborazioni che: * Generano i documenti PDF necessari alla certificazione nella cartella configurata path-sync-allegati, * Archiviano i documenti nei dossier degli ordini * Creano un file di transito chiamato T-ALLEGATI con l'elenco dei documenti interessati (vedi Operazione "ESTR-WEB" ) Se l'esito dell'elaborazione è negativo, segnalare un errore critico e skippare il documento. Quindi ora dovremo scorrere T-ALLEGATI: ciascun record corrisponde ad un documento da esportare. Per ciascun record quindi ripetere il processo B.2.3 B.2.3 - Esportazione allegato B.2.3.1 - Controllo se l'allegato è già esportato Se l'allegato è già esportato, sarà già presente nella tabella ARPALLEGATI - Allegati su documenti: fare quindi una ricerca tramite query su questa tabella:
| Dato | Contenuto |
|---|---|
| A-ALL-AZIENDA | Azienda attiva |
| A-ALL-IMG-TIP-DOC | T-ALL-IMG-DOC-TIP |
| A-ALL-IMG-DOC-COGE | T-ALL-IMG-DOC-COGE |
Se il record viene trovato, significa che l'allegato è già stato esportato. Potrebbe pero' non essere più lo stesso: se ad esempio lo stesso documento viene cancellato e reinserito, il riferimento al documento è lo stesso ma progressivo e protocollo sono diversi. Quindi proseguiamo ugualmente fino ad arrivare all'estrazione del singolo certificato. B.2.3.2 - Estrazione singolo certificato Chiamata a COGU06:
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | T-ALL-IMG-DOC-TIP |
| U06-DOC-COGE | T-ALL-IMG-DOC-COGE |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO Quindi, se il record su ARPALLEGATI non è stato trovato, o se è stato trovato e A-ALL-PROGRESSIVO <> U06-PROGRESSIVO, è necessario procedere con l'esportazione. B.2.3.3 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | U06-DOC-CLASSE |
| A_ALL_SOTTOCLASSE | U06-DOC-SUBCLASSE |
| A_ALL_ARX_PROGRESSIVO | U06-PROGRESSIVO |
| A_ALL_IMG_PROTOCOLLO | U06-PROTOCOLLO-MANUALE |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | U06-DO-NUM-INT |
| A_ALL_IMG_TIP_DOC | U06-TIP-DOC |
| A_ALL_IMG_DOC_COGE | U06-DOC-COGE |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.2.3.4 - Collegamento allegato a documenti AREA (ARPALLRACCORDI) L'allegato ora dovrà essere collegato con i documenti interessati: B.2.3.4.1 - Collegamento allegato al ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
Caso particolare: in caso di collegamento tra un allegato "M1801" e il ddt, creo un solo raccordo per ciascun tipo (EXC1...EXC4) B.2.3.4.2 - Collegamento allegato all'ordine
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | T-ALL-ORDINE |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.3.5 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati, usando il nome A_ALP_FILE_NAME B.3 - Esportazione stampa ddt Al termine dell'esportazione degli allegati, dobbiamo esportare la stampa del ddt. B.3.1 - Creazione stampa ddt (Questa sezione può essere copiata da ASN575, X-ARCHIVIA-E-STAMPA B.3.1.1 - Preparazione file da archiviare Definire una variabile W-PRINTER, che deve essere valorizzata con il nome del ddt: EXT-TMP-DIR EX-OS-SLASH TES-CHIA3 ".pcl" Assegnare il nome del file alla stampante: set environment "printer" to w-printer Effettuare la cancellazione del file W-PRINTER usando COPIAF, e al termine per avere la certezza che tutto sia corretto, eseguire la FILEINFO sempre con COPIAF, e verificare l'esito. Se negativo, segnalare sul file di log e skippare tutta la fase B.3. B.3.1.2 - Creazione file di stampa Chiamata a COGV52:
| Dato | Contenuto |
|---|---|
| V52-FL-ARCHIVIA | "ARCHIVIA" |
| V52-CALLED | "COGV52-CALLED" |
| V542-BOLLA | TES-CHIA3 |
All'uscita con COPIAF testare l'esistenza del file creato (W-PRINTER). Se il file non esiste, segnalare sul file di log e skippare il resto della fase B.3 B.3.1.3 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "DDT N. " chiave editata |
| A_ALL_NUMERO_INTERNO | TES-CHIA3 |
| A_ALL_IMG_TIP_DOC | "BU" |
| A_ALL_IMG_DOC_COGE | TES-CHIA3 |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.3.1.4 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.3.1.5 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME B.4 - Esportazione stampa conferma d'ordine Per ciascun ordine considerato nell'elaborazione dobbiamo esportare la stampa della conferma d'ordine. B.4.1 - Creazione stampa conferma d'ordine Eseguire una chiamata a COGO65M:
| Dato | Contenuto |
|---|---|
| O65M-ORDINE | Testata ordine |
| O65M-OPERAZIONE | "ARCHIVIA" |
| O65M-PROG-MODELLO | 0 |
| O65M-NOME-FILE | path-apri-file "\ORDINE-" tor-chia ".pdf" |
Al termine dell'elaborazione, verificare con COPIAF, operazione "fileinfo" se il file richiesto esiste. Se non esiste, segnalare sul log e skippare il resto dell'elaborazione. B.4.2 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Verificare se esiste l'allegato relativo alla stampa della conferma ordine; ricerca su ARPALLEGATI con una query impostando:
| Dato | Contenuto |
|---|---|
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_IMG_TIP_DOC | "OC" |
| A_ALL_IMG_DOC_COGE | TOR-CHIA |
Se non esiste deve essere inserito, altrimenti aggiornato. Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "Ordine N. " tor-chia editato |
| A_ALL_NUMERO_INTERNO | TOR-CHIA |
| A_ALL_IMG_TIP_DOC | "OC" |
| A_ALL_IMG_DOC_COGE | TOR-CHIA |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.4.3 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | TOR-CHIA ad esempio "C201800001230" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.4.4 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME B.5 - Esportazione packing list Le packing list sono praticamente le stampe i buoni di prelievo usati durante la preparazione dei pallet per la spedizione dei tubi (i bdp vengono usati anche per le lamiere ma in modo diverso e per il momento non sono considerati). Scansione di COGGENER usando la chiave primaria, impostando
| Dato | Contenuto |
|---|---|
| GNR-TIP | "BB" |
| GNR-PARTE-1 | TES-CHIA3 |
Per ciascun record trovato, GNR-PARTE-2 contiene la chiave del BDP. Leggere quindi la prima riga collegata al bdp su COGRIGBP, e valutare RBP-MERCE: se il codice merce inizia per "PR", il bdp riguarda profilati ed è da considerare, altrimenti si passa al successivo. B.5.1 - Creazione stampa packing list Eseguire una chiamata a COGP64:
| Dato | Contenuto |
|---|---|
| P64-OPERAZIONE | "ARCHIVIA" |
| P64-FL-STA | " " |
| P64-CALLED | "COGP64-CALLED" |
| P64-BUONO | tbp-chia1 |
| P64-NOME-FILE | path-apri-file "\BDP-" tbp-chia1 ".pdf" |
Al termine dell'elaborazione, verificare con COPIAF, operazione "fileinfo" se il file richiesto esiste. Se non esiste, segnalare sul log e skippare il resto dell'elaborazione. B.5.2 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Verificare se esiste l'allegato relativo alla stampa del buono di prelievo; ricerca su ARPALLEGATI con una query impostando:
| Dato | Contenuto |
|---|---|
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_IMG_TIP_DOC | "BP" |
| A_ALL_IMG_DOC_COGE | TBP-CHIA1 |
Se non esiste deve essere inserito, altrimenti aggiornato. Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "Packing list n. " tbp-chia1 editato |
| A_ALL_NUMERO_INTERNO | TBP-CHIA1 |
| A_ALL_IMG_TIP_DOC | "BP" |
| A_ALL_IMG_DOC_COGE | TBP-CHIA1 |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato il ddt (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.5.3 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo con il ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.5.4 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME C - Esportazione documenti collegati a fattura Il programma dovrà considerare le sole fatture attive emesse negli ultimi 2 anni (data limite 1/1/2017), e considerare quelle non ancora esportate: Scansione di COGFATTU usando la chiave FAT-CHIA8, impostando FAT-DAMOV = 2 anni prima di data sistema. Se la data è inferiore a 1/1/2017, questa sarà la data di inizio. Dovranno essere considerate solo le fatture attive: * Ricerca del tipo documento iva FAT-TIP, sulla apposita tabella: * EUTA-TIPO = k-euta-tipo-doc-iva * EUTA-COD = FAT-TIP * Se EUTA-CLIFOTIVA inizia per "C", allora è una fattura attiva (a cliente); quindi proseguire; altrimenti scartare la fattura. Posizionarsi quindi su COGFATT2; se FAT2-FL-ESP-ALLEGATI = 'E', scartare la fattura; altrimenti proseguire. C.1 - Esportazione documenti Per il momento sulla fattura è sufficiente esportare il documento "Fattura" (la stampa della stessa). C.1.1 - Esportazione fattura La fattura esportata dovrà essere già archiviata. Effettuare una chiamata a COGU06:
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "FC" |
| U06-DOC-COGE | U06-DOC-COGE |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO Se invece queste informazioni sono vuote, eseguiamo direttamente l'archiviazione: C.1.1.1 - Archiviazione fattura (vedi COGD74) C.1.1.1.1 - Stampa su file Impostare la variabile di environment W-PRINTER a "EXT-TMP-DIR EXT-OS-SLASH ChiaveFattura.pdf" Chiamata a COGP41
| Dato | Contenuto |
|---|---|
| P41-DA-FATTURA | FAT-CHIA1 |
| P41-A-FATTURA | FAT-CHIA1 |
| P41-COPIE | 1 |
| P41-FL-ARCHIVIA | "ARCHIVIA" |
Se invece queste informazioni sono vuote, segnalare sul file di log "Fattura xx/xxxx/xxxxxxxx non ancora archiviata" e skippare. C.1.1.1.2 - Archiviazione Il percorso di stampa W-PRINTER deve essere convertito in un formato client, usando COPIAF (operazione "CONVERT-PATH). Chiamata a COGU06
| Dato | Contenuto |
|---|---|
| U06-OPE | "Inserisci-file" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "FC" |
| U06-DOC-COGE | U06-DOC-COGE |
C.1.2 - Creazione ARPALLDOCUMENTI Inserire o aggiornare un record su ARPALLDOCUMENTI:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-fattura-cliente |
| A_ALD_DOC_CHIAVE_OR | FAT-CHIA1 ad esempio "CL20180000100" |
| A_ALD_DOC_CHIAVE_ED | FAT-CHIA1 editato ad esempio "CL/2018/0000100" |
| A_ALD_DOC_DATA | FAT-DAMOV |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | " " |
| A_ALD_ANA_DOC_DATA | " " |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
Quindi, se il record su ARPALLEGATI non è stato trovato, o se è stato trovato e A-ALL-PROGRESSIVO <> U06-PROGRESSIVO, è necessario proseguire con l'esportazione C.1.3 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | U06-DOC-CLASSE |
| A_ALL_SOTTOCLASSE | U06-DOC-SUBCLASSE |
| A_ALL_ARX_PROGRESSIVO | U06-PROGRESSIVO |
| A_ALL_IMG_PROTOCOLLO | U06-PROTOCOLLO-MANUALE |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | U06-DO-NUM-INT |
| A_ALL_IMG_TIP_DOC | U06-TIP-DOC |
| A_ALL_IMG_DOC_COGE | U06-DOC-COGE |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. C.1.4 - Inserimento/aggiornamento ARPALLRACCORDI L'allegato ora dovrà essere collegato con il documento fattura
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-fattura-cliente |
| A_ALR_DOC_CHIAVE_OR | FAT-CHIA1 |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
C.1.5 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME Z - Inserimento/aggiornamento ARPALLRACCORDI Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A-SYN-AZIENDA | Codice azienda |
| A-SYN-TABELLA | "SWA052" |
| A-SYN-DA-GES-DATA | Data/ora dell'ultimo record aggiornato |
| A-SYN-DA-GES-ORA |
Versione fino a settembre 2023¶
Logica generale Estrazione della documentazione x certificazione a fronte dei ddt ancora da estrarre. In sintesi: * Ricerca dei ddt con il flag "da estrarre" * Per ciascun ddt elaborazione per la generazione degli allegati, collegati al ddt stesso e agli ordini collegati, secondo le logiche già esistenti in TGL303 e COGD76SP * Estrazione degli stessi allegati nella cartella di sincronizzazione configurata, e creazione della base dati necessaria su KPN, composta da: * ARPALLEGATI - Allegati su documenti * ARPALLPAG - Pagine su allegati * ARPALLDOCUMENTI - Documenti per allegati * ARPALLRACCORDI - Raccordi documenti / allegati Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| ecommerce | path-sync-allegati | |
| abilita | taglio-lamiere | |
| arc-ott | path-apri-file |
Procedure collegate Documentazione certificazione Elaborazione Limitazioni Per il momento questo programma è dedicato a Siderpress: quindi se la configurazione taglio-lamiere non è attiva, uscire. Stato sincronizzazione Su POSTGRES, tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "SWA052"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "SWA052" |
| A_SYN_DA_GES_DATA | 0 |
| A_SYN_DA_GES_ORA | 0 |
| A_SYN_DA_ID_SINCRO | 1 |
Per il momento non è necessario l'uso dello stato sincronizzazione, e anche data/ora sono funzionali solo a vedere immediatamente quando il processo è girato. A - Selezione documenti da esportare Il programma dovrà considerare i soli ddt emessi negli ultimi due anni (come data limite 1/1/2017), e considerare quelli non ancora esportati: Scansione di COGTESBO usando la chiave TES-CHIA3, impostando TES-DATA = 2 anni prima di data sistema. Considerare solo: * I ddt di vendita (TES-TIPOB = "I") * Solo i documenti con causale da fatturare a cliente: * EUTA-CB-CON-FAT = "SI" * EUTA-CLIFOR = "C" Cercare quindi COGTESAP. Se il record non esiste, o se esiste e TSA-FL-ALLEGATI-ESP = " ", allora il documento va considerato, e si prosegue nell'elaborazione. Altrimenti il documento si scarta. B - Elaborazione di un singolo documento B.1 Aggiornamento documento Inserire o aggiornare un record su ARPALLDOCUMENTI:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALD_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALD_DOC_CHIAVE_ED | TES-CHIA3 editato ad esempio "1/2018/I/000100" |
| A_ALD_DOC_DATA | TES-DATA |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | " " |
| A_ALD_ANA_DOC_DATA | " " |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
B.1.1 Rimozione raccordi Se il record ARPALLDOCUMENTI era già presente, potrebbero quindi già esserci raccordi con allegati che andranno rimossi tramite una apposita query: "DELETE FROM arpalldocumenti WHERE a_alr_doc_tipo = k-tipo-doc-mag-cliente AND a_alr_doc_chiave_or = chiave ddt" B.2.1 - Ricerca materie prime (questa parte è sintetica ma molte parti possono essere copiate da TGL303) Scansione delle righe del ddt (COGMOMAG). Per ciascuna riga: * * Ricerca dell'ordine collegato usando COGU09 * Con la riga ordine, ricerca dei nesting usati per il taglio dei particolari collegati alla riga (TGLLNCDT->TGLLNCNS) * Per ciascun nesting trovato, viene memorizzato il codice della materia prima utilizzata in una apposita tabella in cui memorizzare il collegamento a due livelli: * Codice merce materia prima * Chiave ordine a cui è collegato Potrà risultare quindi che ci saranno materie prime collegate a più ordini, ad esempio:
| Materia prima | Ordine |
|---|---|
| MP 00001 | C201800000010 |
| MP 00002 | C201800000010 |
| MP 00002 | C201800000020 |
| MP 00003 | C201800000030 |
In questo caso sono state trovate 3 materie prime, collegate in modo diverso a 3 diversi ordini B.2.1.0 - Documento 'ordine' Per ciascun ordine considerato nell'elaborazione, verificare se è presente già il record relativo su ARPALLDOCUMENTI; se non esiste crearlo:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALD_DOC_CHIAVE_OR | TOR-CHIA ad esempio "C201800001230" |
| A_ALD_DOC_CHIAVE_ED | TOR-CHIA editato ad esempio "C/2018/0000123/0" |
| A_ALD_DOC_DATA | TOR-DATDECOR |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | TOR-CNF-NUM |
| A_ALD_ANA_DOC_DATA | TOR-CNF-DATA |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
B.2.1.1 - Estrazione certificati Scansione delle righe della tabella che contiene le materie prime considerate, creata in precedenza B.2.1.2 - Controllo se il certificato è già esportato Se il certificato è già esportato, sarà già presente nella tabella ARPALLEGATI - Allegati su documenti: fare quindi una ricerca tramite query su questa tabella:
| Dato | Contenuto |
|---|---|
| A-ALL-AZIENDA | Azienda attiva |
| A-ALL-IMG-TIP-DOC | "AM" |
| A-ALL-IMG-DOC-COGE | "_GGSSCCCCC_IM9000" dove |
Se il record viene trovato, significa che l'allegato è già stato esportato. Potrebbe pero' non essere più lo stesso: se ad esempio lo stesso documento viene cancellato e reinserito, il riferimento al documento è lo stesso ma progressivo e protocollo sono diversi. Quindi proseguiamo ugualmente fino ad arrivare all'estrazione del singolo certificato. B.2.1.3 - Estrazione singolo certificato Per ciascuna merce, viene estratto il certificato dall'archiviazione ottica con una apposita chiamata a COGU06
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "AM" |
| U06-DOC-COGE | "_GGSSCCCCC_IM9000" dove |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO B.2.1.3.1 - Timbro Usando PDFMDL, al file estratto viene applicato il timbro. Questo rende il documento univoco, e non può essere riutilizzato B.2.1.4 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | "DO" (documento) |
| A_ALL_SOTTOCLASSE | "CM" (certificato merce) |
| A_ALL_ARX_PROGRESSIVO | Vuoto: il documento non corrisponde ad un documento archiviato |
| A_ALL_IMG_PROTOCOLLO | |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | DDT+"-"+MERCE; es: "12018I001105-MP 09767" |
| A_ALL_IMG_TIP_DOC | "DM" (Documento + merce) |
| A_ALL_IMG_DOC_COGE | A_ALL_NUMERO_INTERNO |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Sottocartella nella forma ANA-tnnnnn dove tnnnnn è la chiave anagrafica del cliente collegato al DDT. |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. L'ID allegato deve essere memorizzato in una seconda tabella interna al programma che contiene la relazione tra le materie prime e l'id allegato su cui è stato salvato B.2.1.5 - Collegamento allegato a documenti AREA (ARPALLRACCORDI) L'allegato ora dovrà essere collegato con i documenti interessati: B.2.1.5.1 - Collegamento allegato al ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.1.5.2 - Collegamento allegato all'ordine
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | Chiave ordine |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.1.5.3 - Esempio Se il ddt elaborato è "12018I000123", facendo riferimento all'esempio indicato sopra al punto B.2.1, su APALLRACCORDI potremmo avere:
| A-ALR-DOC-TIPO | A-ALR-DOC-CHIAVE-OR | A-ALR-ALL-ID | Note |
|---|---|---|---|
| DMC | 12018I000100 | 1 | Raccordi tra il ddt e gli allegati delle 3 materie prime |
| DMC | 12018I000100 | 2 | |
| DMC | 12018I000100 | 3 | |
| ORC | C201800000010 | 1 | Raccordi tra gli ordini e gli allegati delle 3 materie prime |
| ORC | C201800000010 | 2 | |
| ORC | C201800000020 | 2 | |
| ORC | C201800000030 | 3 |
B.2.1.6 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati, usando il nome A_ALP_FILE_NAME B.2.2 - Elaborazione modelli certificazione Come prima cosa effettuare una chiamata a COGD76, con i seguenti parametri
| Dato | Contenuto |
|---|---|
| COGD76-DOC-TIP | "D" |
| COGD76-DOC | Chiave del ddt in elaborazione |
| COGD76-OPERAZIONE | "ESTR-WEB" |
| COGD76-FILE-TRANSITO | Nome del file di transito da creare, comprensivo di data+ora sistema |
All'interno del programma saranno eseguite una serie di elaborazioni che: * Generano i documenti PDF necessari alla certificazione nella cartella configurata path-sync-allegati, * Archiviano i documenti nei dossier degli ordini * Creano un file di transito chiamato T-ALLEGATI con l'elenco dei documenti interessati (vedi Operazione "ESTR-WEB" ) Se l'esito dell'elaborazione è negativo, segnalare un errore critico e skippare il documento. In questo modo dobr Quindi ora dovremo scorrere T-ALLEGATI: ciascun record corrisponde ad un documento da esportare. Per ciascun record quindi ripetere il processo B.2.3 B.2.3 - Esportazione allegato B.2.3.1 - Controllo se l'allegato è già esportato Se l'allegato è già esportato, sarà già presente nella tabella ARPALLEGATI - Allegati su documenti: fare quindi una ricerca tramite query su questa tabella:
| Dato | Contenuto |
|---|---|
| A-ALL-AZIENDA | Azienda attiva |
| A-ALL-IMG-TIP-DOC | T-ALL-IMG-DOC-TIP |
| A-ALL-IMG-DOC-COGE | T-ALL-IMG-DOC-COGE |
Se il record viene trovato, significa che l'allegato è già stato esportato. Potrebbe pero' non essere più lo stesso: se ad esempio lo stesso documento viene cancellato e reinserito, il riferimento al documento è lo stesso ma progressivo e protocollo sono diversi. Quindi proseguiamo ugualmente fino ad arrivare all'estrazione del singolo certificato. B.2.3.2 - Estrazione singolo certificato Chiamata a COGU06:
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | T-ALL-IMG-DOC-TIP |
| U06-DOC-COGE | T-ALL-IMG-DOC-COGE |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO Quindi, se il record su ARPALLEGATI non è stato trovato, o se è stato trovato e A-ALL-PROGRESSIVO <> U06-PROGRESSIVO, è necessario procedere con l'esportazione. B.2.3.3 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | U06-DOC-CLASSE |
| A_ALL_SOTTOCLASSE | U06-DOC-SUBCLASSE |
| A_ALL_ARX_PROGRESSIVO | U06-PROGRESSIVO |
| A_ALL_IMG_PROTOCOLLO | U06-PROTOCOLLO-MANUALE |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | U06-DO-NUM-INT |
| A_ALL_IMG_TIP_DOC | U06-TIP-DOC |
| A_ALL_IMG_DOC_COGE | U06-DOC-COGE |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.2.3.4 - Collegamento allegato a documenti AREA (ARPALLRACCORDI) L'allegato ora dovrà essere collegato con i documenti interessati: B.2.3.4.1 - Collegamento allegato al ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
Caso particolare: in caso di collegamento tra un allegato "M1801" e il ddt, creo un solo raccordo per ciascun tipo (EXC1...EXC4) B.2.3.4.2 - Collegamento allegato all'ordine
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | T-ALL-ORDINE |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.2.3.5 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati, usando il nome A_ALP_FILE_NAME B.3 - Esportazione stampa ddt Al termine dell'esportazione degli allegati, dobbiamo esportare la stampa del ddt. B.3.1 - Creazione stampa ddt (Questa sezione può essere copiata da ASN575, X-ARCHIVIA-E-STAMPA B.3.1.1 - Preparazione file da archiviare Definire una variabile W-PRINTER, che deve essere valorizzata con il nome del ddt: EXT-TMP-DIR EX-OS-SLASH TES-CHIA3 ".pcl" Assegnare il nome del file alla stampante: set environment "printer" to w-printer Effettuare la cancellazione del file W-PRINTER usando COPIAF, e al termine per avere la certezza che tutto sia corretto, eseguire la FILEINFO sempre con COPIAF, e verificare l'esito. Se negativo, segnalare sul file di log e skippare tutta la fase B.3. B.3.1.2 - Creazione file di stampa Chiamata a COGV52:
| Dato | Contenuto |
|---|---|
| V52-FL-ARCHIVIA | "ARCHIVIA" |
| V52-CALLED | "COGV52-CALLED" |
| V542-BOLLA | TES-CHIA3 |
All'uscita con COPIAF testare l'esistenza del file creato (W-PRINTER). Se il file non esiste, segnalare sul file di log e skippare il resto della fase B.3 B.3.1.3 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "DDT N. " chiave editata |
| A_ALL_NUMERO_INTERNO | TES-CHIA3 |
| A_ALL_IMG_TIP_DOC | "BU" |
| A_ALL_IMG_DOC_COGE | TES-CHIA3 |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.3.1.4 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 ad esempio "12018I000100" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.3.1.5 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME B.4 - Esportazione stampa conferma d'ordine Per ciascun ordine considerato nell'elaborazione dobbiamo esportare la stampa della conferma d'ordine. B.4.1 - Creazione stampa conferma d'ordine Eseguire una chiamata a COGO65M:
| Dato | Contenuto |
|---|---|
| O65M-ORDINE | Testata ordine |
| O65M-OPERAZIONE | "ARCHIVIA" |
| O65M-PROG-MODELLO | 0 |
| O65M-NOME-FILE | path-apri-file "\ORDINE-" tor-chia ".pdf" |
Al termine dell'elaborazione, verificare con COPIAF, operazione "fileinfo" se il file richiesto esiste. Se non esiste, segnalare sul log e skippare il resto dell'elaborazione. B.4.2 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Verificare se esiste l'allegato relativo alla stampa della conferma ordine; ricerca su ARPALLEGATI con una query impostando:
| Dato | Contenuto |
|---|---|
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_IMG_TIP_DOC | "OC" |
| A_ALL_IMG_DOC_COGE | TOR-CHIA |
Se non esiste deve essere inserito, altrimenti aggiornato. Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "Ordine N. " tor-chia editato |
| A_ALL_NUMERO_INTERNO | TOR-CHIA |
| A_ALL_IMG_TIP_DOC | "OC" |
| A_ALL_IMG_DOC_COGE | TOR-CHIA |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.4.3 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-ordine-cliente |
| A_ALR_DOC_CHIAVE_OR | TOR-CHIA ad esempio "C201800001230" |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.4.4 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME B.5 - Esportazione packing list Le packing list sono praticamente le stampe i buoni di prelievo usati durante la preparazione dei pallet per la spedizione dei tubi (i bdp vengono usati anche per le lamiere ma in modo diverso e per il momento non sono considerati). Scansione di COGGENER usando la chiave primaria, impostando
| Dato | Contenuto |
|---|---|
| GNR-TIP | "BB" |
| GNR-PARTE-1 | TES-CHIA3 |
Per ciascun record trovato, GNR-PARTE-2 contiene la chiave del BDP. Leggere quindi la prima riga collegata al bdp su COGRIGBP, e valutare RBP-MERCE: se il codice merce inizia per "PR", il bdp riguarda profilati ed è da considerare, altrimenti si passa al successivo. B.5.1 - Creazione stampa packing list Eseguire una chiamata a COGP64:
| Dato | Contenuto |
|---|---|
| P64-OPERAZIONE | "ARCHIVIA" |
| P64-FL-STA | " " |
| P64-CALLED | "COGP64-CALLED" |
| P64-BUONO | tbp-chia1 |
| P64-NOME-FILE | path-apri-file "\BDP-" tbp-chia1 ".pdf" |
Al termine dell'elaborazione, verificare con COPIAF, operazione "fileinfo" se il file richiesto esiste. Se non esiste, segnalare sul log e skippare il resto dell'elaborazione. B.5.2 - Esportazione: creazione ARPALLEGATI e ARPALLPAG Verificare se esiste l'allegato relativo alla stampa del buono di prelievo; ricerca su ARPALLEGATI con una query impostando:
| Dato | Contenuto |
|---|---|
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_IMG_TIP_DOC | "BP" |
| A_ALL_IMG_DOC_COGE | TBP-CHIA1 |
Se non esiste deve essere inserito, altrimenti aggiornato. Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | " " |
| A_ALL_SOTTOCLASSE | " " |
| A_ALL_ARX_PROGRESSIVO | 0 |
| A_ALL_IMG_PROTOCOLLO | 0 |
| A_ALL_DES | "Packing list n. " tbp-chia1 editato |
| A_ALL_NUMERO_INTERNO | TBP-CHIA1 |
| A_ALL_IMG_TIP_DOC | "BP" |
| A_ALL_IMG_DOC_COGE | TBP-CHIA1 |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato il ddt (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. B.5.3 - Esportazione: creazione ARPALLRACCORDI Inserire o aggiornare il raccordo con il ddt
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-doc-mag-cliente |
| A_ALR_DOC_CHIAVE_OR | TES-CHIA3 |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
B.5.4 - Spostamento file Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME C - Esportazione documenti collegati a fattura Il programma dovrà considerare le sole fatture attive emesse negli ultimi 2 anni (data limite 1/1/2017), e considerare quelle non ancora esportate: Scansione di COGFATTU usando la chiave FAT-CHIA8, impostando FAT-DAMOV = 2 anni prima di data sistema. Se la data è inferiore a 1/1/2017, questa sarà la data di inizio. Dovranno essere considerate solo le fatture attive: * Ricerca del tipo documento iva FAT-TIP, sulla apposita tabella: * EUTA-TIPO = k-euta-tipo-doc-iva * EUTA-COD = FAT-TIP * Se EUTA-CLIFOTIVA inizia per "C", allora è una fattura attiva (a cliente); quindi proseguire; altrimenti scartare la fattura. Posizionarsi quindi su COGFATT2; se FAT2-FL-ESP-ALLEGATI = 'E', scartare la fattura; altrimenti proseguire. C.1 - Esportazione documenti Per il momento sulla fattura è sufficiente esportare il documento "Fattura" (la stampa della stessa). C.1.1 - Esportazione fattura La fattura esportata dovrà essere già archiviata. Effettuare una chiamata a COGU06:
| Dato | Contenuto |
|---|---|
| U06-OPE | "ESTRAI-DA-DOC" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "FC" |
| U06-DOC-COGE | U06-DOC-COGE |
Se l'operazione riesce, verrà restituito in U06-FILE il nome del documento estratto, e il progressivo in U06-PROGRESSIVO Se invece queste informazioni sono vuote, eseguiamo direttamente l'archiviazione: C.1.1.1 - Archiviazione fattura (vedi COGD74) C.1.1.1.1 - Stampa su file Impostare la variabile di environment W-PRINTER a "EXT-TMP-DIR EXT-OS-SLASH ChiaveFattura.pdf" Chiamata a COGP41
| Dato | Contenuto |
|---|---|
| P41-DA-FATTURA | FAT-CHIA1 |
| P41-A-FATTURA | FAT-CHIA1 |
| P41-COPIE | 1 |
| P41-FL-ARCHIVIA | "ARCHIVIA" |
Se invece queste informazioni sono vuote, segnalare sul file di log "Fattura xx/xxxx/xxxxxxxx non ancora archiviata" e skippare. C.1.1.1.2 - Archiviazione Il percorso di stampa W-PRINTER deve essere convertito in un formato client, usando COPIAF (operazione "CONVERT-PATH). Chiamata a COGU06
| Dato | Contenuto |
|---|---|
| U06-OPE | "Inserisci-file" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "FC" |
| U06-DOC-COGE | U06-DOC-COGE |
C.1.2 - Creazione ARPALLDOCUMENTI Inserire o aggiornare un record su ARPALLDOCUMENTI:
| Dato | Contenuto |
|---|---|
| A_ALD_AZIENDA | L'azienda in elaborazione |
| A_ALD_DOC_TIPO | k-doc-tip-fattura-cliente |
| A_ALD_DOC_CHIAVE_OR | FAT-CHIA1 ad esempio "CL20180000100" |
| A_ALD_DOC_CHIAVE_ED | FAT-CHIA1 editato ad esempio "CL/2018/0000100" |
| A_ALD_DOC_DATA | FAT-DAMOV |
| A_ALD_ANA | Il riferimento al cliente di fatturazione |
| A_ALD_ANA_DOC_KEY | " " |
| A_ALD_ANA_DOC_DATA | " " |
| A_ALD_VAL | " " |
| A_ALD_FL_SCARICATO | "N" |
Quindi, se il record su ARPALLEGATI non è stato trovato, o se è stato trovato e A-ALL-PROGRESSIVO <> U06-PROGRESSIVO, è necessario proseguire con l'esportazione C.1.3 - Inserimento/aggiornamento record ARPALLEGATI e ARPALLPAG Inserire o aggiornare ARPALLEGATI, impostando
| Dato | Contenuto |
|---|---|
| A_ALL_ID | Non valorizzato (autoincrement) |
| A_ALL_AZIENDA | Azienda attiva |
| A_ALL_CLASSE | U06-DOC-CLASSE |
| A_ALL_SOTTOCLASSE | U06-DOC-SUBCLASSE |
| A_ALL_ARX_PROGRESSIVO | U06-PROGRESSIVO |
| A_ALL_IMG_PROTOCOLLO | U06-PROTOCOLLO-MANUALE |
| A_ALL_DES | U06-DO-OGGETTO |
| A_ALL_NUMERO_INTERNO | U06-DO-NUM-INT |
| A_ALL_IMG_TIP_DOC | U06-TIP-DOC |
| A_ALL_IMG_DOC_COGE | U06-DOC-COGE |
| A_ALL_VAL | " " |
Se il record è stato appena inserito, rileggerlo per avere corrente A_ALL_ID (la chiave di inserimento). Inserimento/variazione ARPALLPAG
| Dato | Contenuto |
|---|---|
| A_ALP_ALL_ID | A_ALL_ID |
| A_ALP_PAGINA | 1 |
| A_ALP_AZIENDA | Azienda attiva |
| A_ALP_FILE_EXT | L'estensione originale del file |
| A_ALP_FILE_NAME | In caso di: Inserimento CRYPT" Modifica |
| A_ALP_SUBPATH | Chiave anagrafica a cui è collegato l'ordine (ad esempio "ANA-C01234" |
| A_ALP_VAL | " " |
| A_ALP_DIMENSIONE | Dimensione del file da trasferire |
| A_ALP_FL_SCARICATO | "N" |
In magenta i dati da aggiornare in caso di variazione. C.1.4 - Inserimento/aggiornamento ARPALLRACCORDI L'allegato ora dovrà essere collegato con il documento fattura
| Dato | Contenuto |
|---|---|
| A_ALR_AZIENDA | Azienda attiva |
| A_ALR_DOC_TIPO | k-doc-tip-fattura-cliente |
| A_ALR_DOC_CHIAVE_OR | FAT-CHIA1 |
| A_ALR_ALL_ID | A_ALL_ID |
| A_ALR_VAL | " " |
C.1.5 - Spostamento del file allegato Quindi, spostare il file estratto nel percorso configurato in path-sync-allegati \ A_ALP_SUBPATH, usando il nome A_ALP_FILE_NAME Z - Inserimento/aggiornamento ARPALLRACCORDI Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A-SYN-AZIENDA | Codice azienda |
| A-SYN-TABELLA | "SWA052" |
| A-SYN-DA-GES-DATA | Data/ora dell'ultimo record aggiornato |
| A-SYN-DA-GES-ORA |
Estratto da documentazione interna ClickUp
Divergenze note rispetto al codice (aggiornamento 2026-03-11)¶
Confronto con sorgente swa052.cbl:
- Nessuna scansione inversa: il codice non contiene READ PREVIOUS
- COGU06: chiamato in 4 punti per estrazione certificati
- COGD74: auto-archiviazione con pattern COGD74-CALLED
- Conversione PCL a PDF: presente nel flusso fatture
- Tipi VT e TRACE: tipi allegato gestiti in bx-all-tip
- PDFREADER: parametro PDFREADER-PRG letto da COGCNF
- COGAREXP: 5+ sezioni helper per gestione record
- Sezione storica: estratta da ClickUp, potrebbe non essere allineata