COGU07 - Gestione matricole e s/n¶
Posizione nel menu Programma non a menu Linkage section Da completare Logica generale Raccolta di funzioni necessarie per la gestione dei s/n. Maschera del programma Nessuna maschera. Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.
Operazione: aggiorna-cogsnagg¶
Descrizione Data una matricola, aggiorna il record COGSNAGG collegato al s/n in modo da mantenerlo allineato alla situazione attuale. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "aggiorna-cogsnagg" |
| U07-MAT-DA | Matricola da cui effettuare l'aggiornamento | |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO |
Elaborazione Si effettua una ricerca dell'esistenza del record COGSNAGG relativo alla matricola appena inserita:
| Dato | Contenuto |
|---|---|
| SNA-MERCE | MTR-MERCE |
| SNA-SN | MTR-SN |
Se il record non esiste viene inserito. 15/02/2021 In precedenza per motivi di performance si dava per scontato che la matricola passata in input fosse l'ultima della catena. Non è più possibile farlo perchè questo genera dei problemi: vedi COGV14W dove l'operazione viene eseguita anche a seguito di un aggiornamento del carico: se le matricole sono già state trasferite, esegue un aggiornamento errato!! Quindi, ora si cerca l'ultima matricola della catena prima di proseguire. Dopodichè si aggiornano le informazioni:
| Dato | Contenuto |
|---|---|
| SNA-MATRICOLA | MTR-MAT |
| SNA-VAL | " " (in questo modo il record, se cancellato logicamente, viene riattivato) |
| SNA-UBI-TIP | MTR-UBI-TIP |
| SNA-UBI-COD | MTR-UBI-COD |
| SNA-FL-EU | MTR-FL-EU |
Operazione: aggiorna-ana-uscita¶
Descrizione Aggiorna l'anagrafica presente sulle matricole uscita. Per il momento questa operazione è possibile solo per un intero documento. Diamo per scontato che si tratti di un documento di uscita. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "aggiorna-ana-uscita" |
| U07-I-DOC-TESTA | Chiave del documento di magazzino di cui aggiornare le matricole uscite | |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO |
Elaborazione Elaborazione per documento Si effettua la lettura della testata del documento (COGTESBO), da cui ricavare l'anagrafica di uscita.
| Dato | Contenuto |
|---|---|
| TES-CHIA3 | U06-I-DOC-TESTA |
Il documento passato deve esistere Dopodichè si scorrono tutte le matricole uscite collegate al documento, usando MTU-CHIA3:
| Dato | Contenuto |
|---|---|
| MTU-FL-DOC | "B" |
| MTU-BOLLA | U06-I-DOC-TESTA |
Per ciascun record trovato aggiornare il record impostando l'anagrafica corretta:
| Dato | Contenuto |
|---|---|
| MTU-ANA-TIP | TES-TIPOCF |
| MTU-ANA-COD |
Operazione: auto-link-sn¶
Descrizione Permette l'entrata di un s/n già esistente, e di agganciarlo ad un altro s/n precedentemente uscito. Dalla documentazione del programma risulta che questa operazione sarà utilizzabile solo se il s/n richiesto esiste. NB: la nuova matricola sara' sullo stesso codice merce della vecchia, quindi non usare nel caso in cui il nuovo documento ha codice merce diverso!! (ad.es. ASN570) Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "auto-link-sn" |
| U07-MAT-PADRE | Matricola a cui agganciare il nuovo movimento | |
| U07-I-OPTION | da documentare da documentare da documentare |
|
| U07-I-FL-RESO | Indica se sto generando un reso da cliente (S/N) | |
| U07-I-STESSO-SN | se "S" forza la creazione della matricola serial identico a quello del padre (x merci con mer-fl-sn= "T") | |
| U07-ENT | codice della bolla di entrata alla quale legare la matricola figlia che si va a creare | |
| U07-MAG-PADRE | magazzino padre (da cui si genera il link) usato SOLO nel caso di link singolo |
|
| U07-I-FOR | codice del fornitore al quale legare la matricola figlia che si va a creare usato in TUTTI e DUE i casi |
|
| U07-TRS | nome file di transito contenente l'elenco di matricole padre da linkare usato SOLO nel caso di link multiplo |
|
| U07-OPEN-TRS | 'U' usato SOLO nel caso di link multiplo | |
| OUTPUT | U07-O-MAT-FIGLIA | Conterrà, se trovata, l'ultima matricola della catena corrispondente al s/n cercato, in funzione dei parametri sopra impostati |
| U07-FL-EU-FIGLIA | Indica, se la matricola è stata trovata, se è |
Operazione: cancella-cogsnagg¶
Descrizione Data una matricola cancellata, verifico se devo effettuare la cancellazione logica o se invece devo aggiornare il record COGSNAGG con la matricola precedente nella catena. NB: questa chiamata deve essere effettuata PRIMA della cancellazione dell'eventuale raccordo tra la matricola figlia e quella padre, altrimenti il ragionamento fatto non funziona. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cancella-cogsnagg" |
| U07-MAT-DA | Matricola cancellata | |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO |
Elaborazione Si effettua la ricerca della matricola padre, rispetto a quella passata, con una ricerca su COGGENER.GNR-CHIA2:
| Dato | Contenuto |
|---|---|
| GNR-TIP | "MM" |
| GNR-PARTE-2 | MTR-MAT |
Se trovato, GNR-PARTE-1 contiene la matricola padre: verificare se questa ha lo stesso serial number; se si, viene considerata "matricola padre". Dopodichè si esegue la creazione di COGSNAGG se non esistente, poi: Padre trovato Aggiorno i dati della matricola padre
| Dato | Contenuto |
|---|---|
| SNA-MATRICOLA | MTR-MAT |
| SNA-VAL | " " (in questo modo il record, se cancellato logicamente, viene riattivato) |
| SNA-UBI-TIP | MTR-UBI-TIP |
| SNA-UBI-COD | MTR-UBI-COD |
| SNA-FL-EU | MTR-FL-EU |
Padre non trovato Il s/n non esiste più, lo marco come cancellato:
| Dato | Contenuto |
|---|---|
| SNA-VAL | "C" |
Operazione: cancella-uscita-matricola¶
Descrizione Operazione da eseguire quando su un documento di uscita viene rimosso un s/n. Questa chiamata si occupa anche di ripristinare lo stato corretto sulla matricola (entrata) e di sistemare cogsnagg Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cancella-uscita-matricola" |
| U07-MTR-DA | Matricola di cui cancellare la parte di uscita | |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO |
Elaborazione Verifiche preliminari Controllo se la matricola di cui cancellare l'uscita ha figlie, con una ricerca su COGGENER.GNR-CHIA2:
| Dato | Contenuto |
|---|---|
| GNR-TIP | "MM" |
| GNR-PARTE-1 | U07-MAT-PADRE |
Se trovato, si esce con errore. Cancellazione - Reimposto la matricola come entrata Cerco la matricola con una lettura di COGMATRI:
| Dato | Contenuto |
|---|---|
| MTR-MAT | U07-MAT-PADRE |
Se presente, aggiorno:
| Dato | Contenuto |
|---|---|
| MTR-FL-EU | "E" |
- Aggiorno COGSNAGG Si effettua una chiamata all'operazione Aggiorna-cogsnagg - Cancellazione uscita matricola Cerco il record COGMTUSC:
| Dato | Contenuto |
|---|---|
| MTU-MAT | U07-MAT-PADRE |
Se il record esiste, lo cancello.
Operazione: cancella-sn-prec¶
Descrizione Operazione da eseguire quando su una matricola viene variato il s/n In questo caso deve essere eseguito in sequenza: 1. cancella-sn-prec (questa operazione: va eseguita prima dell'aggiornamento di COGMATRI) 2. Aggiorna-cogsnagg Quando invece una matricola viene cancellata si deve eseguire Cancella-cogsnagg Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cancella-sn-prec" |
| U07-MTR-DA | Matricola su cui è stato variato il s/n | |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO |
Elaborazione Il s/n non esiste più, lo marco come cancellato:
| Dato | Contenuto |
|---|---|
| SNA-VAL | "C" |
Operazione: cerca-primo-padre¶
Descrizione Dato un s/n e una matricola, restituisce la matricola padre precedente della catena. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cerca-primo-padre" |
| U07-SN-FIGLIA | S/N da cercare | |
| U07-MAT-FIGLIA | Matricola da cercare | |
| U07-I-OPTION | ||
| U07-I-PROG-OPE | Programma chiamante | |
| U07-I-STESSO-SN | Se "S" verifica che il padre trovato abbia s/n identico a quello della figlia | |
| U07-I-FL-CLOCK | Setta lo stato del clock msg-a video: |
|
| OUTPUT | U07-MAT-PADRE | Conterrà, se trovata, la matricola precedente della catena, in funzione dei parametri sopra impostati |
Operazione: cerca-padre-origine¶
Descrizione Dato un s/n e una matricola, restituisce comunque la matricola padre originale della catena: se la matricola è la prima, verrà restituita la stessa. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cerca-primo-padre" |
| U07-SN-FIGLIA | S/N da cercare | |
| U07-MAT-FIGLIA | Matricola da cercare | |
| U07-I-OPTION | ||
| U07-I-PROG-OPE | Programma chiamante | |
| U07-I-STESSO-SN | Se "S" verifica che il padre trovato abbia s/n identico a quello della figlia | |
| U07-I-FL-CLOCK | Setta lo stato del clock msg-a video: |
|
| OUTPUT | U07-MAT-PADRE | Conterrà, se trovata, la prima matricola della catena, in funzione dei parametri sopra impostati |
| U07-SN-PADRE | S/N Padre (potrebbe essere diverso, se U07-I-STESSO-SN = "N") | |
| U07-O-ENT | Documento di entrata della matricola originale |
Operazione: cerca-sn-link¶
Descrizione Dato un s/n restituisce se questo esiste, e qual'è l'ultima matricola movimentata a fronte di questo s/n. Utile anche per cerca semplicemente se il s/n esiste, e qual'è l'ultima matricola della catena Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "cerca-sn-link" |
| U07-SN-PADRE | S/N da cercare | |
| U07-I-OPTION | ||
| U07-I-PROG-OPE | Programma chiamante | |
| U07-FL-FIGLIA-COMUNQUE | Se il s/n esiste e l'ultima matricola della catena è uscita |
|
| U07-MAG-PADRE | Opzionale Magazzino su cui cercare la matricola |
|
| U07-MERCE | Opzionale Merce su cui cercare la matricola |
|
| U07-ENT | Opzionale Documento di entrata su cui cercare la matricola A cosa serve?? |
|
| U07-I-ANA-FOR | Opzionale Fornitore del serial A cosa serve?? |
|
| U07-ATTIVA-WIN-RICERCA | Default="S" Se nella routine, a causa di probabili errori, sono presenti + matricole entrate a fronte del s/n richiesto (la sequenza non è quindi lineare), generalmente viene emessa una finestra di selezione da cui selezionare la matricola richiesta. Se si imposta a "N", verrà prelevata ed esportata la prima delle matricole trovate: utile quando la chiamata viene fatta solo per sapere se il s/n in oggetto è in magazzino oppure no: è sufficiente una delle figlie di ultimo livello per saperlo. |
|
| OUTPUT | U07-MAT-FIGLIA | Conterrà, se trovata, l'ultima matricola della catena corrispondente al s/n cercato, in funzione dei parametri sopra impostati NB: non restituisce nulla se la matricola cercata non ha figlie |
| U07-FL-EU-FIGLIA | Indica, se la matricola è stata trovata, se è |
|
| U07-UBICAZIONE | Contiene l'ubicazione attuale della matricola restituita |
Operazione: check-all-cogsnagg¶
Descrizione Operazione usata una-tantum per verificare che l'ubicazione in COGSNAGG sia coerente con lo stato dell'ultima matricola della catena. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "check-all-cogsnagg" |
| U07-I-PROG-OPE | Nome del programma chiamante, con cui aggiornare i dati di log su COGSNAGG Se non fornito sarà ricavata da C$CALLEDBY |
|
| OUTPUT | U07-O-ESITO | In questo caso non viene restituito l'esito |
Elaborazione Si effettua una scansione di tutti i redcord di COGSNAGG, considerando solo quelli non cancellatI (SNA-VAL <> "C") Per ciascun record valido si scende la catena dei s/n fino ad arrivare all'ultima matricola a parità di codice merce collegato (per "Progresso" nei trasferimenti la merce potrebbe mutare, quindi in questo caso viene generato anche un nuovo COGSNAGG). Se la matricola trovata differisce da COGSNAGG per: * ID matricola * Ubicazione * Segno viene emessa una segnalazione sul log e, se previsto dal flag di aggiornamento B-FL-AGG, si effettua l'aggiornamento di COGSNAGG. Al termine sarà aperta la gestione del log per la procedura attiva NB: l'attivazione dell'aggiornamento deve avvenire manualmente in debug modificando B-FL-AGG
Operazione: crea-matricola¶
Descrizione Creazione di una nuova matricola , con eventuale collegamento ad una matricola precedente. Permette anche l'aggancio nel caso in cui la merce in entrata è diversa. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "crea-matricola" |
| U07-MAT-PADRE | Se presente indica di creare una matricola figlia di questa (solo se U07-I-FL-RESO = "S") | |
| U07-SN-PADRE | Indica il s/n da assegnare alla matricola (in alternativa a U07-MAT-PADRE) | |
| U07-I-FL-RESO | Indica se la matricola deriva da un reso da cliente (S/N) Se "S", attiva il processo di collegamento alla matricola padre indicata |
|
| U07-ENT | Riferimento documento di entrata | |
| U07-MERCE | Codice merce matricola | |
| U07-I-ANA-FOR | Riferimento anagrafico a cui associare la matricola | |
| U07-FL-EU | Flag entrata/uscita da chiarire | |
| U07-DATA | Data attivazione garanzia | |
| OUTPUT | U07-O-MAT-FIGLIA | Conterrà la chiave della matricola creata |
Operazione: uscita-matricola¶
Descrizione Permette di creare il movimento di uscita di una matricola, agganciandolo ad un documento di uscita Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | U07-OPE | "uscita-matricola" |
| U07-MAT-PADRE | Codice matricola di cui creare il documento di uscita | |
| U07-I-OPTION | ||
| U07-I-DOC-TIP | Tipo documento da agganciare: |
|
| U07-I-DOC | documento da agganciare, dipende da U07-I-DOC-TIP; se: |
|
| U07-I-DOC-SIGN | Segno del documento |
|
| U07-MERCE | Merce relativa alla matricola | |
| U07-I-ANA-CLI | Riferimento anagrafico a cui associare la matricola | |
| U07-DATA | Data attivazione garanzia | |
| OUTPUT |
Estratto da documentazione interna ClickUp