Vai al contenuto

COGV22 — Cantieri

Sorgente: cbl/cogv22.cbl | Tipo: Programma interattivo GUI (anagrafica + stampa) | Program-ID: COGV22

Menu: Vendite > Commesse > Tabelle > Cantieri ; Magazzino > Archivi & Tabelle > Cantieri > Gestione


Scopo

Gestisce l'anagrafica dei cantieri (magazzini "personali" di tipo cantiere): inserimento, modifica, visualizzazione e cancellazione. Per ogni cantiere si registrano codice, descrizione, indirizzo completo (via, localita', provincia, CAP, telefono), il magazzino di appartenenza, il cliente/anagrafica di riferimento e lo stato (Aperto / Chiuso). E' disponibile la stampa dell'elenco dei cantieri.

I cantieri sono memorizzati su COGMAGPE (magazzini personali) con tipo record "C" (impostato nel programma da fl-tipo-mag).

Per i dettagli operativi lato utente vedere la pagina utente corrispondente in docs/user.


File e tabelle principali

File/Tabella Copybook Uso
COGMAGPE cogmagpe Anagrafica magazzini personali / cantieri (mgp-tip, mgp-cod, mgp-nome, mgp-ind, mgp-loc, mgp-pro, mgp-cap, mgp-tel, mgp-mag, mgp-ana-tip, mgp-ana-cod, mgp-fl-close). E' il file gestito
COGMAGAZ cogmagaz Anagrafica magazzini; validazione e descrizione del magazzino di appartenenza (magz-tipo = "M", magz-cod, magz-nome)
COGGEANA coggeana Anagrafica generale; validazione cliente/anagrafica (ana-tipo, ana-cod, ana-nome)
COGCMMGP cogcmmgp Raccordo commesse ↔ magazzino personale; in cancellazione elimina i raccordi del cantiere (cmm-mgp-tip, cmm-mgp-cod). Usa la chiave secondaria cogcmmgp.k02
COGMOMAG cogmomag Movimenti di magazzino; aperto/chiuso ma il controllo movimentazione in cancellazione e' attualmente commentato
flsta (stampa) flsta.cpy / flsta.fd File di spool per la stampa dell'elenco cantieri

Struttura ed elaborazione

Programma su framework maschera standard (mmmask.cpy, rd-msk-pop, z-99-init-program/z-99-exit-program), a singolo record (non a griglia). Il tipo cantiere e' fissato con move "C" to fl-tipo-mag in apri.

Ciclo principale

Ogni campo ha un proprio paragrafo di accept (a-tm-cod, a-tm-des, a-tm-ind, a-tm-loca, a-tm-prov, a-tm-cap, a-tm-tel, a-tm-mag-cod, a-tm-cli, a-tm-stato) con il relativo controllo (x-controlla-tm-*) e la navigazione tra controlli (F2 indietro, F3 conferma, gestione mouse in x-test-mouse).

  • Codice cantiere (a-tm-cod): gestito dalla subroutine di aiuto COGS66W (z-s66-tm-cod, util-s66, tipo magazzino "C"). In x-controlla-tm-cod viene letto COGMAGPE: se il record esiste, fl-tipo = "V" (visualizzazione/modifica) e si esegue visualizza-dati; altrimenti fl-tipo = "I" (inserimento). In modalita' "V" sono attivi F3=aggiorna e F4=cancella.
  • Provincia (a-tm-prov): aiuto tramite subroutine COGF09 (COGF09) su F8.
  • Magazzino (a-tm-mag-cod): aiuto tramite send-w36 (sendw36.cpy, util-w36) su F8; validato in x-controlla-tm-mag-cod contro COGMAGAZ (tipo "M"), che ne recupera la descrizione.
  • Cliente/anagrafica (a-tm-cli): gestito dalla subroutine COGS65W (z-s65-tm-cli, util-s65, tipo cliente k-ana-tipo-cli); validato contro COGGEANA.
  • Stato (a-tm-stato): combo (COGS60) Aperto/Chiuso (mgp-fl-close, valore "C" = chiuso).

Registrazione (registra)

Alla conferma finale (a-fine-dati, F3) i campi maschera vengono trasferiti in mgp-rec (con mgp-tip = "C", mgp-ana-tip = k-ana-tipo-cli, CAP convertito con function numval). Se fl-tipo = "V" si esegue rwr-cogmagpe, altrimenti wr-cogmagpe.

Visualizzazione (visualizza-dati)

Per un cantiere esistente carica in maschera i campi da mgp-rec e risolve le descrizioni collegate: magazzino (COGMAGAZ) e cliente (COGGEANA).

Cancellazione (cancella)

Con F4 su un cantiere esistente, previa conferma, esegue del-cogmagpe; se va a buon fine chiama canc-rac-commesse che elimina i raccordi commessa/magazzino su COGCMMGP per quel cantiere (scansione su chiave secondaria + del-cogcmmgp). Il controllo di movimentazione preventivo (controlla-mov, lettura COGMOMAG) e' presente ma interamente commentato: la cancellazione non e' quindi bloccata dai movimenti esistenti.

Stampa elenco (stp-cant / stp-righe)

Con F9 dal campo codice viene attivata la stampa. La subroutine COGS54 gestisce la scelta stampante/formato; poi stp-righe scorre COGMAGPE (st-cogmagpe-notmin + rdnxt-cogmagpe) filtrando su mgp-tip = "C" e produce il tabulato "ANAGRAFICA CANTIERI" con testata (rg-testa), intestazione colonne (rg-intesta) e righe di dettaglio (rg-det), gestendo il salto pagina in intesta. Le descrizioni magazzino e cliente sono risolte per ogni riga da COGMAGAZ e COGGEANA.


CALL a sottoprogrammi

Sottoprogramma Scopo
COGS66W Aiuto/accept codice cantiere e magazzino personale (z-s66-tm-cod)
COGS65W Aiuto/accept cliente/anagrafica (z-s65-tm-cli)
COGF09 Aiuto codice provincia
COGS54 Selezione stampante/formato per la stampa elenco
COGS60 / S95 Combo stato e check di supporto
(subroutine W36 via sendw36.cpy) Aiuto/ricerca magazzino

Note

  • Il programma compare in due posizioni di menu (Vendite > Commesse > Tabelle > Cantieri e Magazzino > Archivi & Tabelle > Cantieri > Gestione) e punta allo stesso sorgente: in entrambi i casi gestisce i cantieri (COGMAGPE tipo "C").
  • Il controllo che impedisce la cancellazione di un cantiere movimentato e' disattivato (blocco controlla-mov commentato): attualmente un cantiere puo' essere cancellato anche in presenza di movimenti su COGMOMAG.
  • Copybook chiave secondaria incluso manualmente a fine procedure: cogcmmgp.k02 (la chiave cogmomag.k08 e' commentata, coerentemente con il controllo movimenti disattivato).