Vai al contenuto

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 Screens
  • cogfiles.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 griglia
  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy -- Variabili standard
  • wcont.cpy, wcont1.cpy -- Struttura linkage standard

Struttura del programma

Flusso principale

  1. 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.

  2. a4: reset griglia e maschera. Inizializza il tipo zona a "P" (Provincia), o "M" (Magazzino) se consorzi.

  3. a-tm-age-cod: accept del codice agente. F8 chiama COGE35. Validazione tramite x-controlla-tm-age-cod.

  4. a-fine-dati: validazione complessiva e caricamento dati.

  5. riempi-cogtrans: popola il file temporaneo COGTRANS con i record di COGAGZON filtrati per agente. Per ogni zona:

  6. Tipo "P" (provincia): carica descrizione da COGTABEL tipo 26
  7. Tipo "R" (regione): carica descrizione da COGTABEL tipo 26
  8. Tipo "N" (stato/nazione): carica descrizione da COGTABEL tipo 54
  9. Tipo "A" (sotto-agente): carica nome da COGGEANA tipo "F"
  10. Tipo "M" (magazzino CAP): carica descrizione magazzino
  11. Tipo "E" (area): carica descrizione area
  12. Tipo "L" (lista magazzini): carica descrizione

  13. vis-tabella-ini / vis-tabella-disp: griglia paginata (spaginamento su COGTRANS). Tasti:

  14. Invio: apre dettaglio riga in modifica
  15. Ctrl+A: inserimento nuova zona
  16. Ctrl+E: cancellazione zona con conferma
  17. PgUp / PgDn: navigazione pagine
  18. Shift+F5: esportazione Excel
  19. Shift+F4: GRIDADMN
  20. 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