COGP27 - Stampa Cartoline Prenotazione Uva
Scopo
Stampa per ogni socio (anagrafica con ana-tipo = 'S') la cartolina annuale di prenotazione uva, contenente lettera del CdA, scheda di prenotazione precompilata col quantitativo impegnato, e calendario di chiusure di Punto Vendita e Uffici. Programma specifico per Cantina di Limidi (i contatti e le DOC sono cablati nel sorgente).
- Contabilita' > Archivi & Tabelle > Stampe > Soci > Cartoline
File e Tabelle
| File |
Copybook |
Utilizzo |
| FEURTAB |
cogfiles.cpy |
Tabella file di sistema |
| COGGEANA |
COGGEANA.CPY |
Anagrafica generale (lettura soci tipo 'S') |
| COGAPPOG |
COGAPPOG.CPY |
Tabella di appoggio anagrafiche (legge app-qta-imp quantita' impegnata) |
| FLSTA |
(esterno) |
File di stampa |
Copybook
cogfiles.cpy, COGGEANA.CPY, COGAPPOG.CPY
WGRAVE.CPY, WSTATO.CPY, WOPENF.CPY, WNSCR.CPY, WDISP002.CPY
UTILW06.CPY, UTILS21.CPY, UTILS54.CPY, UTILS52.CPY
COGAZIEN.CPY
WCONT.CPY, WCONT1.CPY
STATO.CPY, WINMSG.CPY, GRAVE.CPY, OPEN1.CPY, MMMASK.CPY, PDISP002.CPY
CALL
| Programma |
Scopo |
| COGS21 |
Input field con valori ammessi (qui 'AC' = Alfabetico/Codice) |
| COGS52 |
Input data con calendario |
| COGS54 |
Parametri stampante |
| WIN006.COB |
Ricerca alfabetica |
Logica di elaborazione
tm-ordine: A=alfabetico, C=codice
tm-cli-da / tm-cli-a: range codice cliente
tm-da-des / tm-a-des: range nome cliente (in modalita' alfabetica)
tm-sta-data: data di stampa cartolina
tm-data-com: testo libero data compilazione (max 25 char)
tm-data-ven: testo libero vendemmia (max 10 char)
tm-pun-da-data, tm-pun-a-data: range chiusura Punto Vendita
tm-uff-da-data, tm-uff-a-data: range chiusura Uffici
Flusso
- a000/a4: open files, lettura azienda, display maschera carattere (
mm-1 15x72)
- a8 - a65-gg: accept dei campi (ordine, cli-da, cli-a, date di stampa, vendemmia, chiusure)
- a002: chiamata COGS54 per stampante
- st-000: setup, codici emulazione
'CE' (start emulation)
- Branch su
tm-ordine:
- st-000-c (codice): start COGGEANA su
ana-chia (tipo+cod) >= tm-cli-da, scan finche' ana-tipo = 'S' e cod <= tm-cli-a
- st-000-a (alfabetico): start COGGEANA su
ana-chia1 (tipo1+nome) >= nome partenza, scan finche' ana-tipo1 = 'S' e nome <= tm-a-des
- st-030: per ogni socio
- Lettura COGAPPOG per quantita' impegnata (
app-qta-imp)
- Salta se
app-est = '*' (cancellato)
- Stampa intestazione (testa1 con dati socio: nome, ind, cap+loc+pro, data)
- Stampa lettera (riga1 ... riga13: testo CdA cablato)
- Stampa scheda prenotazione (riga14 ... riga21):
- Sotto-intestazione "SCHEDA PRENOTAZIONE"
- "CONFERIMENTO UVA: VENDEMMIA "
- "IL SOTTOSCRITTO "
- Quantita' impegnata da
app-qta-imp
- Sezione "DI CUI" con SORBARA DOC, SALAMINO DI S.CROCE DOC, PIGNOLETTO DOC
- Stampa riquadro NB e chiusure (riga22 ... riga29)
- Salto pagina dopo ogni socio (
write riga from spaces before page)
- st-900: codici emulazione
'CB' (back/end), chiusura COGS54.
Note tecniche
- Maschera carattere (non GUI):
mm-1 15 righe x 72 colonne
- Larghezza riga di stampa: 132 (forzata a 77 con commento "30/07/2020 ... certezza che il programma stampi bene sulla stampante ad aghi")
- Caratteri speciali ASCII alti (
x'b3', x'cd', etc.) per cornici grafiche del riquadro chiusure
set environment "STRIP-TRAILING-SPACES" to "1" impostato prima di COGS54
- I testi della lettera del CdA, il fax (059/561612) e l'indirizzo mail ([email protected]) sono cablati nel sorgente in righe
riga1 ... riga13 e nelle DOC della scheda
- Programma in stile classico:
GO TO, PERFORM ... THRU, paragrafi (st-000, st-010-loop-a/c, st-030, st-50-go, st-900). NON segue le convenzioni piu' recenti del codebase
- Procedure-division
using stringhe; presente sezione declaratives con USE AFTER STANDARD ERROR