COGK84 - Quietanze in Coassicurazione¶
Descrizione¶
Gestione delle quietanze di coassicurazione (tabella COASSMOV). Il programma carica tutte le quietanze esistenti in una griglia e consente inserimento, modifica e cancellazione di singole quietanze. Il titolo maschera e' "Quietanze in Coassicurazione".
Per ogni quietanza vengono gestiti: ramo, numero polizza, data di scadenza, premio lordo, premio netto, tipo provvigione (polizza nuova o no), provvigione, data di pagamento. Al salvataggio, gli importi vengono ripartiti automaticamente tra le compagnie coassicuratrici leggendo le percentuali da COGCOASS.
La delega e' fissa a k-deleg = 56. Il tipo EUTA per la configurazione e' k-euta-tipo = 56.
Il programma puo' essere richiamato da altri programmi (modalita' selezione). Dalla griglia e' possibile aprire il dettaglio della quietanza tramite F8 (chiama COGK88).
Tabelle utilizzate¶
| Tabella | Accesso | Descrizione |
|---|---|---|
| COASSMOV | R/W (st-notmin-chia1, rdnxt, rd-lk, wr, rwr, del) | Movimenti quietanze coassicurazione |
| COGCOASS | R (rd) | Archivio polizze — per leggere le percentuali per compagnia e il nome contraente |
| COGTABEL | R | Tabelle di decodifica |
| FEURTAB | R | Tabella files di sistema |
Flusso di elaborazione¶
- Inizializzazione: apertura files (
open-coassic), lettura dati azienda, impostazione tasti funzione, visualizzazione maschera. - Caricamento griglia (
a10/a10-loop): scan sequenziale di COASSMOV (st-coassmov-notmin-chia1+rdnxt). Per ogni record: - Carica ramo, polizza, data scadenza (formattata via COGS52W), data pagamento.
- Legge COGCOASS per il nome del contraente.
- Formatta importi lordo, netto, provvigione via
z-u10(UTILU10). - Se
csm-data-incasso != 0, impostatm-pagato = "P". - Limite massimo:
k-max-ele-tab = 900righe. - Visualizzazione griglia (
a30): costruisce la griglia tramite GRIDADMN e mostra le quietanze caricate. - Loop griglia (
a-grid/a-accept-grid): - Invio (modalita' aggiornamento): apre la riga in modifica (
a-riga-dettaglio, operazione "M"). - F3: alterna tra modalita' selezione e aggiornamento (se richiamato).
- F8: chiama COGK88 con ramo, polizza e data della riga selezionata.
- Ctrl+A: aggiunge nuova riga (operazione "I").
- Ctrl+E: cancellazione riga con conferma; verifica pre-cancellazione via
c1-ctrl-canc; elimina da COASSMOV (del-coassmov) e scala le righe nella griglia. - Shift+F4: GRIDADMN "Ricerca quietanze coassicurazione".
- Dettaglio riga (
a-riga-dettaglio): acquisisce i campi con accept sequenziale: - Ramo (con F8 -> COGK63 per ricerca), polizza.
- Data scadenza (via COGS52W).
- Premio lordo, netto (via UTILU10
k-u10-accept). - Tipo provvigione (checkbox "P.N.").
- Provvigione: se zero, proposta automatica a
netto * 7 / 100. - Data di pagamento (via COGS52W, opzionale).
- Salvataggio quietanza (
a-riga-dettaglio-fine): - Tenta
rd-coassmov-lkper verificare se il record esiste gia'. - In caso di conflitto (inserimento su record esistente, o modifica su record non piu' presente), converte automaticamente l'operazione.
- Popola
csm-rec: importi lordo/netto/provvigione, data incasso, tipo provvigione. - Se
csm-aggio-det-quie != 1: loop sulle 30 compagnie di COGCOASS, calcolacsm-quie-lordo/nettoper ciascuna (importo * perc / 100),csm-impo-provv(provv * perc / 100),csm-impo-ritac(provv * perc / 100 / 5 * 23 / 100= ritenuta d'acconto 23% su 1/5 della provvigione). Se e' presente data di pagamento, popola anchecsm-inca-lordo/netto. - Esegue
wr-coassmovorwr-coassmov. - Cancellazione (
c-cancella):rd-coassmov-lk+del-coassmov.
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGK63 | Ricerca interattiva polizza (F8 nel dettaglio riga) |
| COGK88 | Visualizzazione dettaglio quietanza (F8 sulla griglia) |
| COGS52W | Gestione input e formattazione date |
| GRIDADMN | Gestione griglia (Prepara, Add-Record, Modify-Record, Svuota-Tutto, Shift+F4) |
UTILU10 (z-u10) |
Formattazione e acquisizione importi in valuta |
Note implementative¶
- La costante
k-deleg = 56e' hardcoded. La chiave di accesso a COASSMOV usa la chiave 1 (chia1). - La formula ritenuta d'acconto:
(provv_compagnia / 5) * 23 / 100. Il flagcsm-aggio-det-quiepermette di saltare il ricalcolo degli importi per compagnia (modalita' dettaglio gia' aggiornato). - La provvigione viene proposta al 7% del netto sia nell'acquisizione sia nel calcolo interno (se
tm-provvi = 0). - La screen section e' inline (non esternalizzata in
.scr), a differenza di COGK83. - Copybook di working-storage:
costanti,wstato,wgrave,wgrid,wopenf,wnscr,cogazien,utilgdad,utilu10,utilk88,k-u10,utils52,utilk63. - Linkage:
wcont,wcont1. - Il ridimensionamento della finestra aggiorna dinamicamente le dimensioni della griglia tramite
x-ricalcola-griglia(eventontf-resized). - Il flag
fl-sono-su-gridpreviene il blocco del programma quando si sposta il cursore nella griglia provenendo da un controllo gestito da COGS52.