Vai al contenuto

COGQ37 - Visualizzazione/Gestione Stampi

Scopo

Visualizzazione, manutenzione e selezione dell'anagrafica stampi/tamponi della produzione di stampaggio. Gestisce in una griglia paginata gli stampi associati a un articolo (chiave merce), e mantiene allineati i record collegati (COGSTAMP, COGMERLK come "lk" di tipo "ST", COGRACMC per il codice avanzato). E' richiamato sia come funzione di menu sia come selezione stampo dal lancio produzione (CALL con util-cogq37).

Magazzino > Produzione > Stampaggio > Gestione Stampi

File e tabelle

File Tipo Descrizione
FEURTAB Parametri Parametri di ambiente
COGTABEL Indicizzato Tabella generica (registrazione log inserimento merci, tipo 10)
COGMERCI Indicizzato I/O Anagrafica merci (codice articolo e merce stampo creata automaticamente)
COGGEANA Indicizzato Input Anagrafica generale (clienti/fornitori associati allo stampo)
COGRACMC Indicizzato I/O Codici avanzati merce; usata via chiave secondaria cogracmc.k02
COGMERLK Indicizzato I/O Legami merce/merce (tipo "ST" = stampo per la merce di chiave)
COGSTAMP Indicizzato I/O Anagrafica stampi (dati di gestione)
TRAN-S26 Sequenziale is external File di transito per la creazione automatica prime note di scarico stampi rottamati

Copybook

File e select

  • feurtab.fd, cogq37.select, cogq37.fd, cogfiles.cpy, tran-s26.fd, tran-s26.cpy

Working-storage

  • cogq37.wrk (generata da Screens)
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • wgrid.cpy, utilgdad.cpy
  • Utility: utilcogq42.cpy, utilcogqa3.cpy, utils05.cpy, utils26.cpy, utils35.cpy, utils37.cpy, utils52.cpy, utils65.cpy, utils68.cpy, utilw77.cpy, utilncnf.cpy, utilpost.cpy, utilmymail.cpy

Screen

  • cogq37-01.scr (form con frame chiave merce, frame dettaglio, griglia)

Linkage

  • wcont.cpy, wcont1.cpy, utilcogq37.cpy (parametri di chiamata in/out)

Procedure

  • cogq37.decla, cogq37.prc
  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, msgmerce.cpy
  • dtab.cpy, fscrol2.cpy, utilpggr.cpy, sendw77.cpy
  • Chiavi secondarie: cogracmc.k02, tran-s26.k01

CALL

Programma Descrizione
GRIDADMN Gestione griglia
COGS05 Calcolo EAN della merce in inserimento
COGS26 Creazione prima nota da file di transito (scarico stampo rottamato)
COGS35, COGS36, COGS37 Inizializzazione record collegati alla nuova merce (parametri merce, ecc.)
COGS68 Aiuto/cattura chiave merce
COGW77 Aiuto codice avanzato stampo (sendw77.cpy)
COGQ42 Apertura gestione manutenzioni stampo (richiamata con F7)
RNEWCONF Lettura indirizzi e-mail destinatari notifica rottamazione (gruppo ECOMMERCE, chiave EMAIL-ROTTAMAZIONE-STAMPO)
POSTA Invio e-mail di notifica rottamazione

Parametri di chiamata (util-cogq37)

Campi chiave passati dal chiamante: - cogq37-caller, cogq37-called — identificazione del flusso - cogq37-in-mer-chia — merce su cui aprire la griglia - cogq37-modalita — "S" selezione, "A" aggiornamento (default A) - cogq37-sel-attivi, cogq37-sel-non-attivi, cogq37-sel-manut, cogq37-sel-non-appr — filtri di stato ammessi - cogq37-coglavor — riferimento lotto/commessa, abilita la selezione su stampi gia' assegnati alla stessa commessa - cogq37-out-merce — output: codice merce dello stampo selezionato - cogq37-sel-cat — vincolo opzionale di tipologia coerente con altri stampi gia' in macchina

Logica di elaborazione

  1. Inizializzazione (apri):
  2. Apertura file, lettura azienda, generazione nome file di transito S26 (tmp + program-id + operatore + data + ora).
  3. Lettura configurazione e-mail destinatari rottamazione tramite RNEWCONF (5 chiavi EMAIL-ROTTAMAZIONE-STAMPO).
  4. Lettura parametri di chiamata e set della modalita' (S/A).
  5. Selezione articolo (a-tm-mer-chia, a-fine-chiave):
  6. Accept della chiave merce (gruppo/sottogruppo/codice) con aiuto via COGS68.
  7. Validazione x-controlla-tm-mer-chia (lettura cogmerci).
  8. In modalita' "called" il blocco e' precompilato e bypassato.
  9. Caricamento griglia paginata (a-grid-ini, carica-tab, paragrafi rn-*/rp-*/sn-*/sp-*/rd*):
  10. Usa lo schema di paginazione fornito da fscrol2.cpy / utilpggr.cpy per leggere a blocchi su COGMERLK con mlk-tip = "ST", mlk-merce1 = tm-mer-chia.
  11. Per ogni elemento rd1-ft-go rilegge cogstamp e popola tm-ele (i).
  12. Le righe vengono caricate nella griglia con GRIDADMN "Add-Record".
  13. Ciclo griglia (a-grid):
  14. Pag su/Pag giu: paginazione (pg-after-pg-up/dwn).
  15. Shift+F4: amministrazione griglia.
  16. Invio in modalita' A: modifica completa (a-tipo-modifica = "Totale").
  17. F3 in modalita' S (chiamato): modifica parziale (a-tipo-modifica = "Parziale").
  18. Invio in modalita' S: selezione dello stampo, valutazione evaluate tm-r-stato (i) contro i flag cogq37-sel-*. Restituisce cogq37-out-merce al chiamante e termina.
  19. Ctrl+A: inserimento (a-operazione = "I").
  20. Ctrl+E: cancellazione (c-cancella).
  21. F7: chiamata a COGQ42 per le manutenzioni dello stampo corrente.
  22. Modifica/Inserimento riga (a-riga-dettaglio -> serie di a-tm-r-*):
  23. 14 campi di dettaglio: codice stampo, tipo, tipologia, n. impronte, stato, proprieta', anagrafica tip/cod, data rilascio, data rottamazione, ubicazione, battute manut/parz/tot.
  24. Ciascun accept salta al successivo o precedente (F2) e converge in a-fine-dettaglio.
  25. I controlli sono in x-controlla-tm-r-*, riassunti da x-conferma-dettaglio.
  26. Conferma dettaglio (a-fine-dettaglio):
  27. Se la merce e' nulla (nuovo stampo non ancora collegato): inserisci-merce crea la merce nel gruppo/sottogruppo predefinito (presi dalla merce 99/99/99999 di template), assegna codice progressivo con x11-src-cod, scrive cogmerci, registra nel log COGTABEL (tipo 10), inizializza tramite COGS35/COGS36/COGS37, scrive il codice avanzato in COGRACMC.
  28. Se la merce esiste e l'utente cambia il codice avanzato: aggiorna cogracmc (delete + write) verificando unicita'.
  29. agg-stamp: aggiorna i campi dello stampo su COGSTAMP. Se lo stato passa a "R" (rottamato) ed e' diverso dal precedente, invoca m-invia-messaggio e m-scarico-stampo.
  30. Aggiornamento del link COGMERLK (wr- o rwr-).
  31. Rottamazione stampo (m-scarico-stampo):
  32. Apre il file di transito tran-s26 in i-o.
  33. Scrive un record con trs-s26-merce = stm-merce, trs-s26-qta = 1, trs-s26-segno = "U".
  34. Chiama COGS26 con magazzino "T" (stampi) e s26-ope = "Inserimento", ottenendo un documento di scarico.
  35. Notifica rottamazione (m-invia-messaggio):
  36. Costruisce un messaggio con codice stampo, data attivazione, tipologia.
  37. Invia tramite POSTA + utilmymail agli indirizzi configurati (fino a 10), modalita' invio automatico.
  38. Uscita (fine, z-chiudi):
  39. Chiude i file, elimina il file di transito S26, esce con goback.

Stati stampo

Codifica tm-r-stato (campo stm-stato su COGSTAMP):

Cod Significato Selezionabile per produzione
A Attivo si (se sel-attivi = "S" e lotto compatibile)
C Collaudo manutenzione si (criterio uguale ad "A")
I In costruzione no
P Non approvato si (se sel-non-appr = "S")
N Non attivo si (se sel-non-attivi = "S")
M In manutenzione si (se sel-manut = "S")
R Rottamato no (triggera notifica e scarico)

Struttura dati in memoria

tab-maschera:
  tm-dati:
    tm-mer-chia (gru/sot/cod)
    tm-cod-ava                 codice avanzato proposto in inserimento
    tm-ele-sav                 buffer 1000 byte per rollback
  tm-righe occurs 100:
    tm-r-merce (chia)          chiave merce stampo (gruppo/sotto/cod)
    tm-r-stampo                codice avanzato
    tm-r-tipo                  S/T
    tm-r-tipologia + des
    tm-r-num-impronte
    tm-r-stato + tm-r-stato-prec (per rilevare passaggi a "R")
    tm-r-proprieta
    tm-r-ana (tip/cod) + tm-r-ana-nome
    tm-r-data-rilascio, tm-r-data-rott
    tm-r-ubicazione
    tm-r-batt-manut/parz/tot
    tm-r-fl-prod (cla-anno/cla-numero)  legame con commessa

Note tecniche

  • La griglia e' paginata (max 100 elementi in memoria, paginazione con Pag su/Pag giu) tramite copybook fscrol2.cpy e utilpggr.cpy.
  • Il file di transito tran-s26 ha attributo is external: viene aperto e chiuso piu' volte all'interno di m-scarico-stampo per garantire un file vuoto prima di scrivere il record di scarico.
  • Le notifiche di rottamazione richiedono che siano configurate le chiavi ECOMMERCE / EMAIL-ROTTAMAZIONE-STAMPO (1..5) in RNEWCONF.
  • All'inserimento di una nuova merce stampo viene letta una merce template (999999999): se manca, il programma blocca l'inserimento.
  • Storicamente lo stato "I" (in costruzione) era selezionabile per la produzione; il codice e' commentato e disabilitato dal 12/03/2019.
  • L'uscita usa goback (non exit program), coerente con il pattern del programma chiamato e standalone.