Vai al contenuto

COGQSB - Sincronizzazioni pesature con Nicelabel

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT COGQSB-OPE x(20) Vedi argomenti successivi
COGQSB-COMMESSA-PROD CLA-CHIA1 Comessa di produzione interessata alla campionatura; se indicata da qui si ricava:


COGQSB-MERCE merce Merce interessata alla campionatura
COGQBB-LM-MAG x(01) Lotto interno: magazzino
COGQSB-LM-PROG 9(06) Lotto interno: progressivo
COGQSB-QTA-RIC 9(08)v999 Qta richiesta
COGQSB-FORZA-CAMP x(01) Richiedo di forzare la campionatura
OUTPUT COGQSB-ESITO x(01) Esito dell'operazione
COGQSB-MSG x(200) Messaggio restituito
COGQSB-QTA-EVASA 9(08)v999 Quantità elaborata nella sessione di pesatura, indipendentemente dalla campionatura effettuata
COGQSB-MVCMP-ID 9(15) Id di movimento creato nella sessione
FILLER x(500)

Logica generale Gestione del colloquio di dati tra il gestionale e Nicelabel Configurazioni

Gruppo Parametro Note
merci soglia-ricampionatura-lotti
merci numero-campioni-media-peso

Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.

Operazione: PESATURA

Descrizione Su una postazione ricavata dai dati di sistema viene inviata una richiesta di pesatura e confezionamento a Nicelabel; dopodichè il programma rimane in attesa del completamento dell'operazione. 1. Inserisce un record su artrichiestepkg con la richiesta 2. Attende la risposta da Nicelabel Chiamata standard

Dato Contenuto
COGQSB-OPE "PESATURA"
COGQSB-COMMESSA-PROD Comessa di produzione interessata alla campionatura; se indicata da qui si ricava:


COGQSB-MERCE Merce interessata alla campionatura
COGQBB-LM-MAG Lotto interno: magazzino
COGQSB-LM-PROG Lotto interno: progressivo
COGQSB-QTA-RIC Qta richiesta
COGQSB-FORZA-CAMP Richiedo di forzare la campionatura

La funzione restituirà quindi

Dato Contenuto
COGQSB-ESITO Esito dell'operazione
COGQSB-MSG Messaggio restituito
COGQSB-QTA-EVASA Quantità elaborata nella sessione di pesatura, indipendentemente dalla campionatura effettuata
COGQSB-MVCMP-ID Id di movimento creato nella sessione

Elaborazione Apertura e blocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.

Dato Contenuto
ASMF-TABELLA "artrichiestepkg"

Se la tabella è in uso dal sistema host "Nicelabel", attendo 1 secondo e ritento. Questo per 10 volte. Se l'operazione non riesce, esco restituendo un errore Se è già in uso da Area, si segnala sul log e si prosegue. Quando si prosegue, si deve aggiornare:

Dato Contenuto
ASMF-OCC-DATA Data/ora attuale
ASMF-OCC-ORA
ASMF-USO-AREA 1

Ricerca lotto merce Se il lotto è stato fornito deve esistere. Se non è stato fornito ma in alternativa è stata fornita la commessa di produzione, il lotto merce verrà creato automaticamente (vedi anche COGL01A) Ricerca ordine cliente Si innesca COGQ44 per permettere all'utente di scegliere un ordine cliente per il quale effettuare il confezionamento; questo permetterà di ottenere il cliente e l'eventuale confezionamento specifico Verifica "campionatura necessaria" Questo è il punto nevralgico di tutta la procedura. Si è stabilito di avere una ricampionatura ogni N lotti prodotti per un determinato articolo; "N" verrà ricavato da: 1. Anagrafica articolo, se presente (cogmera3.ma3-soglia-ricampionatura) 2. Configurazione specifica soglia-ricampionatura-lotti Per sapere quindi se necessario ricampionare, si procede come segue: * Ricerca di campionature per il lotto: * Ricerca su COGMERLT del lotto: * Se MLT-FL-CAMPIONATURA = "S", significa che il lotto è già stato campionato, quindi NON si deve effettuare una richiesta di nuova campionatura (il peso lotto è stato accertato); altrimenti: * Ricerca ultimo lotto campionato * Scorro COGMERLT per tutti i lotti della merce, partendo dall'ultimo * Conto quanti lotti risultano NON campionati a partire dall'ultimo * Se il numero di lotti non campionato raggiunge la soglia, allora si richiede la campionatura; altrimenti, non si deve richiedere Invio richiesta Inserimento su artrichiestepkg di un nuovo record:

Dato Contenuto
RPKG-POSTAZIONE Per ora usiamo il codice postazione interno
Se non fosse sufficiente si potrà usare PTPO-DB-USER
RPKG-COMMESSA COGQSB-COMMESSA-PROD
RPKG-DATA-APE Data di sistema
RPKG-LOTTO-MERCE-INT La chiave del lotto merce interno; questo sarà composto da:
COGQSB-MERCE+COGQSB-LM-MAG+COGQSB-LM-PROG
RPKG-LOTTO-MERCE-EST Il codice lotto "esterno" ricavato su COGMERLT
RPKG-STATO "0"
RPKG-ARTICOLO-CMA Dati ricavati da COGQSB-MERCE
RPKG-ARTICOLO-CMI
RPKG-ARTICOLO-CMC
RPKG-ARTICOLO-DES
RPKG-QTA-COMMESSA Se presente la commessa di produzione, indica la qta totale della commessa da produrre
RPKG-PMU-ORIGINALE Il peso unitario "corrente" per l'articolo:
- Quello sul lotto se presente
- Altrimenti quello sull'articolo
RPKG-PMU-CAMPIONATO 0
RPKG-DATA-CAMPIONE 0
RPKG-QTA-BUSTA Qta busta richiesta: verrà ricavata da:



RPKG-ORDINE-CLIENTE Riferimento all'ordine cliente scelto
RPKG-RICAMPIONATURA Vedi Verifica "Campionatura necessaria"
RPKG-MODELLO-ETICHETTA da definire come ottenere il modello di etichetta
RPKG-QTA-EVASA

Sblocco semaforo Leggere su artmessemaforo la presenza del record relativo alla tabella in uso.

Dato Contenuto
ASMF-TABELLA "artrichiestepkg"

Il record esisterà e sarà in uso da Area. Quindi ora si deve semplicemente sbloccare il semaforo:

Dato Contenuto
ASMF-USO-AREA 0

Attesa risposta Si rimane in attesa; ogni "n" secondi si ripete il loop: * Blocco semaforo * Lettura record inserito * Sblocco semaforo finchè RPKG-STATO = '9' o "-1" Finchè non è in questo stato, il messaggio di attesa deve rispecchiare la situazione: * RPKG-STATO = "0" -> In attesa di elaborazione * RPKG-STATO = "1" -> In fase di packaging Restituzione controllo Se RPKG-STATO VALE "-1" restituire l'informazione al programma chiamante: "operazione annullata" Altrimenti si prosegue Registrazione informazioni Se RPKG-STATO VALE "9" si deve aggiungere una nuova riga su COGMVCMP:

Dato Contenuto
MVCMP-ID-MOV Nuovo id progressivo
MVCMP-DATA Data sistema
MVCMP-PROVENIENZA "N" (Nicelabel)
MVCMP-FL-CAMP-RICHIESTA RPKG-RICAMPIONATURA
MVCMP-FL-CAMP-ESEGUITA RPKG-RICAMPIONATURA
MVCMP-MERCE COGQSB-MERCE
MVCMP-LM-MAG COGQSB-LM-MAG
MVCMP-LM-PROG COGQSB-LM-PROG
MVCMP-COMMESSA-PRODUZIONE COGQSB-COMMESSA-PROD
MVCMP-QTA-PKG RPKG-QTA-EVASA
MVCMP-QTA-CMP 0 (serve)?
MVCMP-PESO RPKG-PMU-CAMPIONATO se presente, altrimenti
RPKG-PMU-ORIGINALE
MVCMP-UM-PESO "G"
MVCMP-POSTAZIONE RPKG-POSTAZIONE
MVCMP-FL-CANC " "

Aggiornamento peso lotto Se è stata chiesta la campionatura, il peso campionato viene fissato anche sul lotto merce:

Dato Contenuto
MLT-PESO-UNITARIO RPKG-PMU-CAMPIONATO
MLT-FL-CAMPIONATURA RPKG-RICAMPIONATURA

Aggiornamento peso articolo Se è stata chiesta la campionatura, viene calcolato il peso "ufficiale" articolo. Questo è determinato dalla media delle ultime "n" campionature effettuate per l'articolo, dove "n" è configurato in numero-campioni-media-peso Se 0, allora il peso viene sempre aggiornato sull'articolo.

Dato Contenuto
MER-PESO Peso medio "n" campionature

Quando è necessario effettuare una media si dovranno quindi scorrere i movimenti COGMVCMP sulla merce a ritroso fino a trovare le ultime "n" campionature, quindi calcolare la media aritmetica. Restituzione dati al prg chiamante Al termine restituire i dati al prg chiamante:

Dato Contenuto
COGQSB-ESITO Esito dell'operazione
COGQSB-MSG Messaggio restituito
COGQSB-QTA-EVASA RPKG-QTA-EVASA
COGQSB-MVCMP-ID MVCMP-ID-MOV

Operazione: RICALCOLA-PESO

Descrizione Operazione di servizio che permette di effettuare il ricalcolo del peso standard articolo (MER-PESO) per l'articolo passato in input o per tutti Chiamata standard

Dato Contenuto
COGQSB-OPE "RICALCOLA-PESO"
COGQSB-MERCE Merce interessata alla campionatura, non obbligatorio

La funzione restituirà quindi

Dato Contenuto
COGQSB-ESITO Esito dell'operazione
COGQSB-MSG Messaggio restituito

Elaborazione Ricalcolo peso articolo Per l'articolo COGQSB-MERCE o per tutti gli articoli, se esiste almeno una operazione di pesatura, il programma calcola il peso medio, sulla base del numero campioni configurati in numero-campioni-media-peso.

Dato Contenuto
MER-PESO Peso medio "n" campionature

Quando è necessario effettuare una media si dovranno quindi scorrere i movimenti COGMVCMP sulla merce a ritroso fino a trovare le ultime "n" campionature, quindi calcolare la media aritmetica. Restituzione dati al prg chiamante Al termine restituire i dati al prg chiamante:

Dato Contenuto
COGQSB-ESITO Esito dell'operazione
COGQSB-MSG Messaggio restituito

Estratto da documentazione interna ClickUp