Vai al contenuto

COGI22 - Risorse (Colture)

Panoramica

Programma interattivo a carattere (maschera testuale in finestra) per la gestione dell'anagrafica di base delle Risorse del modulo Colture. Ogni Risorsa e' individuata da un codice e da una descrizione, con un coefficiente, e ha collegate una lista di attivita' (Voci di controllo) che ne compongono la distinta. La gestione consente inserimento, modifica e cancellazione della testata (file CICBASTE) e delle righe di collegamento alle attivita' (file CICBASRI), risolvendo la descrizione di ciascuna attivita' dal file CICLAVOR.

Il sorgente e' identico a quello di COGI20 (Lavorazioni) e COGI21 (Macchine): la funzione effettiva e' selezionata dal campo interno w-tipo, che in COGI22 vale '3' (Risorse).

Posizione nel menu

Menu Percorso
Magazzino Colture > Archivi di Base > Risorse

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema / anagrafica azienda (letta da rd-azi)
CICTABEL I-O Tabella generica del modulo Colture (aperta ma non movimentata direttamente)
CICLAVOR Input Anagrafica Voci di controllo / attivita': letta per risolvere la descrizione delle attivita' collegate
CICBASTE I-O Anagrafica di Base - testata (codice, descrizione, coefficiente); file gestito, discriminato per cic-bas-tipo
CICBASRI I-O Anagrafica di Base - righe: legami fra la testata e le attivita' collegate

Copybook principali

Copybook Descrizione
feurtab.fd / cictabel.fd / ciclavor.fd / cicbaste.fd / cicbasri.fd SELECT / File Description dei file
cogfiles.cpy Record di FEURTAB
cictabel.cpy / ciclavor.cpy / cicbaste.cpy / cicbasri.cpy Layout record dei file
cicbaste.k01 / cicbasri.k01 / ciclavor.k01 Chiavi primarie dei file gestiti
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy Working storage standard (stato verbi, errori gravi, apertura file, gestione video)
cogazien.cpy Dati azienda
utili06.cpy Interfaccia del modulo di ricerca I06 (COGI06)
utili08.cpy Interfaccia del modulo di help I08
sendi08.cpy Routine di chiamata al modulo di help I08
dtab.cpy Routine di gestione tabella a video (disp-tab, disp-riga)
tstfun1.cpy Routine di gestione tasti di navigazione tabella (tst-fun)
stato.cpy / stato1.cpy Routine di gestione stato dei verbi di I/O
winmsg.cpy / grave.cpy Gestione messaggi a video ed errori gravi
open1.cpy / openc.cpy Routine di apertura file (open-files, open-files-ci)
mmmask.cpy Gestione maschera in finestra (rd-msk-pop, disp-msk)
wcont.cpy / wcont1.cpy Aree di linkage con il chiamante (stringhe)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGI06 Ricerca/immissione guidata del codice o della descrizione della testata (chiamato in a1-acqui-tmbase, area util-i06)
I08 (via send-i08) Help sul codice attivita' durante l'inserimento delle righe (file di ricerca CICLAVOR)

Logica di elaborazione

1. Inizializzazione (apri)

Imposta il nome programma per help ed errori (nel sorgente prog-err viene valorizzato con 'COGI20', vedi Note), apre i file di sistema e i file del modulo (CICTABEL in I-O, CICLAVOR in input, CICBASTE e CICBASRI in I-O), legge i dati azienda. Imposta w-tipo = '3' (Risorse), carica la maschera testuale mm-1 (15 righe da 58 colonne) e la visualizza.

2. Presentazione maschera (a4)

Visualizza la maschera con titolo "Anagrafiche di Base:" e, in base a w-tipo, l'etichetta "Risorse". Mostra la barra ESC=Esci e inizializza tab-maschera.

3. Acquisizione codice (a6 / a1-acqui-tmbase)

Chiama COGI06 per l'immissione guidata del codice/descrizione della testata (tipo record w-tipo = '3'). Al ritorno riporta l'esito in funzio e il codice in tm-stm. ESC esce; con esito "Y" prosegue in a10.

4. Lettura testata e righe (a10)

Legge CICBASTE per tipo+codice: se non esiste imposta inserimento (sw-inserimento = "I") e salta a a-45; se esiste mostra descrizione e coefficiente e carica le attivita' collegate scandendo CICBASRI (y1-start-cicbasri + a1-car). In a-30 risolve la descrizione di ogni attivita' leggendo CICLAVOR.

5. Editing testata (a-40 / a-45 / a-47 / a-48)

Mostra F3=Aggiorna, F4=Cancella. Accetta descrizione, parte intera e parte decimale del coefficiente. F2 torna indietro, F4 cancella (b-cancella), ESC esce.

6. Inserimento attivita' collegate (a-50 / a-50-tab)

Ciclo di immissione dei codici attivita' nella tabella tm-tab (max 50). F8 attiva l'help I08 su CICLAVOR; i tasti di scorrimento sono gestiti da tst-fun; alla conferma verifica l'esistenza dell'attivita' su CICLAVOR ("Attivita' non esistente!!" se assente) e ne mostra la descrizione. F3 conferma e passa all'aggiornamento (a-90).

7. Aggiornamento (a-90 / b-aggiorna / aggio-cicbaste)

Scrive/riscrive la testata su CICBASTE (wr-cicbaste / rwr-cicbaste), cancella le righe attivita' preesistenti su CICBASRI (b1-del) e riscrive le nuove per ogni tm-att-cod non nullo (wr-cicbasri / rwr-cicbasri). Torna in a4.

8. Cancellazione (b-cancella)

Dopo conferma (F3) cancella la testata su CICBASTE e scorre/cancella tutte le righe collegate su CICBASRI per la coppia tipo+codice corrente.

9. Chiusura (fine / z-chiudi)

Chiude CICTABEL, CICLAVOR, CICBASTE e CICBASRI, chiude la finestra ed esce.

Note tecniche

  • Sorgente condiviso a tre funzioni: COGI20, COGI21 e COGI22 hanno lo stesso codice; differiscono per program-id e per il valore di w-tipo ('1' = Lavorazioni, '2' = Macchine, '3' = Risorse). Il campo cic-bas-tipo / cic-bri-tipo discrimina i record dei tre archivi condivisi CICBASTE/CICBASRI.
  • Nome programma per errori: in apri, prog-err e w-nome-hlp sono valorizzati con la costante 'COGI20' (residuo della derivazione dal sorgente comune) invece di 'COGI22'; il program-id reale resta cogi22. Effetto limitato al nome mostrato in eventuali messaggi di errore/help.
  • Testata + righe: la testata sta in CICBASTE (coefficiente 9(03)v99), le righe di collegamento alle attivita' in CICBASRI (cic-bri-att = codice attivita'). Le descrizioni delle attivita' sono risolte da CICLAVOR (sola lettura).
  • Interfaccia a carattere: maschera testuale semigrafica (mm-1, mmmask.cpy) con tabella scorrevole, non una griglia GUI.
  • Uso di PERFORM ... THRU e GO TO: codice legacy con uso estensivo di GO TO e PERFORM ... THRU, mantenuti per compatibilita'.
  • Nessuna configurazione RNEWCONF viene letta.
  • Dimensione sorgente: circa 604 righe (cbl/cogi22.cbl).