Vai al contenuto

COGMB1 -- Giri Agente

Sorgente: cbl/cogmb1.cbl | Tipo: Interattivo (gestione tabella con griglia) | Program-ID: COGMB1

Menu:

  • Contabilita' > Archivi & Tabelle > Tabelle > Agenti > Giri Agente

Scopo

Gestione dei giri giornalieri degli agenti per la tentata vendita. Per un agente e una data selezionati, permette di gestire la sequenza dei clienti e delle destinazioni da visitare. I dati sono memorizzati nella tabella COGGRDAY. Supporta modalita' chiamata tramite utilcogmb1.cpy.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB (COGTABEL) Indicizzato I-O Tabella generica (tipo 21 = agenti)
COGGRDAY Indicizzato I-O Giri giornalieri agente: chiave grd-operatore + grd-data + grd-prog
COGGEANA Indicizzato Input Anagrafica generale (tipo "C" = clienti, tipo "F" = fornitori/agenti)

Programmi chiamati

Programma Scopo
COGE35 Selezione agente (F8 su campo agente)
WIN092 (send-w92) Selezione destinazione cliente
GRIDADMN Gestione avanzata griglia

Copybook principali

  • cogmb1.wrk, .select, .fd, .prc, .decla, cogmb1-01.scr -- Definizioni Screens
  • cogfiles.cpy -- Definizione record COGTABEL (euta-*)
  • utilcogmb1.cpy -- Parametri linkage per chiamata esterna (cogmb1-called, cogmb1-caller, cogmb1-in-agente, cogmb1-in-data)
  • utile35.cpy -- Parametri per COGE35 (selezione agente)
  • utilw92.cpy -- Parametri per WIN092 (selezione destinazione)
  • utils65.cpy -- Utility ricerca codice (COGS65)
  • utils52.cpy -- Utility calendario (COGS52)
  • utilu20.cpy -- Utility input numerico (COGU20W)
  • utilncnf.cpy -- Utility configurazione
  • 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 richiamato come called (cogmb1-called = k-program-id), preimposta agente e data e salta a a-richiesta-conferma.

  2. a4: reset griglia e maschera. Caricamento configurazione (x99-confi).

  3. a-tm-agente / a-tm-data: accept dei filtri di testata (agente e data). F8 apre COGE35 per selezione agente o calendario per la data.

  4. a-richiesta-conferma: validazione, conferma e avvio caricamento griglia.

  5. a10-loop: caricamento giri da COGGRDAY per agente e data. Filtra i record con grd-prog = 0 e grd-fl-canc = "C" (cancellati logicamente). Legge la ragione sociale cliente da COGGEANA. Massimo 500 elementi.

  6. a30: costruzione griglia e attivazione tasti funzione.

  7. a-grid / a-accept-grid: ciclo griglia:

  8. F3: salva (a1-aggiorna / b-aggiorna)
  9. Ctrl+A: aggiunta riga
  10. Ctrl+E: cancellazione riga con conferma
  11. F8 sulla colonna destinazione: apre WIN092 per selezione destinazione cliente
  12. Shift+F4: GRIDADMN

Salvataggio (b-aggiorna)

Confronto tra tm-r-prog e tm-r-prog-prec per ogni riga:

  • COD = COD-PREC con modifica: rwr-coggrday (b2-modifica)
  • COD-PREC = 0: wr-coggrday (b1-inserisci) -- nuovo inserimento
  • COD = 0: cancellazione logica con grd-fl-canc = "C" (b3-cancella)
  • COD <> COD-PREC: cancella vecchio + inserisce nuovo

Cancellazione logica

Implementata con flag grd-fl-canc = "C" (pcase-2468): il record non viene eliminato fisicamente ma marcato. In fase di caricamento, i record con grd-fl-canc = "C" vengono filtrati.


Variabili principali

Variabile Tipo Descrizione
tab-maschera 01 tm-agente (codice), tm-agente-des, tm-data
tm-grid-dati-ele (i) Riga griglia tm-r-prog, tm-r-prog-prec, tm-r-cli-cod, tm-r-cli-des, tm-r-seq, tm-r-dst-idx, tm-r-dst-tip
a-modalita 77 "S" = Selezione, "A" = Aggiornamento
k-max-ele-tab 78 500 (max elementi griglia)
k-euta-tipo-agente 78 21 (tipo tabella agenti)
grd-fl-canc Campo Flag cancellazione logica ("C" = cancellato)

Documentazione tecnica -- 2026-04-28