Vai al contenuto

COGK89 - Elenco polizze in coassicurazione

Panoramica

Programma di stampa (report tabulare a 132 colonne) del modulo Coassicurazioni. Produce l'elenco completo delle polizze in coassicurazione anagrafate in COGCOASS, senza filtri di data: per ogni polizza (ramo/numero) stampa ramo, numero polizza, contraente, data inizio e fine copertura, compagnia co-assicuratrice, agente e percentuale di riparto. A differenza di COGK86/COGK87/COGK90, lavora sull'anagrafica polizze (COGCOASS) e non sui movimenti (COASSMOV): non richiede intervallo di date ne' tipo di stampa, ma solo una conferma. Avviato da maschera GUI con conferma F3.

Posizione nel menu

Menu Percorso
Contabilita' Coassicurazioni > Stampe > Elenco Polizze in Coassicurazione

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file / percorsi)
COGCOASS Input Anagrafica polizze in coassicurazione: scandita integralmente per chiave primaria (deleg/ramo/npol/prog)
COGGEANA Input Anagrafica generale (compagnie tipo "C", agenti tipo "F"): descrizioni per la stampa
COASSMOV Input Movimenti di coassicurazione (aperto per omogeneita', non usato nell'estrazione)
LAVORO I-O File indicizzato temporaneo di transito (#$COGK89.<operatore>); riordina le polizze per ramo/npol/compagnia

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
coggeana.fd / coggeana.cpy SELECT/FD e record anagrafica generale
cogcoass.fd / cogcoass.cpy SELECT/FD e record polizze coassicurazione (coa-rec)
coassmov.fd / coassmov.cpy SELECT/FD e record movimenti coassicurazione (csm-rec)
flsta.fd / flsta.cpy File di stato/stampa standard
costanti.cpy Costanti generali
wstato / wgrave / wopenf / wnscr Stato I/O, errori gravi, apertura file, gestione video
cogazien.cpy Dati azienda (intestazione stampa)
UTILS54 / UTILS52 / UTILS21 / UTILW06 / utils65 Aree linkage subroutine di stampa (COGS54), data (COGS52W) e utility
WCONT.CPY / WCONT1.CPY Aree di linkage standard (parametro stringhe)
stato / stato1 / winmsg / grave / open1 / mmmask Routine di stato verbi, messaggi, errori gravi, apertura generica, maschera
coggeana.k01 / cogcoass.k01 / coassmov.k01 / coassmov.k03 Routine di I/O per chiave

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS52W Edit/formattazione delle date di inizio e fine copertura per la stampa
COGS54 Apertura sessione di stampa e chiusura post-stampa

Logica di elaborazione

1. Inizializzazione (apri / a000)

Imposta il nome programma, verifica l'abilitazione (ctr-abil), inizializza il programma, legge i dati azienda, apre i file di sistema e i file di coassicurazione (open-coassic: COGCOASS e COASSMOV in input). Costruisce il nome del file di lavoro temporaneo (#$COGK89.<wo-oper>), abilita F3/F8, visualizza la maschera "Stampa Polizze Coassicurazioni" e crea/riapre in I-O il file LAVORO con controllo di uso esclusivo (segnalazione "Funzione gia` in uso").

2. Richiesta parametri (a4)

La maschera non contiene campi di input: i controlli data inizio/fine e tipo di stampa presenti in COGK86/COGK90 sono commentati nel sorgente. a4 inizializza la maschera e attiva F3. La conferma avviene in a-riga-fine tramite acc-conf-custom con messaggio "Confermi la Stampa?"; ESC esce.

3. Avvio stampa (a-riga-fine-ok)

Apre la finestra di appoggio e la sessione di stampa via COGS54, quindi esegue elabora (costruzione file di lavoro) e stampa (produzione report).

4. Elaborazione (elabora)

Si posiziona su COGCOASS con st-cogcoass-notmin e scorre l'intera anagrafica con rdnxt-cogcoass (nessun filtro di data). Per ogni polizza, e per ciascuna compagnia co-assicuratrice presente in coa-ele-assicura (fino a compagnia = zero), scrive un record nel file LAVORO con ramo, numero polizza, compagnia, agente, percentuale, data inizio, data fine, rateazione, codice e nome contraente. Chiave di LAVORO: ramo / npol / compagnia.

5. Stampa del report (stampa)

Scorre LAVORO in ordine di chiave. La rottura e' su ramo o numero polizza (tmp-ramo not = lav-ramo or tmp-polizza not = lav-npol): - stampa tratto separatore, riga di intestazione colonne (i1: Ramo, Polizza, Contraente, Data Inizio, Data Fine, Compagnia, Agente, Perc.) e la prima riga dati completa (i2) con descrizione compagnia (COGGEANA tipo "C"), descrizione agente (COGGEANA tipo "F"), contraente, ramo, polizza, percentuale, date inizio/fine formattate via COGS52W; - per le compagnie successive della stessa polizza stampa solo compagnia, agente e percentuale (contraente/date omessi, initialize i2).

Alla fine (a3-99-exit) stampa una riga vuota e il tratto di asterischi finale. L'intestazione di pagina (x5-intesta) riporta azienda, titolo "Stampa Polizze Coassicurazioni", data di stampa e numero pagina.

6. Chiusura (fine-sta / fine)

Chiude la sessione di stampa (COGS54 after-print), la finestra di appoggio, i file, elimina il file LAVORO ed esegue z-99-exit-program.

Note tecniche

  • Sorgente sui dati anagrafici, non sui movimenti: e' l'unico dei quattro report di stampa coassicurazione che estrae da COGCOASS (anagrafica polizze) invece che da COASSMOV (movimenti). Di conseguenza non ha filtri di periodo ne' tipo Quietanze/Incassi/Non incassati, e non calcola importi/totali: elenca lo stato anagrafico delle coperture.
  • Maschera senza parametri: i controlli data e combo tipo presenti nel modello COGK86/COGK90 sono lasciati come codice commentato; la maschera espone solo la conferma. Il file COASSMOV e' aperto ma non concorre all'estrazione.
  • Espansione per compagnia: come negli altri report, ogni polizza COGCOASS genera una riga di LAVORO per ciascuna compagnia in coa-ele-assicura (max 30), con agente e percentuale per-compagnia.
  • Rateazione: il campo lav-rateaz (da coa-rateaz: 1=annuale, 2=semestrale) e' trasferito nel file di lavoro ma non compare nelle righe di stampa attuali.
  • Programma non generato da Screens: scritto a mano (autore Claudio, 07/01/2004); non esistono i file .select/.fd/.wrk/.prc in cbl/screens/ (solo .version). Screen section e I/O codificati nel sorgente, con navigazione a GO TO.