Vai al contenuto

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.

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 specifiche
  • k-u10.cpy — costanti utility divise
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy — standard
  • cogazien.cpy — dati azienda

Utility

  • utils52.cpy — gestione date
  • utils54.cpy — gestione stampante
  • utils65.cpy — ricerca anagrafiche
  • utilu10.cpy — utility divise
  • utilo30.cpy — ricerca zone

Screen

  • coge37un-01.scr — definizione maschera

Procedure Division

  • coge37un.decla — declaratives
  • coge37un.prc — procedure standard
  • unanaso.k03 — chiave secondaria per zona
  • 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
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

  1. Raccolta parametri con validazione (zona obbligatoria se tipo "Z", codici < 90000)
  2. Apertura stampante tramite COGS54 (132 caratteri)
  3. Posizionamento su UNANASO in base ai parametri:
  4. Se ordinamento per codice: st-unanaso-notmin da tm-socioda
  5. Se ordinamento per zona: st-unanaso-chia4-notmin (chiave k03)
  6. Lettura sequenziale con filtri: tipo anagrafica, intervallo codici, zona
  7. Stampa riga per ogni socio estratto
  8. Totale soci a fine report
  9. 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 stampati
  • ct-d: soci dettaglio
  • ct-e: soci elenco
  • ctr-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").