Vai al contenuto

COSO55 - Carico Quote Paghe

Funzione

Contabilizzazione addebiti soci da file esterno paghe a tracciato fisso (ADDEBITI.ARC). Identifica i soci per codice fiscale o partita IVA, e genera movimenti in prima nota non contabilizzata (COGPNONC). Gestisce sconti automatici basati su percentuali in anagrafica.

  • Contabilita' > Unione soci/clienti > Movimenti > Carico quote paghe

Tracciato del file di input

Il file ADDEBITI.ARC viene letto come record di lunghezza fissa con il seguente layout (definito direttamente in FD qquote):

Posizione Lunghezza Campo Tipo Significato
1 1 inp-tpt x(01) Tipo record (es. 4 per quote IVA, altri per servizi)
2 4 filler x(04) Riservato
6 16 inp-codfis x(16) Codice fiscale socio (o, troncato dalla pos. 6 per 11, partita IVA)
22 107 filler x(107) Riservato
129 16 inp-valore 9(14)v9(02) Importo (zoned decimal con 2 decimali impliciti)

Il path completo viene costruito come ext-arc-dir + ext-os-slash + "ADDEBITI.ARC".

Tabelle e file principali

Tabella/File Descrizione Accesso
QQUOTE File input fisso ADDEBITI.ARC Input (open i-o, read sequential)
UNANASO Anagrafica soci/clienti Lettura (chiave 2 per P.IVA, chiave 6 per cod.fiscale completo, chiave 6 troncata per cod.fiscale 11 char)
COGPNONC (pno-rec) Prima nota non contabilizzata Scrittura (wr-cogpnonc)
COGPNCON (pco-chia) Piano dei conti Lettura (rd-cogpncon)
COGTABEL (euta-tipo=66) Tabella generica contabilita' Lettura configurazione

Copybook e sottoprogrammi

Elemento Tipo Ruolo
cogconta.cpy Copybook Record contabilita' (conta-rec)
cogfiles.cpy Copybook File configurazione
cogazien.cpy Copybook Dati azienda
coso55.select / .fd / .wrk / .prc Screen Definizioni screen
utilncnf.cpy Copybook Utility configurazione (RNEWCONF)
unanaso.k02 / unanaso.k06 Copybook chiave Chiave 2 (P.IVA) e chiave 6 (codice fiscale) UNANASO
COGS52 Sottoprogramma Gestione campi data (calendario)
COGS67 Sottoprogramma (via utils67) Lookup conti contabili
COGS99W Sottoprogramma Lookup causali contabili
COGS25 Sottoprogramma Generazione numero documento

Logica principale

  1. Inizializzazione: legge tabella contabilita' (euta-tipo=66), verifica conto di sconto da configurazione RNEWCONF (SOCI/conto-di-sconto)
  2. Maschera parametri: conferma SI/NO, data registrazione, data valuta, conto dare (mastro/conto), conto avere (mastro/conto/sottoconto), causale, descrizione
  3. Controllo presenza file: il paragrafo x-controlla-presenza-file apre ADDEBITI.ARC in i-o e verifica che esista (errore 35 -> "Archivio inesistente !!")
  4. Lettura file: legge sequenzialmente i record a tracciato fisso (no UNSTRING / no delimitatore)
  5. Identificazione socio in cascata via paragrafi cerca-unanaso-valido-*:
  6. cerca-unanaso-valido-chia6 con anas-cofi = inp-codfis (codice fiscale completo)
  7. se non trovato: cerca-unanaso-valido-chia6-bis con anas-cofi = inp-codfis(6:11) (cod. fiscale troncato)
  8. se non trovato: cerca-unanaso-valido-chia2 con anas-piva = inp-codfis(6:11) e anas-tipo2 = k-ana-tipo-cli (partita IVA)
  9. Se unanaso-dimesso: messaggio "Socio dimesso : Importo: prendere nota, questo movimento non verra' inserito." con box-msg, poi go to a325
  10. Se nessun match: messaggio "Socio non codificato: " + importo, poi salto
  11. Generazione movimenti per ogni socio trovato:
  12. contab: scrive movimento DARE in COGPNONC (pno-segno="D", importo dal file)
  13. controp: scrive contropartita AVERE
  14. Se data registrazione rientra nel periodo sconto del socio e sconto > 0:
    • contab-sconto: calcola sconto (importo * percentuale sconto) e scrive in AVERE (pno-segno="A")
    • controp-sconto: scrive contropartita sconto sul conto di sconto configurato
  15. Lo sconto differisce per tipo record: inp-tpt != 4 usa anas-sconto-srv, inp-tpt = 4 usa anas-sconto-iva
  16. Fine: mostra numero documento creato

Note

  • Limite massimo 9997 movimenti per esecuzione (contatore ctr)
  • La tabella contabilita' (euta-tipo=66) fornisce parametri di esercizio in cogconta.cpy (conta-rec)
  • Il conto di sconto viene letto dalla configurazione RNEWCONF (SOCI/conto-di-sconto -> tm-cfg-conto-di-sconto)
  • L'archivio COGPNONC deve essere stato salvato prima dell'esecuzione (ripristino in caso di errore)

Storico modifiche

Maggio 2026 — Tracciato fisso e rimozione import Excel/CSV

Riscrittura del flusso di acquisizione:

  • Rimossi: tasto F5 "Apri file" con dialogo C$OPENSAVEBOX, conversione Excel via ESTRXLS, copia client/server via COPIAF, parsing CSV via UNSTRING con delimitatore configurabile.
  • Rimosse dipendenze: utilestrxls.cpy, opensave.def, l-copiaf.cpy, u-copiaf.cpy.
  • Rimossa chiave RNEWCONF cogesys/delimitatore-colonne-excel (parametro tm-cfg-delimiter); ncnf-pnt ridotto da 02 a 01.
  • Sostituita la logica inline di lookup socio (st-unanaso-chia6-notmin + st-unanaso-chia2-notmin con gestione manuale dimesso/non dimesso) con i paragrafi standard cerca-unanaso-valido-chia6 / chia6-bis / chia2 e il flag unanaso-dimesso.
  • Aggiunta copy unanaso.k06 nella catena finale (oltre alla unanaso.k02 gia' presente).
  • Tracciato file: ora fisso (ADDEBITI.ARC), letto direttamente in FD qquote con layout inp-tpt + filler + inp-codfis + filler + inp-valore.

Variante COSO55A

A fianco del sorgente storico cbl/coso55.cbl esiste una variante cbl/coso55a.cbl con lo stesso program-id. coso55. ma compilata come COSO55A. Viene richiamata da COSO54 per la stampa finale degli addebiti (file addebiti.arc). Le due varianti condividono la logica principale; la versione "a" introduce il nuovo calcolo quote richiesto dall'Unione Agricoltori di Bologna ed e' la versione attiva per quella catena di chiamata.