COGN43 - Stampa identificazione merce (etichette di posizione c/deposito)
Panoramica
Programma di stampa batch con maschera GUI di selezione. A partire da un documento
di magazzino (bolla/movimento) l'utente indica magazzino, anno, tipo, numero e
opzionalmente la riga; il programma stampa, per ciascuna riga movimento del
documento, una scheda di "identificazione merce" con codice articolo, descrizione
raggruppamento, posizioni di ubicazione (fino a 3), riferimento documento, data e
quantita'. La stampa e' orientata a stampanti laser (emulazione HPLJ3) e usa un
logo/modulo grafico di sfondo (ident_merce.prn). Viene avviato dal menu ricevendo
il gruppo linkage stringhe (copybook wcont/wcont1).
| Menu |
Percorso |
| Magazzino |
Produzione > Produzione > Matricole > Stampa identificazione merce |
Struttura del programma
File e tabelle utilizzati
| File/Tabella |
Tipo |
Descrizione |
feurtab |
Indexed (contenitore multi-tabella via cogfiles.cpy) |
Accesso alle tabelle COGE lette |
COGMOMAG |
Indexed |
Movimenti di magazzino: righe del documento selezionato (chiave mag-testa, letta in st-cogmomag-notmin/rdnxt-cogmomag; usata chiave .k04) |
COGTESBO |
Indexed |
Testata documenti/bolle: validazione documento (tes-chia3) e dati testata (magazzino, anno, tipo, numero, data) |
COGRACMC |
Indexed |
Raggruppamento merceologico: descrizione aggiuntiva articolo (rcm-cod-ava), chiave secondaria .k02 |
COGLGMER |
Indexed |
Ubicazioni/posizioni logistiche dell'articolo (box, corsia, colonna, piano): fino a 3 posizioni per pagina |
flsta |
Stampa |
File di stampa (record riga), gestito da flsta.cpy/flsta.fd |
Copybook principali
| Copybook |
Descrizione |
cogfiles.cpy |
Layout dei record delle tabelle contenute in feurtab |
cogn43.select / cogn43.fd / cogn43.wrk / cogn43.prc / cogn43.decla / cogn43-01.scr |
File generati da Screens per questo programma (select, FD, working, procedure di supporto, declaratives, screen section) |
k-personal.cpy |
Costanti di programma |
k-rma.cpy |
Costanti RMA/documenti |
cogazien.cpy |
Record azienda (az-...) |
utillogo.cpy |
Area parametri per PUTLOGO (logo-name) |
utils52.cpy / utils54.cpy / utilw92.cpy |
Aree parametri subroutine di data (S52), stampa/conferma (S54), messaggistica (W92) |
utilncnf.cpy |
Accesso a configurazioni RNEWCONF |
wstato / wopenf / wgrave / wnscr |
Copybook standard di stato, apertura file, errori gravi, gestione schermo |
cogracmc.k02 / cogmomag.k04 |
Copybook chiavi secondarie aggiunte manualmente in coda alla procedure division |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
COGS54 |
Selezione stampante / conferma stampa (s54-emu = 'HPLJ3') e chiusura post-stampa (s54-after-print) |
PUTLOGO |
Inserimento del modulo grafico di sfondo ident_merce.prn (da ext-mod-dir) |
Logica di elaborazione
apri: inizializzazione programma (z-99-init-program), abilitazioni (ctr-abil),
apertura file (open-files), lettura azienda (rd-azi), caricamento lingua e
costruzione della maschera (titolo "Stampa identificazione merce").
a4 e paragrafi a-tm-*: sequenza di accept dei campi della maschera
(tm-doc-mag, tm-doc-ann, tm-doc-tip, tm-doc-num, tm-doc-riga, tm-copie),
con navigazione F2 (indietro), F3 (conferma → a-fine-dati), gestione mouse
(x-test-mouse) ed eccezioni (z-99-exception-form).
- Controlli campo (
x-controlla-tm-doc-mag/-ann/-tip/-num/-riga/-copie):
magazzino obbligatorio, anno diverso da zero, tipo documento tra T/C/P,
numero obbligatorio con verifica esistenza su COGTESBO (rd-cogtesbo), copie
diverse da zero. x-controlla-dati li riesegue tutti alla conferma.
a-90: chiamata a COGS54 per la scelta stampante; se F3 conferma, esegue
stampa-tutto ripetuto tm-copie volte; a fine stampa richiama COGS54 con
s54-after-print = 'S'.
stampa-tutto: legge COGMOMAG a partire da mag-testa = tm-documento e scorre
tutte le righe del documento (rottura su mag-testa). Per ogni riga chiama
stampa.
stampa / stampa-pagina: apre la pagina (apri-stampa → init-page +
x42-logo che stampa il modulo ident_merce.prn via PUTLOGO); se
tm-doc-riga = 0 (tutte) o coincide con mag-prog, compone la pagina con
posizionamenti assoluti PCL (*pXXXyYYYX): gruppo/sottogruppo/codice articolo,
descrizione da COGRACMC (rcm-cod-ava), fino a 3 ubicazioni da COGLGMER
(box/corsia/colonna/piano), riferimento documento e data da testata COGTESBO,
quantita' (mag-qtamagaz). Chiude con chiudi-stampa → close-page.
fine / z-chiudi: z-close-files, chiusura finestra, z-99-exit-program,
exit program.
Note tecniche
- Programma per stampanti laser: le righe sono comandi di posizionamento PCL
(
*p...X/Y) scritti direttamente su riga; l'emulazione impostata a COGS54 e'
HPLJ3. Lo sfondo grafico e' il file ident_merce.prn caricato con PUTLOGO
dalla directory moduli (ext-mod-dir).
- Massimo 3 ubicazioni stampate per articolo (loop
COGLGMER con guardia w-i not < 3).
- La chiave secondaria
.k04 di COGMOMAG e la .k02 di COGRACMC sono incluse
manualmente in coda (le chiavi secondarie non vengono aggiunte automaticamente da
Screens).
- Il commento identificativo "(B&B)" nell'header indica un modulo di stampa
personalizzato per cliente; l'etichetta di menu ("Stampa identificazione merce")
corrisponde alla funzione reale.
- Uso residuo di
PERFORM ... THRU (stampa thru ex-stampa, stampa-pagina thru
ex-stampa-pagina) tipico del codice legacy, con paragrafi exit di chiusura.