Vai al contenuto

COSO54 - Carico quote IVA

Scopo

Calcola e carica gli addebiti per quote fisse, quote sul volume d'affari e quote per numero di registrazioni, partendo dai file DATINC (movimenti) e AMF037 (volumi). Produce per ogni codice fiscale un record con l'importo cumulativo, scritto in QQUOTE per la stampa di riepilogo.

File e tabelle

File Tipo Descrizione
DATINC Sequenziale File input movimenti (selezionato dall'utente, copiato da server)
AMF037 Sequenziale File input volumi d'affari per socio
COGTRANS Indicizzato Archivio accumulatore per codice fiscale (chiave: CF, dato: importo cumulativo)
QQUOTE Sequenziale File di stampa finale (uno per socio)
UNANASO Indicizzato Anagrafiche soci (ricerca su CHIA6 = CF, fallback su CHIA2 = P.IVA)
COGTABEL Indicizzato Lookup causali e parametri

Copybook

Copybook Sezione Utilizzo
coso54.wrk / .fd / .select tutte Strutture generate da Screens
K-U10.CPY WORKING-STORAGE Utility per importi/numeri
cogazien.cpy WORKING-STORAGE Dati azienda
wopenf.cpy WORKING-STORAGE Apertura file
wstato.cpy WORKING-STORAGE Stato file
OPENSAVE.DEF WORKING-STORAGE File dialog GUI

CALL

Programma Quando Scopo
C$OPENSAVEBOX Su F5 Selezione file di input via dialog GUI
COPIAF All'inizio dell'elaborazione Copia file DATINC/AMF037 da server a temporaneo locale
COSO55A Al termine Stampa di riepilogo finale (modale, ex COSO55 — vedi sotto)

Logica di elaborazione

Flusso principale

  1. Accetta nomi file input e parametri quote (fissa, % volume, per registrazione).
  2. Copia i file dal server in locale (COPIAF).
  3. Prima passata su DATINC: per ogni CF accumula in COGTRANS l'importo della quota fissa.
  4. Seconda passata su AMF037: per ogni CF aggiorna COGTRANS sommando volume × % quota volume / 100.
  5. Terza passata su DATINC: per ogni CF aggiorna COGTRANS aggiungendo num_movimenti × quota_registrazione.
  6. Per ogni record in COGTRANS legge UNANASO (ricerca su CHIA6 = CF, poi su CHIA2 = P.IVA) e scrive il record di stampa in QQUOTE.
  7. Chiama CSOS55 per la stampa finale.

Note tecniche

  • Le date di dismissione anagrafica vengono confrontate con la data di sistema: se la data di dismissione e' successiva, l'anagrafica e' considerata valida.
  • File di log in tmp/#$coso54.ope con dettaglio operazioni.
  • Transazionalita': in caso di errore, i file di output vengono ripuliti.
  • L'unstring sui file di input usa tab (0x09) come separatore.

Note operative

  • Dipende dal layout dei file DATINC/AMF037 forniti esternamente.
  • La stampa finale e' generata dal sottoprogramma COSO55A (alias di stampa del modulo COSO55, sorgente in cbl/coso55a.cbl con program-id. coso55.).

Storico modifiche

Data Descrizione
2026-05-21 Chiamata di stampa finale spostata da COSO55 a COSO55A. Nome del file di output addebiti.arc scritto in minuscolo (era ADDEBITI.ARC) per allinearsi alla convenzione case-sensitive del filesystem. La variabile idfile2 e' stata allungata da x(70) a x(270) per accogliere percorsi assoluti piu' lunghi.