COGK64 - Inserimento Prima Nota Contabile (Coassicurazioni)¶
Sorgente: cbl/cogk64.cbl | Program-ID: COGK64 | Tipo: Interattivo con elaborazione batch
Menu: Contabilita' > Coassicurazioni > Inserimento P.Nota contabile
Scopo¶
Genera scritture di prima nota contabile (COGPNONC) e registrazioni IVA (COGARIVA) a partire dai movimenti di coassicurazione (COASSMOV) in un intervallo di date di incasso. Raggruppa per compagnia assicurativa e crea documenti contabili multipli con numerazione progressiva.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Tabella | Input | Tabella generale Eurosystem |
| COGTABEL | Tabella | Input | Tabelle di sistema (tipo 66: contabilita', tipo 68: IVA, tipo 14: pagamenti) |
| COGGEANA | Tabella | Input | Anagrafica generale (agenti, compagnie) |
| COGPNONC | Tabella | I-O | Prima nota contabile - scritture generate |
| COGARIVA | Tabella | I-O | Archivio IVA - registrazioni generate |
| COGCOASS | Tabella | Input | Anagrafica coassicurazioni (polizze) |
| COASSMOV | Tabella | Input | Movimenti coassicurazione (incassi, quietanze) |
| COGAPPOG | Tabella | Input | Archivio appoggio |
| COGBNCA | Tabella | Input | Archivio banche |
| LAVORO | File temp | I-O | File indicizzato temporaneo di elaborazione |
| TRANSITO | File temp | Input | File di configurazione conti (da COGK64.cnf) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogfiles.cpy |
Struttura generica FEURTAB |
cogtabel.cpy |
Record tabelle di sistema |
coggeana.cpy |
Record anagrafica generale |
cogpnonc.cpy |
Record prima nota contabile |
cogariva.cpy |
Record archivio IVA |
cogcoass.cpy |
Record coassicurazioni |
coassmov.cpy |
Record movimenti coassicurazione |
cogappog.cpy |
Record archivio appoggio |
cogbnca.cpy |
Record banche |
costanti.cpy |
Costanti di sistema |
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy |
Working storage comuni |
cogazien.cpy |
Dati azienda |
cogconta.cpy |
Dati contabilita' |
utils54.cpy |
Utility stampa |
utilw06.cpy |
Utility finestra |
utils21.cpy |
Utility generica |
utils52.cpy |
Utility date/calendario |
utils25.cpy |
Utility numerazione progressiva |
utils65.cpy |
Utility generica |
cogtabel.k01 |
Chiave primaria COGTABEL |
cogpnonc.k01 |
Chiave primaria COGPNONC |
cogariva.k01 |
Chiave primaria COGARIVA |
coggeana.k01 |
Chiave primaria COGGEANA |
cogcoass.k01 |
Chiave primaria COGCOASS |
coassmov.k01 |
Chiave primaria COASSMOV |
coassmov.k03 |
Chiave secondaria COASSMOV (per data incasso) |
cogappog.k01 |
Chiave primaria COGAPPOG |
cogbnca.k01 |
Chiave primaria COGBNCA |
Struttura del programma¶
Variabili della maschera (tab-maschera)¶
| Variabile | PIC | Descrizione |
|---|---|---|
tm-tipo |
X(01) | Tipo elaborazione (Q=Quietanze, I=Incassi, N=Non incassati) - attualmente fisso "Q" |
tm-daint-in |
9(08) | Data incasso iniziale |
tm-daint-fi |
9(08) | Data incasso finale |
tm-data-co |
9(08) | Data contabile |
File di lavoro (LAVORO)¶
Record lav-rec con chiave composta:
lav-compagnia(9(05))lav-ramo(9(02))lav-npol(9(13))lav-data-eff(9(08))lav-data-inca(9(08))
Dati: agente, percentuale, incassato netto/lordo, premio netto/lordo, percentuale provvigione, importo provvigione, importo ritenuta d'acconto, tipo documento.
Conti contabili (da file transito)¶
Array w-area (20 occorrenze) caricato dal file COGK64.cnf:
w-conto(1)- Conto ricavi (provvigioni)w-conto(2)- Conto ritenuta d'accontow-conto(20)- Tipo operazione (w-to)
Flusso principale¶
- apri - Inizializzazione, apertura file, lettura configurazione conti da
COGK64.cnf - a002/a002b - Caricamento conti da file transito sequenziale
- a4 - Inizializzazione maschera, tipo fisso "Q"
- a-tm-daint-in - Accept data inizio incasso
- a-tm-daint-fi - Accept data fine incasso
- a-tm-data-co - Accept data contabile
- a-riga-fine - Validazione completa e conferma
- elabora2 - Fase elaborazione: caricamento dati in file lavoro
- stampa - Fase scrittura contabile: scansione file lavoro e generazione documenti
Logica di elaborazione (elabora2)¶
- Posizionamento su COASSMOV per chiave secondaria K03 (data incasso)
- Loop da
tm-daint-inatm-daint-fi - Per ogni movimento: lettura coassicurazione corrispondente (COGCOASS)
- Per ogni compagnia nel movimento: creazione record nel file LAVORO con provvigioni e ritenute
Logica di scrittura contabile (stampa / scri-contab)¶
Per ogni cambio di compagnia nel file LAVORO:
- prendi-num - Numerazione progressiva tramite COGS25 (codice 5)
- Conto ricavi - Scrittura avere su
w-conto(1)per importo provvigioni - Conto agente - Scrittura dare su conto dell'agente (da COGGEANA)
- Registrazione IVA - Scrittura su COGARIVA (codice aliqu. "ES", esenzione "10")
- Ritenuta d'acconto (se presente):
- Scrittura avere sul conto agente per importo ritenuta
- Scrittura dare su
w-conto(2)per importo ritenuta
- Provvigione netta c/agente - Scrittura avere sul conto agente
- Provvigione netta c/compagnia - Scrittura dare sul conto compagnia (da COGGEANA, tipo fornitore)
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS52W | CALL | Gestione date con calendario |
| COGS25 | CALL | Numerazione progressiva documenti |
| COGS54 | CALL | Gestione stampa (commentato nel codice) |
Note¶
- Il campo
tm-tipo(Q/I/N) e' presente nel codice ma la combo-box e' commentata nella screen section; il tipo e' fisso "Q" (Quietanze) nella logica corrente. - La chiave secondaria K03 di COASSMOV e' usata per la scansione per data incasso (
st-coassmov-notmin-chia2). - Il file di configurazione conti (
COGK64.cnf) si trova nella directory archivi (ext-arc-dir). - Il file lavoro temporaneo (
#$COGK64.<operatore>) si trova nella directory temporanea e viene cancellato alla chiusura.