COSO09 - Stampa Schede Anagrafiche Soci¶
Scopo¶
Stampa delle schede anagrafiche complete dei soci dell'Unione, con layout dettagliato tipo "scheda" che include tutti i dati anagrafici, bancari, superfici e situazione contabile (dare/avere/saldo). Filtri per intervallo soci, zona e ordinamento.
Menu¶
Contabilita' > Unione soci/clienti > Stampa Schede anagrafiche (2 posizioni)
File e tabelle¶
| File | Tipo | Utilizzo |
|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | Tabelle generali (zone tipo 06/90) |
| UNANASO | Indicizzato | Anagrafica soci/clienti unione |
| FLSTA | Stampa | File di stampa |
Il file UNANASO e' acceduto tramite chiave primaria e chiave secondaria k04 (unanaso.k04).
Copybook¶
Working-Storage¶
coso09.wrk— variabili specifichek-u10.cpy— costanti utility divisewgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy— standardcogazien.cpy— dati azienda
Utility¶
utils52.cpy— gestione dateutils54.cpy— gestione stampanteutils65.cpy— ricerca anagraficheutilu10.cpy— utility diviseutilo30.cpy— ricerca zone
Screen¶
coso09-01.scr— definizione maschera
Procedure Division¶
coso09.decla— declarativescoso09.prc— procedure standardgetdcont.cpy— calcolo dare/avere/saldo da movimentiunanaso.k04— chiave secondaria (zona/tipo/codice)grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy— standard finali
CALL a sottoprogrammi¶
| Programma | Funzione |
|---|---|
| COSO30 | Ricerca zone (tipo 06/90) |
| COGS54 | Gestione stampante (apertura/chiusura) |
| COGS65W | Ricerca anagrafiche soci |
Logica di elaborazione¶
Parametri maschera¶
| Campo | Variabile | Valori |
|---|---|---|
| Da socio | tm-socioda | Codice inizio (0 = dall'inizio) |
| A socio | tm-socioa | Codice fine (0 = alla fine) |
| Zona | tm-zona | Codice zona; 999 = tutte; obbligatorio |
| Ordinamento | tm-gen-zona | G=Generale (per codice), Z=Per zona |
Flusso di stampa¶
- Raccolta parametri con validazione
- Apertura stampante tramite COGS54 (120 caratteri)
- Posizionamento su UNANASO:
- Se ordinamento "G" (generale):
st-unanaso-notminda tm-socioda - Se ordinamento "Z" (per zona):
st-unanaso-chia4-notmin(chiave k04 — zona) - Lettura sequenziale con filtri:
- Tipo anagrafica = "C" (soci)
- Intervallo codici tm-socioda / tm-socioa
- Zona specifica o tutte (999)
- Per ogni socio: stampa scheda completa con intestazione
Contenuto scheda stampata¶
Per ogni socio viene stampato:
- Intestazione: eventuale indicazione "DIMESSO" con anno
- Ragione sociale: codice e nome
- Indirizzo: composto da anas-ind + anas-civico
- Localita': comune, provincia, CAP
- Dati fiscali: partita IVA, codice fiscale
- Dati bancari: ABI, CAB, conto corrente
- Superficie: dati conferimenti
- Situazione contabile: dare, avere, saldo (calcolati tramite getdcont.cpy)
Validazioni¶
- Codice socio deve essere < 90000
- Zona obbligatoria (non puo' essere zero)
- Zona deve esistere in COGTABEL (tipo 06/90), tranne 999 ("Tutte le zone")
Gestione divisa¶
All'apertura chiama get-divisa-conto per determinare la divisa corrente del conto.
Note tecniche¶
- Larghezza stampa: 120 caratteri (
k-chr-stampa). - Usa
mmmask.cpy(programma standalone). - Accesso per zona tramite chiave secondaria
unanaso.k04(zona1/zona2/tipo/codice). - La copybook
getdcont.cpycalcola i totali dare/avere/saldo leggendo i movimenti contabili relativi al socio. - Il tipo anagrafica per i soci e'
k-ana-tipo-cli("C"). - Indirizzo composto con STRING di
anas-indeanas-civico.
Storico modifiche¶
Maggio 2026 — Rimosso fallback condizione su tipo socio¶
In fase di lettura condizioni anagrafica (euta-tipo = 06, scan su cogtabel per ogni socio), il programma cercava una condizione codificata come ana3-cond1/ana3-cond2 (lookup rd-tab). Se la lettura falliva, veniva ritentato un fallback con anas-tiposocio come euta-codso1.
Il fallback e' stato rimosso: ora se la lettura rd-tab con ana3-cond1/ana3-cond2 fallisce, la descrizione condizione resta vuota (poi marcata con * dalla logica successiva). Le schede stampate possono quindi mostrare condizioni "non risolte" dove prima veniva applicato il default per tipo socio.