COGY01 -- Agenti/Zone geografiche¶
Sorgente: cbl/cogy01.cbl | Tipo: Interattivo (gestione tabella con griglia paginata) | Program-ID: COGY01
Menu:
- Contabilita' > Archivi & Tabelle > Tabelle > Agenti > Agenti/Zone geografiche
Scopo¶
Gestione delle associazioni agente-zona geografica. Per un agente selezionato, permette di definire le zone di competenza (provincia, regione, stato, sotto-agente, magazzino CAP, area agente). I dati vengono salvati su COGAGZON e su un file di transazione temporaneo COGTRANS. Puo' essere richiamato in modalita' "called" tramite la copybook utily01.cpy con un agente preimpostato.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | I-O | Tabella generica: tipo 26 = province/regioni, tipo 54 = stati |
| COGAGZON | Indicizzato | I-O | Associazione agente-zona: chiave agz-age + agz-zon-tip + agz-zon-cod |
| COGGEANA | Indicizzato | I-O | Anagrafica generale (tipo "F" = fornitori/agenti): gestione campo ana-padre |
| COGTRANS | Indicizzato (temp) | I-O | File di transazione temporaneo per spaginamento: chiave trs-chia1 (trs-zon-tip + trs-zon-cod), alternata trs-chia2 (trs-age + trs-chia1) |
| CAPMAGAZ | Indicizzato | Input | Magazzini CAP (solo se consorzi) |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGE35 | Selezione agente (F8 su campo agente e sotto-agente) |
| COGF09 | Selezione provincia (F8 su campo provincia) |
| COGF62 | Selezione regione (F8 su campo regione) |
| COGE04 | Selezione stato/nazione (F8 su campo stato) |
| CAP270 | Selezione area agente (F8 su campo area, per consorzi) |
| COGY01 (ricorsivo) | Visualizzazione zone di un sotto-agente (F8 su riga tipo "A") |
| GRIDADMN | Gestione avanzata griglia |
Copybook principali¶
cogy01.wrk,.select,.fd,.prc,.decla,cogy01-01.scr-- Definizioni Screenscogfiles.cpy-- Definizione record COGTABEL (euta-*)utily01.cpy-- Parametri linkage per chiamata esterna (y01-called, y01-caller, y01-age-cod)utile35.cpy-- Parametri per COGE35 (selezione agente)utilf09.cpy-- Parametri per COGF09 (selezione provincia)utilf62.cpy-- Parametri per COGF62 (selezione regione)utile04.cpy-- Parametri per COGE04 (selezione stato)utilcap270.cpy-- Parametri per CAP270 (selezione area, consorzi)utils65.cpy-- Utility ricerca codice (COGS65)capazien.cpy-- Dati azienda consorzi (az-consorzi)wgrid.cpy,utilgdad.cpy-- Gestione grigliawstato.cpy,wgrave.cpy,wopenf.cpy,wnscr.cpy,cogazien.cpy-- Variabili standardwcont.cpy,wcont1.cpy-- Struttura linkage standard
Struttura del programma¶
Flusso principale¶
-
apri: inizializzazione, apertura file, lettura azienda. Se consorzi (az-consorzi = "S"), apre CAPMAGAZ. Se richiamato come called, preimposta agente e salta a a-fine-dati.
-
a4: reset griglia e maschera. Inizializza il tipo zona a "P" (Provincia), o "M" (Magazzino) se consorzi.
-
a-tm-age-cod: accept del codice agente. F8 chiama COGE35. Validazione tramite x-controlla-tm-age-cod.
-
a-fine-dati: validazione complessiva e caricamento dati.
-
riempi-cogtrans: popola il file temporaneo COGTRANS con i record di COGAGZON filtrati per agente. Per ogni zona:
- Tipo "P" (provincia): carica descrizione da COGTABEL tipo 26
- Tipo "R" (regione): carica descrizione da COGTABEL tipo 26
- Tipo "N" (stato/nazione): carica descrizione da COGTABEL tipo 54
- Tipo "A" (sotto-agente): carica nome da COGGEANA tipo "F"
- Tipo "M" (magazzino CAP): carica descrizione magazzino
- Tipo "E" (area): carica descrizione area
-
Tipo "L" (lista magazzini): carica descrizione
-
vis-tabella-ini / vis-tabella-disp: griglia paginata (spaginamento su COGTRANS). Tasti:
- Invio: apre dettaglio riga in modifica
- Ctrl+A: inserimento nuova zona
- Ctrl+E: cancellazione zona con conferma
- PgUp / PgDn: navigazione pagine
- Shift+F5: esportazione Excel
- Shift+F4: GRIDADMN
- F8 su riga tipo "A": richiama COGY01 ricorsivamente per il sotto-agente
Dettaglio riga (a-riga-dettaglio)¶
Sequenza di accept condizionata dal tipo zona:
a-tm-tipo: tipo zona (combo: P/R/N/A/M/E/L)a-tm-prov-cod: provincia (F8 chiama COGF09)a-tm-regio-cod: regione (F8 chiama COGF62)a-tm-stato-cod: stato (F8 chiama COGE04)a-tm-age-cod-r: sotto-agente (F8 chiama COGE35)a-tm-mag-cod: magazzino CAP (F8 chiama send-scr-1)a-tm-area: area agente (F8 chiama CAP270)
Salvataggio (a-riga-dettaglio-fine / inserisci)¶
- Per tipo non-agente: scrive su COGAGZON (wr-cogagzon). Se la zona e' gia' assegnata ad altro agente, segnala.
- Per tipo agente ("A"): aggiorna ana-padre in COGGEANA (rwr-coggeana). Controlli ciclicita': un agente non puo' essere sotto-agente di se stesso ne' del proprio padre.
Cancellazione (c-cancella)¶
- Per tipo non-agente: del-cogagzon
- Per tipo agente: azzera ana-padre in COGGEANA
Variabili principali¶
| Variabile | Tipo | Descrizione |
|---|---|---|
| tab-maschera | 01 | tm-agente (tm-age-cod, tm-age-des), tm-tab con righe: tm-tipo, tm-prov-cod/des, tm-regio-cod/des, tm-stato-cod/des, tm-age-cod-r/des, tm-mag-cod/des, tm-area/d |
| a-operazione | 77 | "I" = Inserimento, "M" = Modifica |
| k-max-ele-tab | 78 | 100 (max elementi per pagina) |
| k-euta-tipo-prov-regio | 78 | 26 (tipo province/regioni) |
| k-euta-tipo-stato | 78 | 54 (tipo stati) |
| w-trs-name | 77 | Path del file COGTRANS temporaneo |
| padre-age | 77 | Codice agente padre (per controllo ciclicita') |
Documentazione tecnica -- 2026-04-28