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