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"). Inx-controlla-tm-codviene letto COGMAGPE: se il record esiste,fl-tipo = "V"(visualizzazione/modifica) e si eseguevisualizza-dati; altrimentifl-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 tramitesend-w36(sendw36.cpy,util-w36) su F8; validato inx-controlla-tm-mag-codcontro COGMAGAZ (tipo"M"), che ne recupera la descrizione. - Cliente/anagrafica (
a-tm-cli): gestito dalla subroutine COGS65W (z-s65-tm-cli,util-s65, tipo clientek-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-movcommentato): attualmente un cantiere puo' essere cancellato anche in presenza di movimenti su COGMOMAG. - Copybook chiave secondaria incluso manualmente a fine procedure:
cogcmmgp.k02(la chiavecogmomag.k08e' commentata, coerentemente con il controllo movimenti disattivato).