Vai al contenuto

COGD15 -- Stampa Etichette Operatori

Sorgente: cbl/cogd15.cbl | Tipo: Programma maschera con griglia (mmmask + GRIDADMN) | Program-ID: COGD15

Menu: Magazzino > Produzione > Produzione 2


Scopo

Gestione di un elenco di operatori per la stampa di etichette con codice a barre in formato EPL2. Per ogni operatore vengono stampate due etichette: una per l'operazione di assemblaggio (codice "001") e una per il collaudo (codice "002").

File e tabelle

File/Tabella Tipo Descrizione
FEURTAB Input File tabelle di sistema (path file)
PRNTOPER I-O Anagrafica operatori (ptop-cod, ptop-des)
COGTRANS I-O File temporaneo di transito per l'elenco operatori selezionati; creato in ext-tmp-dir con nome #$COGD15.<operatore>
FLSTA Output File sequenziale per invio comandi alla stampante EPL2

Copybook principali

  • cogd15.select, cogd15.fd, cogd15.wrk, cogd15.prc, cogd15-01.scr -- File screen-generated
  • cogfiles.cpy -- Record FD di FEURTAB
  • prntoper.cpy, prntoper.fd -- Anagrafica operatori
  • flsta.cpy, flsta.fd -- File stampa sequenziale
  • wgrid.cpy, utilgdad.cpy -- Gestione griglia (GRIDADMN)
  • utils54.cpy -- Utility stampa (COGS54)
  • utilwp04.cpy, sendwp04.cpy -- Finestra aiuto operatori (COGSWP04)
  • utilgrid.cpy -- Utility griglia
  • cogtrans.k01, prntoper.k01 -- Chiavi primarie

Struttura del programma

main section
  apri              -- Inizializzazione, open file, configurazione tasti
  a4                -- Caricamento controlli
  a10 / a10-loop    -- Carica operatori da COGTRANS in tab-maschera
  a30               -- Costruisce la griglia e attiva navigazione
  a-grid            -- Gestione griglia: accept e dispatch eventi
  a-accept-grid     -- Accept principale; gestisce ESC, F9, F3, Invio, Ctrl+A, Ctrl+E
  a-riga-dettaglio  -- Dettaglio riga: inserimento o modifica operatore
  a-tm-cod          -- Accept codice operatore (con F8 = aiuto)
  a-tm-cod-tf       -- Gestione ESC/F2/F8 su codice
  a-riga-dettaglio-fine -- Conferma e aggiornamento COGTRANS
  fine / z-chiudi   -- Chiusura file e uscita

Stampa:
  stampa            -- Configurazione stampante (COGS54), loop su COGTRANS
  stampa-10         -- Loop: per ogni operatore stampa 2 etichette
  st-sta-etichetta  -- Generazione singola etichetta EPL2

Logica di elaborazione

  1. Inizializzazione: crea il file temporaneo COGTRANS (indexed, chiave trs-cod PIC 9(3)). Lo apre output/close/i-o per svuotarlo.

  2. Caricamento griglia: legge tutti i record da COGTRANS. Per ogni codice, cerca la descrizione in PRNTOPER. Massimo 900 elementi.

  3. Gestione griglia:

  4. Ctrl+A: aggiunge operatore; accept codice con F8 per ricerca.
  5. Ctrl+E: elimina operatore (con conferma e delete da COGTRANS).
  6. Invio: modifica riga selezionata.
  7. F3: switch modalita' Aggiornamento/Selezione (se chiamato come subroutine con w-dc-called = "S").

  8. Stampa etichette (F9):

  9. Richiede conferma stampante via COGS54 (emulazione EPL2, 132 colonne, flag manuale).
  10. Per ogni operatore in COGTRANS, genera 2 etichette su FLSTA:
    • Etichetta 1: barcode = <codice-operatore>001 + testo "ASSEMBLAGGIO"
    • Etichetta 2: barcode = <codice-operatore>002 + testo "COLLAUDO"
  11. Formato EPL2: orientamento, dimensione, barcode Code 43.

  12. CALL chain: COGS52 (date), COGS54 (stampa), GRIDADMN (griglia), COGSWP04 via sendwp04.cpy (aiuto operatori).