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 Screenscogfiles.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 configurazionewgrid.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 richiamato come called (cogmb1-called = k-program-id), preimposta agente e data e salta a a-richiesta-conferma.
-
a4: reset griglia e maschera. Caricamento configurazione (x99-confi).
-
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.
-
a-richiesta-conferma: validazione, conferma e avvio caricamento griglia.
-
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.
-
a30: costruzione griglia e attivazione tasti funzione.
-
a-grid / a-accept-grid: ciclo griglia:
- F3: salva (a1-aggiorna / b-aggiorna)
- Ctrl+A: aggiunta riga
- Ctrl+E: cancellazione riga con conferma
- F8 sulla colonna destinazione: apre WIN092 per selezione destinazione cliente
- 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