Vai al contenuto

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 Screens
  • cogg28-01.scr -- Maschera screen
  • TRANSG28.CPY -- Struttura record file di transito
  • utils65.cpy, utils68.cpy, utils52.cpy -- Interfacce subroutine
  • wgrid.cpy, utilgdad.cpy -- Gestione griglia
  • fscrol2.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 tramite r-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"):

  1. Legge COGTESOR con chiave chi1, filtro tipo "C"
  2. Se cliente specificato: filtra per tor-clifor; se non specificato: filtra per anno nel range
  3. Applica filtro stato: "A" = solo aperti (tor-chiu <> "C"), "C" = solo chiusi, "T" = tutti

Per Merce (tm-ope = "M"):

  1. Legge COGRIGOR con chiave chia3, filtro tipo "C"
  2. Se merce specificata: filtra per ror-merce; se non specificata: filtra per anno nel range
  3. Per ogni riga trovata, recupera la testata corrispondente da COGTESOR
  4. 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 filtrato
  • ru3-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