COGG28 -- Visualizzazione Contratti¶
Sorgente: cbl/cogg28.cbl | Tipo: Programma interattivo | Program-ID: COGG28
Menu:
- Vendite > Mediatori > Visualizzazione Contratti
Scopo¶
Visualizzazione dei contratti di vendita raggruppati per cliente o per merce. Estrae le testate ordine (COGTESOR) o le righe ordine (COGRIGOR) nel periodo selezionato, raggruppa per cliente/controparte contando il numero di contratti, e presenta il risultato in una griglia paginata. Da qui e' possibile richiamare COGO40 per il dettaglio dei contratti di un cliente.
Puo' essere chiamato da COGG29 con un file di transito gia' preparato.
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTESOR | cogg28.fd (via Screens) | Input -- Testate ordini (contratti tipo "C") |
| COGRIGOR | cogg28.fd (via Screens) | Input -- Righe ordini (per ricerca per merce) |
| COGGEANA | cogg28.fd (via Screens) | Input -- Anagrafica generale (descrizione clienti) |
| TRANSG28 | transg28.cpy / transg28.fd | I-O -- File di transito con dati ordine (condiviso con COGG29) |
| COGTRANS | file transito locale | I-O -- File di transito per griglia (raggruppamento per cliente con conteggio contratti) |
| FEURTAB | cogfiles.cpy | Input -- Tabella Eurosystem |
Chiavi secondarie¶
| Copybook | Tabella | Scopo |
|---|---|---|
cogtesor.k02 |
COGTESOR | Ricerca per tipo/cliente/anno (chiave chi1) |
cogrigor.k02 |
COGRIGOR | Ricerca per merce/tipo/anno (chiave chia3) |
cogrigor.k03 |
COGRIGOR | Ricerca alternativa |
transg28.k01 |
TRANSG28 | Chiave primaria |
transg28.k02 |
TRANSG28 | Ricerca per cliente |
transg28.k03 |
TRANSG28 | Ricerca per merce |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGO40 | Visualizzazione dettaglio contratti per cliente (F5) |
| COGS65W | Accept campo con ricerca anagrafica (cliente) |
| COGS68 | Accept campo merce (con lookup) |
| COGS52W | Date picker |
| GRIDADMN | Amministrazione griglia |
Copybook principali¶
cogg28.wrk,.select,.fd,.prc,.decla-- Definizioni Screenscogg28-01.scr-- Maschera screenTRANSG28.CPY-- Struttura record file di transitoutils65.cpy,utils68.cpy,utils52.cpy-- Interfacce subroutinewgrid.cpy,utilgdad.cpy-- Gestione grigliafscrol2.cpy,utilpggr.cpy,dtab.cpy-- Pattern griglia paginata
Logica di Elaborazione¶
Interfaccia linkage¶
Il programma riconosce due chiamanti:
- COGG29 (
ru4-caller = "COGG29"): riceve cliente, periodo, stato, file transito gia' preparato e merce tramiter-user-area-4 - Standalone: prepara i propri dati di transito
In entrambi i casi viene utilizzato anche r-user-area-3 per passare parametri a COGO40.
Estrazione dati (x1-write-tran)¶
Due strategie in base al tipo di visualizzazione:
Per Cliente (tm-ope = "C"):
- Legge COGTESOR con chiave chi1, filtro tipo "C"
- Se cliente specificato: filtra per
tor-clifor; se non specificato: filtra per anno nel range - Applica filtro stato: "A" = solo aperti (
tor-chiu <> "C"), "C" = solo chiusi, "T" = tutti
Per Merce (tm-ope = "M"):
- Legge COGRIGOR con chiave chia3, filtro tipo "C"
- Se merce specificata: filtra per
ror-merce; se non specificata: filtra per anno nel range - Per ogni riga trovata, recupera la testata corrispondente da COGTESOR
- Applica filtro stato come sopra
In entrambi i casi scrive i dati su TRANSG28.
Raggruppamento per cliente (carica-cogtrans-bis / tratta-g28-bis)¶
Scorre TRANSG28 e raggruppa per codice cliente (o controparte in modalita' per cliente):
- Se il cliente esiste gia' in COGTRANS: incrementa il contatore
trs-contratti - Se non esiste: crea un nuovo record con
trs-contratti = 1
Visualizzazione griglia¶
Griglia paginata (pattern fscrol2.cpy). Per ogni riga mostra: codice cliente (to-cod), descrizione (to-desc da COGGEANA), conteggio contratti (to-ctr-contratti).
Dettaglio contratti (F5)¶
Chiama COGO40 passando tramite r-user-area-3:
ru3-caller = "COGG28"ru3-cli-main= cliente selezionato o filtratoru3-cli-contr= cliente della riga corrente- Periodo, stato, file transito, merce
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-ope |
Tipo elaborazione: "C" = per Cliente, "M" = per Merce |
tm-anno-da / tm-anno-a |
Periodo di ricerca |
tm-chiusi |
Filtro stato: "T" = Tutti, "A" = Aperti, "C" = Chiusi |
tm-cliente |
Filtro cliente (0 = tutti) |
tm-merce |
Filtro merce (spazi = tutte) |
ri-caller |
Programma chiamante ("COGG29" o spaces) |
g28-name |
Path del file TRANSG28 |
Documentazione tecnica -- 2026-04-28