Vai al contenuto

COGF11 — Gestione Reparti Operativi

Campo Valore
Sorgente cbl/cogf11.cbl
Program-ID cogf11
Tipo Programma GUI (gestione a griglia, modo A con file di transito)
Posizione menu Magazzino > Archivi & Tabelle > Tabelle (anche Lab.Odont. > Archivi > Tabelle)

Scopo

Gestione della tabella dei reparti operativi, memorizzati su COGTABEL con tipo k-euta-tipo = 85. Il programma usa la gestione griglia "modo A" con file di transito indicizzato (t-grid-det, id griglia k-id-grid-det): all'ingresso ricostruisce il transito leggendo COGTABEL tipo 85 e lo presenta in una griglia editabile; al salvataggio (F3) confronta il transito e applica inserimenti/modifiche/cancellazioni su COGTABEL.

Ogni reparto ha codice, descrizione, magazzino di competenza, conto merci acquisto, conto IVA acquisto e, in base alla configurazione aziendale, campi aggiuntivi: tipo reparto (az-ccopr = 'S'), divisione area commerciale (az-consorzi = 'S'), modalita' di evasione impegno (config abilita/labod-progettazione = 'C'), capacita' per sede operativa (ambienti Laboratorio con labimp/is-modo = 'B').

Il programma funziona come gestione standalone da menu (modalita' A) o come selettore quando richiamato (linkage f11-called/f11-caller), restituendo f11-out-cod/f11-out-des.

Struttura della maschera

Screen: cogf11-01.scr (griglia e-grid-det, id k-id-grid-det; colonne definite via copy cogf11.tm)

Colonne principali (nomi gcn-r-*): codice (tm-r-cod), descrizione (tm-r-des), magazzino (tm-r-mag/tm-r-mag-des), conto merci acquisto (tm-r-mer-cod/tm-r-mer-des), conto IVA acquisto (tm-r-iva-cod/tm-r-iva-des), tipo reparto (tm-r-tipo-rep), divisione area commerciale (tm-r-div-com/tm-r-div-des), modo evasione (tm-r-modo-evas), capacita' sede 1..10 (tm-r-imp-max1..tm-r-imp-max10).

Pulsanti custom e tasti funzione:

Tasto Funzione Chiamata
F7 Sottoreparti COGF12
F11 Gestione contropartite COGD91
F12 Ribaltamento reparto (solo az-ccopr='S') COGG76
Shift-F7 Gestione periodi (colonne capacita', modo C) COGF1A
F1 Configura RNEWCONF
F8 Aiuto W36 (magazzino), CAP038 (divisione)
F9 Ricerca avanzata
Shift-F4 Amministrazione griglia GRIDADMN
Shift-F5 Esporta Excel
Ctrl-A / Ctrl-E Aggiungi / Elimina riga
Invio Seleziona (modalita' chiamato)

Struttura / flusso

  1. apri: z-99-init-program, ctr-abil, rd-azi, x99-confi (config labimp/is-modo, odonto/gestione-multi-sede, abilita/labod-progettazione), open-files. Determina w-dc-called/a-modalita.
  2. Carica in tab-sedi/w-ele-sedi fino a 10 sedi operative scandendo COGMAGAZ tipo M e verificando magg-fl-sede-operativa = 'S' su COGMAGAG (TASK-4553, marcatore 070426; il vecchio controllo magz-fl-sede era stato tolto con TASK-1157).
  3. Definisce tasti funzione, carica bitmap/pulsanti custom, prepara la griglia (z-prepara-tm-grid, x-trova-col-num-grid-det, x-set-fl-mod).
  4. a4: imposta filtro/ordinamento (z-grid-det-componi-ord su gcn-r-cod ascendente), carica l'eventuale filtro predefinito (z-imppredf-carica-default).
  5. a-leggi-dati: z-grid-det-apri-transito, z-grid-det-crea-transito (scansione COGTABEL tipo 85, popolamento t-gor-r-*, risoluzione descrizioni magazzino/conti/divisione e cerca capacita' z1-cerco-irs), z-grid-det-riordina-transito.
  6. a-grid / a-grid-ini: gestione accept griglia (z-99-accept-grid-det), eventi (doppio click/invio), tasti funzione, menu pop-up da right-click (W$MENU).
  7. b-aggiorna: scandisce il file di transito; per ogni riga cancellata (t-gor-r-cod-prec presente e t-gor-r-cod vuoto) chiama c-cancella, altrimenti se modificata chiama b-aggiorna-record.
  8. c-cancella: del-cogtabel, x-sincronizza-kpn (SWN080), poi c-canc-irs (LODIMPRS per sede) e c-canc-sr (LODTABEL tipo 11) negli ambienti Laboratorio, e cancellazione delle contropartite COGCPRTC (del-cogcprtc).
  9. b-aggiorna-record: wr/rwr-cogtabel con i campi del reparto, x-sincronizza-kpn, poi b1-aggio-irs per aggiornare le capacita' su LODIMPRS.
  10. fine / z-chiudi: z-close-files, chiusura e cancellazione del file di transito t-grid-det, distruzione menu, z-99-exit-program, exit program.

File e tabelle principali

File logico Record/chiave Modo Uso
COGTABEL (FEURTAB) euta-rec / euta-tipo(85)+euta-cod I-O Reparti operativi: read/write/rewrite/delete
COGMAGAZ magz-rec / magz-tipo+magz-cod (tipo "M") Read Sedi operative e descrizione magazzino di competenza
COGMAGAG magg-rec / magg-tip+magg-cod Read Flag magg-fl-sede-operativa per elenco sedi
COGPNCON pco-rec / pco-chia Read Descrizione conti merci/IVA acquisto
COGCPRTC rtc-rec / rtc-rep I-O Contropartite reparto, cancellate con il reparto
LODIMPRS irs-rec / irs-sede+irs-reparto+irs-sottoreparto I-O Impegno/capacita' per sede (ambienti Lab., modo B)
LODTABEL lta-rec / lta-tipo(11)+lta-cod I-O Riferimenti sottoreparti (cancellazione)
t-grid-det t-gor-r-rec I-O (temporaneo) File di transito della griglia

Sottoprogrammi chiamati

Programma Contesto Scopo
RNEWCONF x99-confi Configurazioni labimp/is-modo, odonto/gestione-multi-sede, abilita/labod-progettazione
GRIDADMN z-gridadmn-prepara-grid-det, Shift-F4 Preparazione e amministrazione griglia
COGF12 F7 Gestione sottoreparti
COGD91 F11 Gestione contropartite
COGG76 F12 (solo az-ccopr='S') Ribaltamento reparto
COGF1A Shift-F7 (colonne capacita', modo C) Gestione periodi capacita' per sede/reparto
CAP038 F8 su divisione area commerciale (az-consorzi='S') Selezione divisione area commerciale
SWN080 x-sincronizza-kpn Sincronizzazione KPN via euta-key (ESPORTA-KEY, on overflow continue)
W$MENU z-grid-det-be-ep (right-click) Menu pop-up contestuale griglia
(W36 / W80) F8 su magazzino Aiuto tramite send-w36/send-w80

Copybook principali

  • Working-storage: utilagprg.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, cogf11.wrk, cogf11.imppredf-wrk
  • Subroutine: utils67.cpy, utilu10.cpy, utilu20.cpy, utilw36.cpy, utilw80.cpy, utilcap038.cpy, utilcogf1a.cpy, utilncnf.cpy, utilimppredf.cpy
  • File/griglia: feurtab.fd, cogfiles.cpy, cogf11.select, cogf11.fd, cogf11.tm
  • Linkage: wcont.cpy, utilf12.cpy, utild91.cpy, utilg76.cpy, wcont1.cpy, utilf11.cpy
  • Screen: cogf11-01.scr
  • Fine procedure: grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, sendw36.cpy, sendw80.cpy, lodimprs.k01-agg, cogf11.prc, cogf11.imppredf

Note

  • La visibilita' delle colonne e la loro configurazione dipendono da flag aziendali: tipo reparto (colonna 9, az-ccopr), divisione area commerciale (colonne 10-11, az-consorzi), modo evasione (colonna 25, config labod-progettazione='C'), capacita' sedi (colonne 15-24, az-ges-lo='S' e is-modo='B'), gestite in x-gridadmn-grid-det-ep.
  • Le capacita' per sede (tm-r-imp-max1..10) mappano le sedi operative caricate in w-ele-mag; con gestione-multi-sede = 'N' esiste una sola sede (az-main-mag), altrimenti fino a 10 sedi. I titoli colonna sono costruiti dinamicamente ("Capacita' sede oper. ...").
  • Il numero massimo di righe griglia (k-max-ele-tab) e' 900.
  • La gestione capacita' e sottoreparti su LODIMPRS/LODTABEL e' attiva solo negli ambienti Laboratorio (az-ges-lo = 'S') con reparto in modalita' B (labimp/is-modo).