Vai al contenuto

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).

Posizioni menu

  • 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

Parametri input (tab-maschera)

  • 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

  1. a000/a4: open files, lettura azienda, display maschera carattere (mm-1 15x72)
  2. a8 - a65-gg: accept dei campi (ordine, cli-da, cli-a, date di stampa, vendemmia, chiusure)
  3. a002: chiamata COGS54 per stampante
  4. st-000: setup, codici emulazione 'CE' (start emulation)
  5. Branch su tm-ordine:
  6. st-000-c (codice): start COGGEANA su ana-chia (tipo+cod) >= tm-cli-da, scan finche' ana-tipo = 'S' e cod <= tm-cli-a
  7. st-000-a (alfabetico): start COGGEANA su ana-chia1 (tipo1+nome) >= nome partenza, scan finche' ana-tipo1 = 'S' e nome <= tm-a-des
  8. st-030: per ogni socio
  9. Lettura COGAPPOG per quantita' impegnata (app-qta-imp)
  10. Salta se app-est = '*' (cancellato)
  11. Stampa intestazione (testa1 con dati socio: nome, ind, cap+loc+pro, data)
  12. Stampa lettera (riga1 ... riga13: testo CdA cablato)
  13. 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
  14. Stampa riquadro NB e chiusure (riga22 ... riga29)
  15. Salto pagina dopo ogni socio (write riga from spaces before page)
  16. 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