Vai al contenuto

COGK80 - Polizze in Coassicurazione

Descrizione

Gestione dell'archivio delle polizze in coassicurazione (tabella COGCOASS). Il programma consente inserimento, modifica e cancellazione di polizze coassicurate, con gestione della testata (ramo, polizza, date, rateazione, contraente) e della lista delle compagnie coassicuratrici (codice, denominazione, percentuale di partecipazione, agente).

La delega e' fissa a k-deleg = 56 (costante hardcoded).

Può essere richiamato da altri programmi: in tal caso (w-dc-called = "S") opera in modalità selezione (F3 ritorna al chiamante con i dati della polizza selezionata).

Tabelle utilizzate

Tabella Accesso Descrizione
COGCOASS R/W (rd, rd-lk, wr, rwr, del) Archivio polizze in coassicurazione
COGGEANA R (rd) Anagrafica generale — per risolvere il nome della compagnia e il codice agente
COGTABEL R Tabelle di decodifica
FEURTAB R Tabella files di sistema (path e nomi file)

Flusso di elaborazione

  1. Inizializzazione: apertura files, lettura dati azienda (rd-azi), impostazione tasti funzione, visualizzazione maschera.
  2. Input testata: acquisizione ramo e polizza. F8 chiama COGK63 per ricerca interattiva.
  3. Lettura COGCOASS: se la polizza esiste, carica i dati esistenti (carica-dati) incluse le compagnie coassicuratrici (loop su coa-compagnia con risoluzione nome via rd-coggeana); se non esiste, apre in inserimento.
  4. Input dati testata: date inizio/fine contratto (via COGS52W), rateazione (combo A=Annuale/S=Semestrale), codice e nome contraente.
  5. Gestione griglia compagnie: loop di accept sulla griglia. Le operazioni disponibili sono:
  6. Ctrl+A: aggiunge riga — input codice compagnia (via COGS65W che risolve nome e agente da COGGEANA) e percentuale (proposta come complemento a 100).
  7. Invio: modifica riga selezionata — lock del record COGCOASS (rd-cogcoass-lk).
  8. Ctrl+E: elimina riga scalando le righe successive.
  9. F3: salva l'intera polizza (wr-cogcoass o rwr-cogcoass in base a fl-ins-var).
  10. F4: cancella la polizza (con conferma, poi del-cogcoass).
  11. Salvataggio: costruisce il record coa-rec a partire da tab-maschera, iterando sulle righe non vuote della griglia (fino a 30 compagnie). Gestisce il caso polizza già presente con write-rewrite automatico.

Chiamate a sottoprogrammi

Programma Scopo
COGK63 Ricerca interattiva polizza per ramo/numero (F8 sull'header)
COGS52W Gestione input e formattazione date
COGS65W Ricerca anagrafica compagnia (codice + descrizione)
GRIDADMN Gestione griglia (Prepara, Add-Record, Modify-Record, Svuota-Tutto, Shift+F4)

Note implementative

  • La costante k-deleg = 56 identifica la delega (hardcoded, non configurabile).
  • La griglia supporta fino a k-max-ele-tab = 900 righe, ma il loop di salvataggio itera solo fino a 30 compagnie (perform until i = 30) — limite funzionale del record COGCOASS.
  • Il flag fl-ins-var ("I" = inserimento, "V" = variazione) controlla il verbo di I/O sulla COGCOASS al salvataggio; in caso di conflitto (record già esistente in inserimento o scomparso in modifica) il programma effettua automaticamente il verbo alternativo.
  • Il flag fl-vis-fata ("S") gestisce il caso speciale del primo inserimento: propone automaticamente la compagnia delegataria (codice 88888) come prima riga.
  • La percentuale nel dettaglio riga viene proposta come 100 - tm-tot-perc (complemento rispetto alle percentuali già inserite).
  • File aperti con open-coassic (paragrafo non mostrato, gestisce COGCOASS e COGGEANA).
  • Copybook di working-storage: costanti, wgrave, wgrid, wnscr, wopenf, wstato, cogazien, utils52, utils65, utilgdad, utilk63.
  • Linkage: wcont, wcont1.
  • Il titolo della maschera e' "Polizze in Coassicurazione".