COGE37UN - Stampa Anagrafiche Soci Unione¶
Scopo¶
Stampa elenco anagrafiche soci dell'Unione con filtri per tipo soggetto, zona, intervallo codici e ordinamento. Produce un report su stampante con totale soci estratti.
Menu¶
Contabilita' > Unione soci/clienti > Stampe > Stampa Anagrafiche Soci (3 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 k03 (unanaso.k03 — ordinamento per zona).
Copybook¶
Working-Storage¶
coge37un.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¶
coge37un-01.scr— definizione maschera
Procedure Division¶
coge37un.decla— declarativescoge37un.prc— procedure standardunanaso.k03— chiave secondaria per zonagrave.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 |
|---|---|---|
| Soci/non soci | tm-tutti-soci | S=Soci, N=Non soci, T=Tutti |
| Tipo estrazione | tm-tutti-zona | T=Tutte zone, Z=Zona specifica |
| Zona | tm-zona | Codice zona (0 = non impostata) |
| Ordine stampa | tm-ord-stampa | A=Alfabetico, C=Per codice |
| Da socio | tm-socioda | Codice inizio |
| A socio | tm-socioa | Codice fine |
| Tipo stampa | tm-tipo-sta | E=Elenco, D=Dettaglio |
Flusso di stampa¶
- Raccolta parametri con validazione (zona obbligatoria se tipo "Z", codici < 90000)
- Apertura stampante tramite COGS54 (132 caratteri)
- Posizionamento su UNANASO in base ai parametri:
- Se ordinamento per codice:
st-unanaso-notminda tm-socioda - Se ordinamento per zona:
st-unanaso-chia4-notmin(chiave k03) - Lettura sequenziale con filtri: tipo anagrafica, intervallo codici, zona
- Stampa riga per ogni socio estratto
- Totale soci a fine report
- Chiusura stampante con
s54-after-print = "S"
Validazioni¶
- Codice socio deve essere < 90000
- Se tipo estrazione = "Z", la zona deve esistere in COGTABEL (tipo 06/90)
- Codice socio deve esistere in UNANASO (tipo "C")
Contatori¶
ct-t: totale soci stampatict-d: soci dettaglioct-e: soci elencoctr-soci-sta: contatore soci per stampa totali
Note tecniche¶
- Larghezza stampa: 132 caratteri (
k-chr-stampa). - Usa
mmmask.cpy(programma standalone). - Accesso per zona tramite chiave secondaria
unanaso.k03(zona1/zona2/tipo/codice). - Il tipo anagrafica per i soci e'
k-ana-tipo-cli("C").