Vai al contenuto

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

  1. Inizializzazione: apertura files (open-coassic), lettura dati azienda, impostazione tasti funzione, visualizzazione maschera.
  2. Caricamento griglia (a10/a10-loop): scan sequenziale di COASSMOV (st-coassmov-notmin-chia1 + rdnxt). Per ogni record:
  3. Carica ramo, polizza, data scadenza (formattata via COGS52W), data pagamento.
  4. Legge COGCOASS per il nome del contraente.
  5. Formatta importi lordo, netto, provvigione via z-u10 (UTILU10).
  6. Se csm-data-incasso != 0, imposta tm-pagato = "P".
  7. Limite massimo: k-max-ele-tab = 900 righe.
  8. Visualizzazione griglia (a30): costruisce la griglia tramite GRIDADMN e mostra le quietanze caricate.
  9. Loop griglia (a-grid/a-accept-grid):
  10. Invio (modalita' aggiornamento): apre la riga in modifica (a-riga-dettaglio, operazione "M").
  11. F3: alterna tra modalita' selezione e aggiornamento (se richiamato).
  12. F8: chiama COGK88 con ramo, polizza e data della riga selezionata.
  13. Ctrl+A: aggiunge nuova riga (operazione "I").
  14. Ctrl+E: cancellazione riga con conferma; verifica pre-cancellazione via c1-ctrl-canc; elimina da COASSMOV (del-coassmov) e scala le righe nella griglia.
  15. Shift+F4: GRIDADMN "Ricerca quietanze coassicurazione".
  16. Dettaglio riga (a-riga-dettaglio): acquisisce i campi con accept sequenziale:
  17. Ramo (con F8 -> COGK63 per ricerca), polizza.
  18. Data scadenza (via COGS52W).
  19. Premio lordo, netto (via UTILU10 k-u10-accept).
  20. Tipo provvigione (checkbox "P.N.").
  21. Provvigione: se zero, proposta automatica a netto * 7 / 100.
  22. Data di pagamento (via COGS52W, opzionale).
  23. Salvataggio quietanza (a-riga-dettaglio-fine):
  24. Tenta rd-coassmov-lk per verificare se il record esiste gia'.
  25. In caso di conflitto (inserimento su record esistente, o modifica su record non piu' presente), converte automaticamente l'operazione.
  26. Popola csm-rec: importi lordo/netto/provvigione, data incasso, tipo provvigione.
  27. Se csm-aggio-det-quie != 1: loop sulle 30 compagnie di COGCOASS, calcola csm-quie-lordo/netto per 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 anche csm-inca-lordo/netto.
  28. Esegue wr-coassmov o rwr-coassmov.
  29. 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 = 56 e' hardcoded. La chiave di accesso a COASSMOV usa la chiave 1 (chia1).
  • La formula ritenuta d'acconto: (provv_compagnia / 5) * 23 / 100. Il flag csm-aggio-det-quie permette 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 (evento ntf-resized).
  • Il flag fl-sono-su-grid previene il blocco del programma quando si sposta il cursore nella griglia provenendo da un controllo gestito da COGS52.