Vai al contenuto

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

  1. Apertura: init programma, lettura tabella generica contabilita' (tipo 66), verifica sua esistenza
  2. Raccolta parametri: anno, tipo quota, data registrazione, data valuta, conti dare/avere, causali, descrizioni
  3. Validazione: controllo esistenza archivio quote (file QUOaaaa.ARC), controllo conti su piano dei conti, controllo causali
  4. Conferma: richiesta esplicita all'operatore
  5. Elaborazione: paragrafo aggiorna

Elaborazione (aggiorna)

  1. Apre il file QQUOTE in input
  2. Posiziona con START su chiave iniziale (socio=0, anno=0, tipo=0)
  3. Legge sequenzialmente i record
  4. Filtra solo i record con quo-tipo = tipo richiesto
  5. Accumula per socio: se quo-mode = "T", somma quo-valore a totsocio (distingue dare/avere per segno)
  6. Al cambio socio, esegue:
  7. contab: genera il movimento di prima nota per il socio (dare o avere secondo il segno del totale)
  8. Aggiorna anas-quota-preced sull'anagrafica soci (UNANASO)
  9. 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 ctr a 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 come tm-tipo-9 numerico
  • La variabile documento accumula il numero di documento generato, mostrato a fine elaborazione
  • Il programma aggiorna il campo anas-quota-preced sull'anagrafica soci per ogni socio elaborato
  • Utilizza PERFORM ... THRU in diversi punti (contab/ex-contab, controp/ex-controp, aggiorna/ex-aggiorna)
  • La divisa e' gestita tramite get-divisa-conto (da cogconta.cpy)