COSO45 - Contabilizzazione Quote Unione Agricoltori¶
Scopo¶
Contabilizzazione delle quote associative dell'unione agricoltori. Legge l'archivio quote (file sequenziale/indicizzato QQUOTE per anno) e genera movimenti di prima nota non contabilizzata (COGPNONC) raggruppati per socio. Per ogni socio produce un movimento dare o avere sul conto soci, poi un movimento di contropartita per il totale generale.
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| COGTABEL | Indicizzato | Tabella generica (tipo 66 = config contabilita') |
| COGPNONC | Indicizzato | Prima nota non contabilizzata |
| QQUOTE (newquote) | Indicizzato | Archivio quote per anno (file QUOaaaa.ARC) |
| COGPNCON | Indicizzato | Piano dei conti |
| UNANASO | Indicizzato | Anagrafica soci unione |
| FEURTAB | Indicizzato | File tabelle parametri |
Copybook¶
| Copybook | Sezione | Utilizzo |
|---|---|---|
| coso45.select | FILE-CONTROL | SELECT dei file |
| coso45.fd | FILE SECTION | FD dei file |
| coso45.wrk | WORKING-STORAGE | Variabili di lavoro |
| coso45-01.scr | SCREEN SECTION | Maschera video |
| coso45.decla | PROCEDURE | Declaratives |
| newquote.fd | FILE-CONTROL | SELECT file quote |
| newquote.cpy | FILE SECTION | FD/record file quote |
| cogfiles.cpy | FILE SECTION | Record FEURTAB |
| k-u10.cpy | WORKING-STORAGE | Costanti utility |
| wgrave.cpy | WORKING-STORAGE | Gestione errori gravi |
| wnscr.cpy | WORKING-STORAGE | Variabili screen |
| wopenf.cpy | WORKING-STORAGE | Gestione apertura file |
| wstato.cpy | WORKING-STORAGE | Gestione stato file |
| cogazien.cpy | WORKING-STORAGE | Dati azienda |
| utils52.cpy | WORKING-STORAGE | Utility date |
| utils54.cpy | WORKING-STORAGE | Utility stampa |
| utils65.cpy | WORKING-STORAGE | Utility |
| utilu10.cpy | WORKING-STORAGE | Utility importi |
| utils67.cpy | WORKING-STORAGE | Utility piano conti |
| utils99.cpy | WORKING-STORAGE | Utility codifiche |
| cogconta.cpy | WORKING-STORAGE | Struttura contabilita' |
| utils25.cpy | WORKING-STORAGE | Utility numerazione documenti |
| wcont.cpy | LINKAGE | Struttura stringhe |
| wcont1.cpy | LINKAGE | Struttura stringhe aggiuntiva |
CALL¶
| Programma | Funzione |
|---|---|
| COGS99W | Utility codifiche causali |
(La CALL a COGS25 per numerazione documenti e' commentata nel sorgente attuale.)
Logica di elaborazione¶
Flusso principale¶
- Apertura: init programma, lettura tabella generica contabilita' (tipo 66), verifica sua esistenza
- Raccolta parametri: anno, tipo quota, data registrazione, data valuta, conti dare/avere, causali, descrizioni
- Validazione: controllo esistenza archivio quote (file QUOaaaa.ARC), controllo conti su piano dei conti, controllo causali
- Conferma: richiesta esplicita all'operatore
- Elaborazione: paragrafo
aggiorna
Elaborazione (aggiorna)¶
- Apre il file QQUOTE in input
- Posiziona con START su chiave iniziale (socio=0, anno=0, tipo=0)
- Legge sequenzialmente i record
- Filtra solo i record con
quo-tipo= tipo richiesto - Accumula per socio: se
quo-mode= "T", sommaquo-valoreatotsocio(distingue dare/avere per segno) - Al cambio socio, esegue:
contab: genera il movimento di prima nota per il socio (dare o avere secondo il segno del totale)- Aggiorna
anas-quota-precedsull'anagrafica soci (UNANASO) controp: genera il movimento di contropartita sul conto avere
Paragrafo contab¶
Costruisce e scrive un record COGPNONC:
- pno-anno = anno contabile (da conta-cones9)
- pno-mastro/conto/sconto = conto dare + codice socio come sottoconto
- pno-mov* = data registrazione
- pno-eff* = data effetto
- pno-val* = data valuta
- pno-to = causale (dare se totsocio > 0, avere se < 0)
- pno-des = descrizione corrispondente
- pno-segno = "D" o "A"
- pno-importo = importo totale socio
- pno-docum = numero documento progressivo (ctr)
Paragrafo controp¶
Genera il movimento di contropartita sul conto avere per il totale generale elaborato.
Limiti¶
- Massimo 9997 movimenti per esecuzione (contatore
ctra 4 cifre, con limite a 9998) - Se superato, il programma si interrompe con messaggio di errore
Note tecniche¶
- Il file QQUOTE e' aperto dinamicamente costruendo il path:
ext-arc-dir/QUOaaaa.ARC - Il campo
tm-tipo(1-9) filtra il tipo di quota; viene usato cometm-tipo-9numerico - La variabile
documentoaccumula il numero di documento generato, mostrato a fine elaborazione - Il programma aggiorna il campo
anas-quota-precedsull'anagrafica soci per ogni socio elaborato - Utilizza
PERFORM ... THRUin diversi punti (contab/ex-contab, controp/ex-controp, aggiorna/ex-aggiorna) - La divisa e' gestita tramite
get-divisa-conto(da cogconta.cpy)