COGP78 - Stampa Etichette Bar Code Lotti¶
Scopo¶
Programma di stampa etichette con bar code per i lotti di prodotto. Supporta tre modalita' di estrazione (D=documento di magazzino, E=elenco merci selezionato manualmente, L=lotto avanzato in chiamata) e diverse stampanti etichette (Kyocera/laser con prescrizione, Zebra/Eltron, Clever). Configurazioni e modello di etichetta letti da RNEWCONF. Per personalizzazione "Artic Seals" delega tutto a COGP78HT.
Posizioni menu¶
- Magazzino > Archivi & Tabelle > Stampe > Merci > Bar Code Lotti
File e Tabelle¶
| File | Copybook | Utilizzo |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella file di sistema |
| COGMERCI | cogp78.fd | Anagrafica merci (confezione, EAN, peso) |
| COGMERLT | cogp78.fd | Merci-lotto (estrazione lotti aperti per merce) |
| COGMOVLT | cogp78.fd | Movimenti lotto (estrazione da documento di magazzino) |
| COGTESBO | cogp78.fd | Testata bolle/DDT |
| COGTESBP | cogp78.fd | Testata buoni di prelievo |
| COGRIGBP | cogp78.fd | Righe buoni di prelievo |
| COGCONOR | cogp78.fd | Consegne ordini (riferimento riga ordine da bdp) |
| COGGEANA | cogp78.fd | Anagrafica clienti/fornitori (padre, codici alternativi) |
| COGMAGAZ | cogp78.fd | Magazzini |
| COGRACMC | cogp78.fd | Codici merce alternativi (per CMC) |
| COGRACMT | cogp78.fd | Codici merce per anagrafica |
| COGDBASE | cogp78.fd | Distinta base (ricerca peso) |
| COGLAVOR | cogp78.fd | Lavorazioni (data inizio per produzione) |
| COGLGLOT | cogp78.fd | Legami lotti (lotti a monte) |
| COGMATRI | cogp78.fd | Matricole/seriali |
| COGMOMAG | cogp78.fd | Movimenti magazzino |
| CLNMERLT | cogp78.fd | Lotti cliente |
| FLSTA | flsta.cpy | File stampante |
| PCLINP | dichiarato in-line | File binario per logo PCL caricato in buffer |
Copybook¶
cogp78.select,cogp78.fd,cogp78.wrk,cogp78-01.scr,cogp78.decla,cogp78.prcfeurtab.fd,cogfiles.cpy,flsta.fd,flsta.cpy,k-personal.cpywgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy,utillogo.cpyutilu05.cpy,utilu09.cpy,utils52.cpy,utils54.cpy,utils65.cpy,utils68.cpy,utilu10.cpy,utilw36.cpy,utilcrms06.cpy,utildlg.cpy,utilgesdebug.cpy,utilncnf.cpycogdbase.cpy(replacing leadingdba-per chiave 2)wcont.cpy,utilp78.cpy,utils01.cpy,wcont1.cpy(linkage)grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,sendw36.cpy,msgmerce.cpy,gesdebug.cpycogmomag.k04,cogmerlt.k02,cogmatri.k03,cogracmc.k02,cogracmt.k02,cogdbase.k02
CALL¶
| Programma | Scopo |
|---|---|
| COGP78HT | Versione "head/tail" (Artic Seals); riceve il controllo se az-personal = k-personal-artic-seals |
| COGS54 | Selezione stampante e parametri di stampa |
| COGU05 | Selezione multipla merci e gestione lotto/copie/note (Lotto-int-copie) |
| COGU09 | Ricerca riga ordine collegata a riga movimento o riga bdp |
| RNEWCONF | Lettura configurazione (stampante, modello laser, dimensioni, densita') |
| COGS01 | Calcolo prezzo netto da listino |
| c$justify | Allineamento stringhe Acu |
Nelle versioni piu' lunghe del codice sono presenti anche chiamate (commentate) a S52, S65, S68, U10, W36 (collegamenti calendario, ricerche, conversioni divisa) usate dalla maschera input.
Logica di elaborazione¶
Parametri input (tab-maschera)¶
tm-estrazione: D=documento, E=elenco merci, L=lotto avanzato (chiamato)tm-tipo-documento: B=buono prelievo, altri tipi bollatm-doc-mag/-ann/-tip/-num: chiave documentotm-tipo-copie: P=pezzi, C=confezionitm-tipo-etichetta: configurazione modello etichettatm-kyo-v-cur/tm-kyo-h-cur: posizione prima etichetta su foglio lasertm-ana/tm-ana-padre/tm-ana-padre-orig: cliente del documento (per CMC)
Configurazioni RNEWCONF lette (gruppo merci)¶
p78:stampante lotti->tm-cfg-printer(C/E/L/altro)p78:etichetta laser lotti->tm-cfg-eti-laserp78:modello laser start initial setup->tm-cfg-ini-startp78:modello laser size initial setup->tm-cfg-ini-sizep78:modello laser start final setup->tm-cfg-fin-startp78:modello laser size final setup->tm-cfg-fin-sizep78:tipologia stampa etichetta->tm-cfg-tipo-eti- gruppo
etichette->speciale:famiglia-cliente - gruppo
CICLI->Q3-MAG-CONTROLLI - gruppo
ODONTO->CLEVER DENSITY->tm-cfg-density
Configurazione per periferica (x99-cfg-periferica): rilettura CLEVER DENSITY con s54-prf-sel come sottochiave.
Flusso¶
apri: ctr-abil, init programma, lettura azienda- Se
az-personal = k-personal-artic-seals-> CALL COGP78HT e exit x99-src-confi: lettura configurazione, set dimensioni etichetta laser- Gestione chiamata da altro programma (
p78-in-call = COGP78-CALLED): - Estrazione automatica del documento dal chiamante (COGV14, COGV14W, COGV15, COGM21, COGMAN); imposta tipo etichetta entrata o uscita materiali
- Maschera input con accept campi controllati da visibilita' (
x-visible-tm-*) a-richiesta-conferma->acc-conf-> letture testata documento (cogtesbpper B,cogtesboaltrimenti); ricerca padre tramitecoggeanaa900: chiamata COGS54 con emulazione in base atm-cfg-printer(CLEVER/EPL2/PRESCRIBE)- Stampa:
b-docum: scansionecogmovltper la chiave testa documento, una iterazione per ogni rigae-merci: ciclo suu05-merce(1..200)(caricato da COGU05 con F5)l-lotto-ava: stampa diretta etichetta Eltron da dati ricevuti in linkageutil-p78(lotto avanzato per Artic Seals)s-stampa: per ciascuna merce/lotto, calcolo numero copie (mvl-qta o mvl-qta/mer-confezione), composizione etichetta secondo modello (Kyocera prescribe da buffer logowb-logo, Zebra/Eltron, Clever, EPL2)print-eltron-q240: modalita' alternativa per Zebra Eltron tlp2844 con etichetta cms.3*5 q400 Q240,21 (chiamata daseleziona-e-stampa-lotti-apertiquandotm-cfg-tipo-eti = "A")a910: chiusura stampa,s54-emu-dis,x1-close-printer, COGS54 after-print
Note tecniche¶
- Programma di dimensioni elevate (~2780 righe) con molte modalita' di stampa
- Il modello di etichetta laser viene caricato in un buffer
wb-logo/ri-modello(max 20000/6000 byte) per essere riutilizzato in ogni etichetta - Il file
pclinpviene letto in binario per caricare il logo PCL nel buffer - Calcolo del peso prodotto in
a2-cerca-peso: prima damer-peso, in alternativa cerca sucogdbaseun componente condba-gru-f = "MM"(prefisso materia prima) - Gestione lotti a monte (
a3-cerca-lotti-a-monte): per assemblati, navigacoglglot->clnmerlt->coglavorper data lotto piu' vecchio - Trimestre derivato dal mese del lotto (
1Q/,2Q/,3Q/,4Q/) - Stampa CMC (codice merce cliente) abilitata se estrazione D/E con tipo documento I/D/B o tipo
B - Debug centralizzato tramite
gesdebug(aperturageslprc-msg)