DFN108 - Esportazione articoli¶
Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Id processo: 51108 Nome processo: DFN108 Logica generale Esportazione delle anagrafiche articoli specifiche per Siderpress Per il momento verranno esportate solo il sottoinsieme delle merci relative alla gestione taglio lamiere * COGMERCI+altre -> DFMERCITGL Questo processo funziona in EXPORT Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| dbfront | sincro-attiva | |
| dbfront | email-segnalazioni | |
| dbfront | db-tipo | |
| dbfront | db-conn-string | |
| dbfront | db-log-level |
Elaborazione Tipi di segnalazione: Vedi Tipi di segnalazione A - Controllo di esecuzione Vedi Controllo di esecuzione B - Apertura B.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: DFMERCITGL. Se fallita inviare una Segnalazione grave e chiudere. Tentare l'apertura della tabella semaforo: DFSEMAFORO. Se fallita inviare una Segnalazione grave e chiudere. B.2 Blocco semaforo Lettura del record DFSEMAFORO:
| Nome campo | Note |
|---|---|
| DF_SMF_TABELLA | DFMERCITGL |
Se il record non esiste inserirlo. Se risulta bloccato dal gestonale host (DF_SMF_USO_HOST = 1) Informazione sul log e chiudere. Dopodichè aggiornare il semaforo impostando:
| Nome campo | Note |
|---|---|
| DF_SMF_USO_AREA | 1 |
| DF_SMF_VERSIONE | Versione attuale: 1 |
D - Esportazione Leggere il record ARPSTPRC corrispondente al processo (51108). Da qui otteniamo: * A-STPR-LIMITA-RECORD per sapere se l'elaborazione è limitata a "n" record esportati * A-STPR-LIMITA-ERRORI per sapere se l'elaborazione è limitata a "n" errori trovati * A-STPR-UA-DATA + A-STPR-UA-ORA: data/ora ultima esportazione precedente Siccome sull'anagrafica merci non esiste nessun record che possa essere utilizzato per una ricerca ottimizzata in esportazione, useremo il log aggiornamenti. Quindi come prima cosa controlliamo che sia attivo il log su COGMERCI (TLF-CO-LOG (2)) Se non è attivo, segnalare con un errore critico e uscire. Altrimenti, la ricerca dipende dalla modalità di esportazione: D.1 - Esportazione completa Scansione di tutti i record su COGMERCI. Per ciascun record trovato eseguire il giro D.3 D.2 - Esportazione differenziale Ricerca del log degli aggiornamenti su COGMERCI partendo da A-STPR-UA-DATA + A-STPR-UA-ORA (vedi altri programmi che usano questo metodo, come i GRSM*)
Per ciascun record di log, considerare per ora solo quelli relativi ad inserimento e aggiornamento: - LGR-OPERAZIONE = "I" o "M" Per ciascun record posizionarsi su LOGIDREC, che conterrà la chiave dell'anagrafica aggiornata. Quindi leggere COGMERCI, ed eseguire il giro D.3 D.3 - Filtri ed esportazione articolo La merce letta va esportata solo se appartiene alla tipologia "taglio lamiere": potrebbe essere un prodotto finito o una materia prima di questa tipologia. * Materia prima lamiere: MER-GRU = "MP" * Prodotto finito lamiere: MER-GRU = "PF" Tutti gli altri record per ora vanno scartati. Leggere quindi tutti i record collegati necessari: - COGRACMC - COGRACMT (alcuni record che verranno spiegati in seguito) Verifichiamo se il record è già stato esportato, con una start su DFMERCITGL, usando DF_MPT_CHIA3, impostando:
| Nome campo | Contenuto |
|---|---|
| DF-MPT-AREA-COD | RCM-COD-AVA |
Se un record esiste, allora l'articolo è già esistente su DFANAGR, e si aggiorna. Altrimenti va inserito. D.3.1 - Aggiornamento articolo I dati da aggiornare sono i seguenti: Dati comuni
| Nome campo | Contenuto |
|---|---|
| DF-MPT-KEY | Verrà creato automaticamente in fase di inserimento (campo autoincrement) |
| DF-MPT-KEY-HOST | RCM-COD-AVA |
| DF-MPT-AREA-COD | MER-CHIA |
| DF-MPT-AREA-CMA | RCM-COD-AVA |
| DF-MPT-DES | MER-DESCR |
| DF-MPT-DES-ESTESA | " " |
| DF-MPT-EAN | MER-EAN |
| DF-MPT-CLASSE | MER-CLASSE |
| DF-MPT-VAL | MER-STATO |
| DF-MPT-UM | MER-UM |
| DF-MPT-AGG-HOST | 0 |
| DF-MPT-AGG-AREA | 1 |
Dati specifici "materia prima" NB: per maggior chiarezza consultare il contenuto delle tabelle del CMA di un qualunque prodotto "materia prima" su Siderpress
| Nome campo | Contenuto |
|---|---|
| DF-MPT-MATERIALE | Per ciascuna di queste tabelle cercare il valore presente su COGRACMT per la merce, impostando su RTM-TAB-TIP rispettivamente: Il record trovato contiene il codice tabella collegato: leggere quindi la tabella del codice merce avanzato su COGTABEL, con: Questo record potrebbe avere un codice di collegamento sul campo EUTA-TMA-LINK; se presente esportare questo, altrimenti direttamente RTM-TAB-COD |
| DF-MPT-DUREZZA | |
| DF-MPT-COMP-CHIM | |
| DF-MPT-MATERIA-PRIMA | Una volta ottenuto il codice materiale per la materia prima, cercare il record di TGLMATER collegato. Usare TMAT-RAGGRUPPAMENTO-ALMA; in assenza di questo: TMAT-MATERIA-PRIMA |
| DF-MPT-LUNGHEZZA | Per ciascuna di queste tabelle cercare il valore presente su COGRACMT per la merce, impostando su RTM-TAB-TIP rispettivamente: Il valore trovato è in formato numerico con 6 decimali; ad esempio "000000000005000000" rappresenta lo spessore "5" |
| DF-MPT-LARGHEZZA | |
| DF-MPT-SPESSORE | |
| DF-MPT-TIPOLOGIA | "M" |
| DF-MPT-SOTTOCLASSE | "L" |
Dati specifici "prodotto finito" Nel caso del prodotto finito le tabelle CMA non contengono le informazioni necessarie; leggere quindi la prima riga preventivo collegata al codice articolo: Ricerca ordine collegato Per prima cosa si cerca l'ultima riga ordine con l'articolo richiesto, tramite una ricerca all'indietro su COGRIGOR,ROR-CHIA3: * ROR-MERCE = articolo richiesto * ROR-TIPO = "Z" (permette la start all'indietro) Ricerca preventivo collegato Quindi si cerca il preventivo collegato alla riga ordine su TGLPRRIG.TRPR-CHIA2 (vedi ad esempio COGO65M) Qui si si ottengono le altre informazioni necessarie:
| Nome campo | Contenuto |
|---|---|
| DF-MPT-MATERIALE | Rispettivamente: Quindi procedere come per i materiali |
| DF-MPT-DUREZZA | |
| DF-MPT-COMP-CHIM | |
| DF-MPT-MATERIA-PRIMA | Una volta ottenuto il codice materiale per la materia prima, cercare il record di TGLMATER collegato. Usare TMAT-RAGGRUPPAMENTO-ALMA; in assenza di questo: TMAT-MATERIA-PRIMA |
| DF-MPT-LUNGHEZZA | Rispettivamente: Quindi procedere come per i materiali |
| DF-MPT-LARGHEZZA | |
| DF-MPT-SPESSORE | |
| DF-MPT-DISEGNO | Informazioni recuperate da TGLDISEG |
| DF-MPT-REVISIONE | |
| DF-MPT-PROGRAMMA | Vedi TGL410 |
| DF-MPT-TIPOLOGIA | "P" |
| DF-MPT-SOTTOCLASSE | "L" |
E - Chiusura E.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFMERCITGL, impostando
| Nome campo | Note |
|---|---|
| DF-SMF-USO-AREA | 0 |
E.2 Chiusura tabelle Chiudere le tabelle DFDFANAGR e DFSEMAFORO E.3 Aggiornamento stato Aggiornamento del record ARPSTPRC per il processo 51108, vedi DFN101
Estratto da documentazione interna ClickUp