Vai al contenuto

COGQ27 - Parametri Vari (Cicli di Lavorazione)

Scopo

Gestione di una mini-tabella di parametri numerici trasversali ai cicli di lavorazione. I dati sono memorizzati in CLCTABEL con cta-tipo = 12. Attualmente l'unica voce gestita e' "Costo Orario Medio in Euro" (codice 1), il cui valore numerico viene mantenuto in cta-num. La griglia presenta una descrizione fissa cablata nel sorgente e il campo numerico modificabile.

Magazzino > Produzione > Cicli di Lavorazione > Archivi > Tabelle > Parametri Vari

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente
CLCTABEL Indicizzato Tabella generica cicli lavorazione, filtrata su cta-tipo = 12

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • cogq27.select, cogq27.fd, cogq27.wrk
  • cogq27-01.scr, cogq27.decla, cogq27.prc

Working-storage standard

  • wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy

Utilita'

  • utilu20.cpy — Edit numerico valore
  • utilgdad.cpy — Utility GRIDADMN
  • utilgrid.cpy — Procedure griglia

Linkage

  • wcont.cpy, wcont1.cpy

Procedure

  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

CALL

Programma Descrizione
GRIDADMN Gestione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record, amministrazione)

Logica di elaborazione

  1. Apertura (apri): standard, abilita tasti F3 selezione/modifica (se richiamato), F8 aiuto, Shift+F4 griglia, Ctrl+A/Ctrl+E (commentati nel sorgente). Modalita': "S"elezione se chiamato, "A"ggiornamento altrimenti.
  2. a4/a10: caricamento elementi cablati nella tab-maschera:
  3. Imposta tm-cod(1) = "Costo Orario Medio in Euro " come unica descrizione predefinita.
  4. Loop a10-loop: per ogni indice i (fino a k-max-ele-tab = 25), legge CLCTABEL con chiave (cta-tipo=12, cta-codr=i) e popola tm-elenum(i) con cta-num se trovato.
  5. a30: imposta tm-pnt = i, costruisce la griglia (z-costruisci-grid), attiva tasti funzione.
  6. a-grid / a-accept-grid: ciclo di input sulla griglia.
  7. Invio/doppio clic in modalita' "A": entra in a-riga-dettaglio (operazione = "M").
  8. Shift+F4: amministrazione griglia con GRIDADMN.
  9. F3: alterna modalita' o restituisce al chiamante.
  10. a-riga-dettaglio: legge il record con LOCK (rd-clctabel-lk), mostra il frame "Modifica".
  11. Accept a-tm-cod: descrizione (di fatto sola lettura come logica utente, ma accettata).
  12. Accept a-tm-elenum: nuovo valore numerico via utilu20.
  13. a-riga-dettaglio-fine: conferma utente, aggiornamento griglia con GRIDADMN "Add-Record"/"Modify-Record"; aggiornamento CLCTABEL via wr-clctabel/rwr-clctabel. Il programma decide insert/rewrite controllando se il record esiste.

I paragrafi c-cancella/c1-ctrl-canc sono presenti ma di fatto disattivati (commentati) — la cancellazione non e' esposta in questa versione del programma.

Struttura dati in memoria

tab-maschera (k-max-ele-tab = 25):
  tm-ele-sav (PIC X(1000))         — backup per annullamento riga
  tm-pnt     (PIC 9(04))            — numero elementi
  tm-tab.tm-righe(25):
    tm-ele:
      tm-cod    (PIC X(40))         — descrizione (cablata)
      tm-elenum (PIC 9(04)V99)      — valore numerico

Chiave tabella

  • cta-tipo = 12
  • cta-codr = indice progressivo (1..25)
  • cta-num = valore numerico

Note tecniche

  • Le voci della tabella sono cablate nel sorgente (per ora solo "Costo Orario Medio in Euro" con codice 1).
  • Il flusso di inserimento/cancellazione di nuove righe e' presente ma commentato: il programma e' di fatto un editor di valori per parametri predefiniti.
  • Usa il pattern GRIDADMN con gdad-ope = "Prepara"/"Add-Record"/"Modify-Record"/"Svuota-Tutto".
  • Modalita' w-dc-called = "S" (chiamato da altro programma): abilita F3 selezione e restituisce al chiamante.