COGP10UN - Stampa Etichette Soci¶
Funzione¶
Stampa etichette postali per soci e non soci dell'Unione Agricoltori. Supporta filtri per tipo soggetto, zona, CAP e intervallo codice. Ordinamento per codice, nome o CAP. Output su stampante a due colonne e file di testo.
Menu¶
- Contabilita' > Unione soci/clienti > Archivi & Tabelle > Stampe > Stampa Etichette Soci
- Contabilita' > Unione soci/clienti > Attivita' in Zona > Stampe > Stampa Etichette
- Contabilita' > Unione soci/clienti > Etichette Soci
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| UNANASO | Anagrafica soci (anas-rec) | Lettura sequenziale |
| COGTRANS | File temporaneo di ordinamento (trs-rec) | Scrittura/lettura indicizzata (chiave trs-chia1, alternate trs-chia2, trs-chia5=cap+loca+chia1) |
| COGTABEL | Tabella generica (tipo 06/90 = zone) | Lettura per decodifica zona |
| FEURTAB | Tabella configurazione | Lettura |
| FLSTA | File di stampa | Scrittura |
| fileout | File testo etichette (etichette.txt) | Scrittura sequenziale |
Copybook e sottoprogrammi¶
| Elemento | Tipo | Ruolo |
|---|---|---|
| cogp10un.select/fd/wrk/prc/decla | Screen | Definizioni screen e procedure generate |
| cogfiles.cpy | Copybook | Struttura FEURTAB |
| utils54.cpy | Copybook | Interfaccia COGS54 (gestione stampante) |
| utils65.cpy | Copybook | Interfaccia COGS65W (ricerca anagrafica) |
| utils52.cpy | Copybook | Interfaccia COGS52 (calendario) |
| utilo30.cpy | Copybook | Interfaccia COSO30 (ricerca zone) |
| COGS54 | Sottoprogramma | Gestione periferica di stampa |
| COGS65W | Sottoprogramma | Ricerca anagrafica con popup |
| COSO30 | Sottoprogramma | Ricerca zone con popup (F8) |
Logica principale¶
-
Acquisizione parametri: tipo soggetti (
tm-tipo-soci: S=soci, N=non soci, T=tutti), filtro zona, ordine stampa (tm-ordine: A=alfabetico, C=codice, P=CAP), filtro CAP (intervallo o elenco fino a 7 valori), intervallo soci, flag riviste (tm-bo-agr,tm-bo-agr-inf), posizione etichetta (tm-v-pos,tm-o-pos). -
Estrazione (paragrafo
estrazione): - Scansione sequenziale di UNANASO.
- Filtro per tipo soggetto: soci (codice < 90000), non soci (codice >= 90000), tutti.
- Filtro per zona (
anas-zona2). - Filtro per riviste (
anas-publi). - I record filtrati vengono scritti su COGTRANS (file temporaneo indicizzato) per consentire l'ordinamento richiesto.
-
Chiave primaria = tipo + codice; chiave alternata 2 = tipo + nome; chiave alternata 5 = cap + localita' + chiave1.
-
Stampa (paragrafo
stampa): - Lettura sequenziale di COGTRANS secondo la chiave corrispondente all'ordine scelto.
- Filtro CAP: per intervallo (
tm-da-cap/tm-a-cap) oppure per elenco (tm-cap1...tm-cap7). - Stampa etichette a due colonne (strutture r0, r1, r1-1, r2, r3 con
occurs 2). -
Alternanza colonna 1 / colonna 2 gestita da
bo-select. -
Output file: scrittura parallela su
fileout(etichette.txt) con record pipe-separated: nome, c/o, recapito, indirizzo, cap, localita', provincia.
Note¶
- Il file temporaneo COGTRANS viene creato in
ext-tmp-dircon nome#$cogp10un.{operatore}e cancellato alla chiusura. - La validazione soci/non soci usa soglie codice: < 90000 per soci, >= 90000 per non soci.
- L'ordine alfabetico usa la chiave alternata
trs-chia2(tipo + nome). - L'ordine per CAP usa la chiave alternata
trs-chia5(cap + localita' + chiave1).