Vai al contenuto

COGK87 - Estratto Conto coassicurazione per compagnia

Panoramica

Programma di stampa (report a 118 colonne) del modulo Coassicurazioni che produce l'estratto conto verso le compagnie co-assicuratrici, in forma di lettera/documento per compagnia (intestazione con anagrafica, coordinate bancarie e agente; corpo con dettaglio quietanze del periodo; totali con saldo, ritenute d'acconto e totale da pagare). Su richiesta di una data estratto conto, di un periodo di competenza e della scelta "tutte le compagnie" oppure di una singola compagnia (per codice o ragione sociale), estrae gli incassi da COASSMOV nel periodo, li appoggia in un file di lavoro e stampa un estratto conto per ogni compagnia. Opzionalmente, con il flag "Contabilizzo", genera le scritture di prima nota contabile (COGPNONC). Avviato da maschera GUI con conferma F3.

Posizione nel menu

Menu Percorso
Contabilita' Coassicurazioni > Stampe > Estratto Conto per Compagnia

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file / percorsi)
COGTABEL Input Tabella generica: descrizione ramo (tipo "A8" per euta-codr = ramo) e progressivo numero documento contabile (tipo 66)
COASSMOV I-O Movimenti di coassicurazione; scanditi per chiave secondaria csm-chia2 (data-incasso) e riscritti quando si ricalcola la ritenuta d'acconto
COGCOASS Input Anagrafica polizze in coassicurazione (contraente)
COGGEANA Input Anagrafica generale (compagnie tipo "C", agenti tipo "F"): nome, indirizzo, CAP, localita', provincia, riferimenti contabili mastro/conto/sottoconto
COGAPPOG Input Dati di appoggio bancari (ABI, CAB, c/c, IBAN-CIN) per compagnia
COGBNCA Input Anagrafica banche/agenzie (descrizione per ABI e CAB)
COGPNONC I-O Prima nota contabile (non contabilizzata): destinazione delle scritture generate se "Contabilizzo" = "S"
LAVORO I-O File indicizzato temporaneo di transito (#$COGK87.<operatore>); riordina gli incassi per compagnia/ramo/polizza/date

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
cogtabel.fd / cogtabel.cpy SELECT/FD e record tabella generica COGTABEL
coggeana.fd / coggeana.cpy SELECT/FD e record anagrafica generale
cogcoass.fd / cogcoass.cpy SELECT/FD e record polizze coassicurazione
coassmov.fd / coassmov.cpy SELECT/FD e record movimenti coassicurazione (csm-rec)
cogappog.fd / cogappog.cpy SELECT/FD e record dati di appoggio bancari
cogbnca.fd / cogbnca.cpy SELECT/FD e record anagrafica banche
cogpnonc.fd / cogpnonc.cpy SELECT/FD e record prima nota contabile (pno-rec)
flsta.fd / flsta.cpy File di stato/stampa standard
cogconta.cpy Area conta-rec (anno contabile, dati contabilizzazione)
costanti.cpy Costanti generali
wstato / wgrave / wopenf / wnscr Stato I/O, errori gravi, apertura file, gestione video
cogazien.cpy Dati azienda
UTILS54 / UTILS52 / UTILS25 / UTILS21 / UTILW06 / utils65 Aree linkage subroutine di stampa (COGS54), data (COGS52W), numeratore documento (COGS25) e utility
sendw06.cpy Routine send-w06 per ricerca cliente per ragione sociale (COGW06)
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
cogtabel.k01 / coggeana.k01 / cogcoass.k01 / coassmov.k01 / coassmov.k03 / cogappog.k01 / cogbnca.k01 / cogpnonc.k01 Routine di I/O per chiave

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS52W Edit/formattazione delle date (data estratto conto, periodo di competenza, date movimento)
COGS95 Gestione dei check-box "Contabilizzo?" e "Tutte le Compagnie"
COGS54 Apertura sessione di stampa e chiusura post-stampa
COGS25 Assegnazione del numero progressivo documento di prima nota (per magazzino/codice/anno/mese)
COGW06 Ricerca cliente/compagnia per ragione sociale (via send-w06), restituisce il codice

Logica di elaborazione

1. Inizializzazione (apri / a000)

Nome programma, ctr-abil, z-99-init-program, rd-azi, apertura file di sistema e di coassicurazione (open-coassic: COGCOASS in input, COASSMOV in I-O). Nome file di lavoro (#$COGK87.<wo-oper>), abilitazione F3/F8, maschera "Estratto Conto" (dimensione 53x10), creazione/riapertura in I-O del file LAVORO con controllo di uso esclusivo.

2. Richiesta parametri (a4 - a-tm-rag)

Default: "Tutte le Compagnie" = "S", "Contabilizzo" = "N", data estratto conto = data odierna. Richiede in sequenza: - Contabilizzo? (a-tm-contabilizzo): check-box; se "S" chiede conferma esplicita (acc-conf); - Data Estratto Conto (a-tm-daint-es): obbligatoria; - Da Data / A Data (a-tm-daint-in / a-tm-daint-fi): periodo di competenza, entrambe obbligatorie con controllo inizio <= fine; - Tutte le Compagnie (a-tm-tipo): check-box "S"/"N"; - Codice / Ragione Sociale (a-tm-cod / a-tm-rag): abilitati solo se "Tutte le Compagnie" = "N" (gestione x-enabled-tm-cod / x-enabled-tm-rag in z-cambia-controlli). La ragione sociale attiva la ricerca COGW06 che restituisce il codice; il codice viene validato su COGGEANA (tipo "C").

Navigazione a GO TO con supporto mouse, ESC, F2 e conferma F3.

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

Verifica finale (x-imposta-conferma), conferma acc-conf, apertura sessione COGS54, quindi elabora (costruzione file di lavoro) e stampa (produzione estratti conto).

4. Elaborazione (elabora)

Si posiziona su COASSMOV con st-coassmov-notmin-chia2 (chiave secondaria csm-chia2 = data-incasso) e scorre con rdnxt-coassmov, filtrando su csm-data-incasso nell'intervallo [Da Data, A Data]. Per ogni movimento legge la polizza (rd-cogcoass) e, per ciascuna compagnia in csm-ele-assicura: - se "Tutte le Compagnie" = "N" (tm-cod valorizzato) considera solo la compagnia = tm-cod, saltando le altre; - ricalcola la ritenuta d'acconto se la provvigione e' valorizzata ma la ritenuta e' zero: csm-impo-ritac = (csm-impo-provv / 5) * 23 / 100, e riscrive il movimento su COASSMOV (rwr-coassmov); - legge la descrizione ramo da COGTABEL (tipo "A8", euta-codr = ramo); - scrive il record nel file LAVORO (escludendo la compagnia 88888) con date, importi, provvigione, ritenuta, contraente, descrizione ramo. Chiave di LAVORO: compagnia / ramo / npol / data-eff / data-inca.

5. Stampa dell'estratto conto (stampa)

Scorre LAVORO in ordine di chiave. Alla rottura di compagnia (tmp-compagnia not = lav-compagnia), se non e' la prima, chiude l'estratto conto della compagnia precedente: - riga 12 (totali lordo/netto/provvigioni), riga 15 (saldo = totale lordo - provvigioni), riga 17 (totale ritenute d'acconto), riga 19 (totale euro = saldo + ritenute), riga 21 ("Agenzia di Parma"), poi salto pagina; - accumula nel totale finale (w-totfin) ed esegue contabilizzazione (scrittura prima nota per la compagnia chiusa).

Quindi apre il nuovo estratto conto: intestazione con anagrafica compagnia (nome, indirizzo, CAP/localita'/provincia da COGGEANA tipo "C"), testo di cortesia per l'accredito, dati bancari (ABI/banca e CAB/agenzia da COGBNCA, c/c e CIN da COGAPPOG), agente (COGGEANA tipo "F") e intestazioni di colonna. Per ogni riga di dettaglio (i10) stampa ramo, polizza, data incasso, contraente, premio lordo/netto, tipo Q/P (con "7%" per le quietanze), provvigione, accumulando i totali di compagnia (w-tot*). Alla fine (a3-99-exit) chiude l'ultimo estratto conto ed esegue contabilizzazione e, se "Contabilizzo" = "S", scri-controp (scrittura contropartita).

6. Contabilizzazione (contabilizzazione / scri-contab / scri-controp / prendi-num)

Attiva solo se "Contabilizzo" = "S" e la compagnia non e' 88888. prendi-num recupera l'anno contabile e il numero documento progressivo via COGTABEL (tipo 66) e COGS25. scri-contab scrive su COGPNONC la riga del conto ricavi (mastro/conto/sottoconto della compagnia da COGGEANA), con segno determinato dal segno del totale lordo, importo = totale lordo, descrizione "Quietanze: MM/AAAA". scri-controp scrive la contropartita sul conto debito CAP (mastro 01, conto 22, sottoconto 18) con l'importo accumulato (w-debito-cap). A fine stampa (fine-sta) segnala l'intervallo di documenti di prima nota creati.

7. Chiusura (fine-sta / fine)

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

Note tecniche

  • Estratto conto in forma di lettera: a differenza degli elenchi COGK86/COGK90 (report tabulari), COGK87 produce un documento per compagnia (larghezza 118 colonne) con intestazione anagrafica/bancaria, corpo quietanze e sezione totali/saldo, pensato per essere inviato alla compagnia co-assicuratrice. Contiene testo fisso "Agenzia di Parma" e "Parma," nell'intestazione data.
  • Ricalcolo e riscrittura della ritenuta d'acconto: in fase di elaborazione, se la provvigione e' presente ma la ritenuta e' zero, la ritenuta viene calcolata come 4,6% della provvigione ((provv/5)*23/100) e il movimento COASSMOV viene riscritto (per questo COASSMOV e' aperto in I-O). Questa e' l'unica differenza operativa rilevante rispetto a COGK86/COGK90 che leggono la ritenuta senza modificarla.
  • Contabilizzazione automatica (COGPNONC): con il flag "Contabilizzo", il programma genera scritture di prima nota (conto ricavi per compagnia + contropartita debito CAP), numerate via COGS25 e con anno da COGTABEL tipo 66. La compagnia 88888 e' esclusa dalla contabilizzazione (compagnia convenzionale/appoggio).
  • Selezione singola compagnia: se "Tutte le Compagnie" = "N", il report e' limitato alla compagnia scelta per codice o ragione sociale; la ricerca per ragione sociale usa COGW06 (send-w06) e ritorna il codice.
  • COGTABEL tipo "A8" e tipo 66: la descrizione ramo e' letta da COGTABEL con tipo "A8" (chiave euta-codr = ramo); il progressivo del documento contabile usa COGTABEL tipo 66.
  • Chiave polizza a 13 cifre: il tracciato del file di lavoro (lav-npol pic 9(13)) e il record COGCOASS/COASSMOV usano numero polizza a 13 cifre, coerente con coa-npol/csm-npol.
  • Programma non generato da Screens: scritto a mano (autore Claudio, 05/01/2005); non esistono i file .select/.fd/.wrk/.prc in cbl/screens/ (solo .version). Screen section (con check-box gestiti da COGS95), richiesta parametri e I/O sono codificati nel sorgente, con navigazione a GO TO.