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¶
apri:z-99-init-program,ctr-abil,rd-azi,x99-confi(configlabimp/is-modo,odonto/gestione-multi-sede,abilita/labod-progettazione),open-files. Determinaw-dc-called/a-modalita.- Carica in
tab-sedi/w-ele-sedifino a 10 sedi operative scandendo COGMAGAZ tipo M e verificandomagg-fl-sede-operativa = 'S'su COGMAGAG (TASK-4553, marcatore070426; il vecchio controllomagz-fl-sedeera stato tolto con TASK-1157). - Definisce tasti funzione, carica bitmap/pulsanti custom, prepara la griglia (
z-prepara-tm-grid,x-trova-col-num-grid-det,x-set-fl-mod). a4: imposta filtro/ordinamento (z-grid-det-componi-ordsugcn-r-codascendente), carica l'eventuale filtro predefinito (z-imppredf-carica-default).a-leggi-dati:z-grid-det-apri-transito,z-grid-det-crea-transito(scansione COGTABEL tipo 85, popolamentot-gor-r-*, risoluzione descrizioni magazzino/conti/divisione e cerca capacita'z1-cerco-irs),z-grid-det-riordina-transito.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).b-aggiorna: scandisce il file di transito; per ogni riga cancellata (t-gor-r-cod-precpresente et-gor-r-codvuoto) chiamac-cancella, altrimenti se modificata chiamab-aggiorna-record.c-cancella:del-cogtabel,x-sincronizza-kpn(SWN080), poic-canc-irs(LODIMPRS per sede) ec-canc-sr(LODTABEL tipo 11) negli ambienti Laboratorio, e cancellazione delle contropartite COGCPRTC (del-cogcprtc).b-aggiorna-record:wr/rwr-cogtabelcon i campi del reparto,x-sincronizza-kpn, poib1-aggio-irsper aggiornare le capacita' su LODIMPRS.fine/z-chiudi:z-close-files, chiusura e cancellazione del file di transitot-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, configlabod-progettazione='C'), capacita' sedi (colonne 15-24,az-ges-lo='S'eis-modo='B'), gestite inx-gridadmn-grid-det-ep. - Le capacita' per sede (
tm-r-imp-max1..10) mappano le sedi operative caricate inw-ele-mag; congestione-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).