Vai al contenuto

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

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

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