Vai al contenuto

ASN039 - Stampa Clienti x Tipologia

Sorgente: cbl/asn039.cbl | Program-ID: ASN039 | Tipo: Stampa (estrazione + report a 132 col)

Menu: Assist 2.0 > Archivi > Stampe > Clienti x Tipologia


Scopo

Estrae i clienti dell'anagrafica filtrati per tipologia nominativo, zona, presenza/assenza di chiamate e (opzionale) presenza di interventi su una specifica prestazione. Produce una stampa ordinata per zona e ragione sociale in due possibili livelli di dettaglio: Ridotto (solo anagrafica) o Dettaglio (anagrafica, dati bancari, dati fiscali, dati pagamento).


File e tabelle

File/Tabella Tipo Modalita' Descrizione Chiave
FEURTAB ISAM Input Parametri generali azienda std
COGGEANA ISAM Input Anagrafica nominativi (clienti, tipo "C") ana-tipo+ana-cod; chia2 = nome
COGAPPOG ISAM Input Dati appoggio anagrafica (tip-stt, tel/fax, abi/cab, c-corr) app-tipo+app-cod
COGTABEL ISAM Input Tabella generica: tipi 14 (pagamenti), 54 (stati), 84 (tipologie), 88 (zone) euta-tipo + euta-cod
COGMERCI ISAM Input Anagrafica merci/prestazioni (lookup descrizione) mer-chia
COGSCONT ISAM Input Sconti per anagrafica scc-tip+scc-ana-tip+scc-ana-cod
ASNCHTES ISAM Input Testate chiamate (verifica presenza chiamate per cliente) chia3 = acht-cli-ass-tip+acht-cli-ass-cod
ASNINTES ISAM Input Testate interventi (per filtro prestazione) chia2 = acit-id-chiamata
ASNINDET ISAM Input Dettagli interventi (merce/prestazione) acid-id
COGTRANS ISAM I-O (random) Archivio di transito personale per ordinamento zona+nome+cod trs-chia1
flsta LINE Output File di stampa -

Chiavi secondarie: coggeana.k02, cogtrans.k01, asnchtes.k03, asnindet.k02, asnintes.k02.

Copybook utilizzate

Copybook Ruolo
asn039.select, asn039.fd, asn039.wrk, asn039-01.scr, asn039.prc, asn039.decla Screen Designer
cogfiles.cpy, flsta.cpy Layout FEURTAB / file stampa
wgrave, wnscr, wopenf, wstato, cogazien Working storage standard
utilf01, utilf10, utils54, utils68, utilu03, utilu22 Utility (lookup zone, tipologie, dispositivo stampa, sportelli bancari, pagamenti)
sendu22.cpy Routine lookup tipi pagamento

Logica di elaborazione

  1. apri: open files, costruzione path del file di transito personale (#$ASN039.<wo-oper> in ext-tmp-dir); il file viene aperto in OUTPUT con check su stato per impedire l'avvio simultaneo da parte dello stesso operatore, poi riaperto in I-O.
  2. Sezione accept (con navigazione F2/F3):
  3. a-tm-tip-stt: codice tipologia (F8 → COGF10)
  4. a-tm-solo-spazio: flag "solo tipologia vuota"
  5. a-tm-presenza: presenza/assenza chiamate
  6. a-tm-merce: prestazione (via s68)
  7. a-tm-zona: zona (F8 → COGF01)
  8. a-tm-tip: tipo stampa Ridotta/Dettaglio
  9. a-richiesta-conferma: validazione finale, scelta dispositivo di stampa via COGS54.
  10. x1-creo-sort: scan COGGEANA per tipo "C". Per ogni cliente applica i filtri:
  11. tipologia (in app-tip-stt da COGAPPOG)
  12. solo-spazio
  13. zona (ana-zona)
  14. presenza chiamate (st-asnchtes-notmin-chia3)
  15. prestazione: se richiesta, attraversa ASNCHTES -> ASNINTES (chia2) -> ASNINDET cercando acid-merce = tm-merce. Per i clienti che passano tutti i filtri scrive il record in COGTRANS (chiave: zona + nome + codice) per ordinarli.
  16. stampa: scan ordinato di COGTRANS, per ogni record rd-coggeana + rd-cogappog, lookup banca/sportello via COGU03, lookup descrizione pagamento via COGTABEL tipo 14, lookup sconti via COGSCONT, lookup tipo pagamento via COGU22. Produce righe r1 (anagrafica), e in caso di dettaglio anche r2 (banca/pagamento) e r3 (fiscali/sconti).
  17. fine-sta: chiusura stampa con COGS54, messaggio "non ho trovato nulla" se nessuna riga.
  18. z-chiudi: cancellazione file di transito (delete file cogtrans).

Programmi richiamati: COGF01, COGF10, COGS54, COGU03, COGU22.

Linkage

Solo stringhe. Programma standalone non invocato in modalita' selezione.

Note

  • Lunghezza riga di stampa: k-chr-stampa = 132.
  • File di transito personale per operatore: previene corse multiple dello stesso operatore (controllo stato not = "00" su open OUTPUT).
  • L'ordinamento avviene tramite COGTRANS (chiave zona + nome + cod): non si appoggia a SORT esterno.
  • Tipi COGTABEL usati: 14 (pagamenti), 54 (stati esteri), 84 (tipologie nominativi, prefisso "C"), 88 (zone).
  • Per il filtro prestazione, la presenza di anche un solo intervento con acid-merce = tm-merce su una chiamata del cliente fa includere il cliente.