Vai al contenuto

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).

Posizione nel menu

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

  1. 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").
  2. 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).
  3. 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.
  4. 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'.
  5. 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.
  6. stampa / stampa-pagina: apre la pagina (apri-stampainit-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-stampaclose-page.
  7. 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.