Vai al contenuto

COGK29 - Stampa A.C.I. Veicoli Acquisiti per Rivendita

Sorgente: cbl/cogk29.cbl | Program-ID: COGK29 | Tipo: Stampa quadrimestrale + generazione file di trasferimento

Menu: Magazzino > Autoveicoli > Elenchi A.C.I. > Veicoli Acquisiti per Rivendita


Scopo

Produce il tabulato A.C.I. dei veicoli acquisiti per la rivendita nel quadrimestre indicato e genera in parallelo il file di trasferimento sosptac0.<azienda> con i dati testata (versamento) e dettaglio veicoli, copiandolo sul percorso client c:\Elenco-ACI\.

Programma legacy in modalita' carattere (acu in modalita' RM, schermo a maschera testuale), autore Mauro Rovatti.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
COGTABEL ISAM Input Tabelle generali
COGGEANA ISAM Input Anagrafica clienti/fornitori (per dati notaio e ultimo proprietario)
COGMERCI ISAM Input Anagrafica merci
COGMERFO ISAM Input Codici fornitore per merce (targa)
COGRACMC ISAM Input Raccordo merce/CMA
COGSKAUT ISAM Input Scheda autoveicoli (file principale)
COGTRANS ISAM (temp.) I-O File di transito per riordinare le auto per targa
WORK-FILE Line seq. Output File sosptac0.<azienda> di trasferimento ACI
FLSTA (logo) I-O File per gestione logo aziendale

Copybook utilizzate

Copybook Descrizione
cogfiles.cpy, cogtabel.cpy, coggeana.cpy, cogmerci.cpy, cogmerfo.cpy, cogracmc.cpy, cogskaut.cpy Record dei file letti
cnfgprfr.cpy Configurazione preferiti
flsta.fd / flsta.cpy Logo stampante
wstato, wgrave, wopenf, wnscr, cogazien Working storage standard
utils22, utils52, utils54, utils60, utils65 Utility (selezione data, stampante, ecc.)
l-copiaf.cpy, u-copiaf.cpy Linkage per routine COPIAF
utillogo.cpy Linkage per PUTLOGO
wcont, utilsk10, wcont1 Linkage standard
coggeana.k01, cogmerfo.k01, cogracmc.k01/k02, cogmerci.k01 Chiavi
stato, stato1, winmsg, grave, open1, mmmask Infrastruttura standard

Logica di elaborazione

Inizializzazione: apre i file (gestione abilitazioni ctr-abil), carica i dati azienda (rd-azi).

Maschera (paragrafi a4 - a-35): richiede tramite COGS52: - tm-data-da, tm-data-a — date di inizio/fine quadrimestre. Conferma con acc-conf. Poi mostra i totali, accetta: - tm-prezzo (default 3000/1936,27) - tm-cc2 (conto corrente, default 00367409) - tm-bb2 (numero quietanza) - tm-data-v (data versamento) - tm-data-e (data elaborazione) Infine COGS54 per la selezione stampante.

Fase di transito (fill-trs): scorre cogskaut (start da low-value), per ogni record: - esclude le auto con ska-atto-e-data fuori dal periodo o a zero - legge cogracmc -> cogmerci -> cogmerfo (chiave fornitore) per ottenere la targa - scrive il record in cogtrans con chiave (codice fornitore + progressivo). In caso di duplicato incrementa il progressivo.

Fase di elaborazione (fill-file): scorre cogtrans per targa e in base a tm-fase: - E -> conteggio (st-ele incrementa w-prog) - S -> stampa dettaglio (st-det -> det-riga con prog, categ, targa, kw, data acquisizione, notaio, luogo, repertorio, data atto) - F -> scrittura su work-file (fi-det)

Stampa: comandi PCL nel record riga (set font: (10U(s0p16.67h9v0s0b0T, ecc.). Pagina di testata con testa6/testa7/testa8/testa9/testa10. Logo via PUTLOGO se s54-stampa-logo = "S". Salto pagina automatico a ctr-rig > 65.

Generazione work-file (fi-det): sul primo record viene scritta una riga testata wt-rec (anagrafica commerciante hard-coded EMPORIO DELL'AUTO snc / MO / CASTELFRANCO EMILIA / 02480380365, importi e date versamento). Per ciascun veicolo viene scritto un record dettaglio wd-rec con: targa pulita, categoria, data sospensione (atto o fattura), CF ultimo proprietario, provincia residenza, CF notaio, numero atto.

Copia file: la routine copia-work-file-su-disco chiama COPIAF per copiare <tmp-dir>/sosptac0.<oper> su c:\Elenco-ACI\sosptac0.<oper> sul client (operazione copy, override attivo).

Chiamate a sottoprogrammi

Programma Utilizzo
COGS52 Selezione date (F8 calendario, validazione)
COGS54 Selezione stampante e gestione output di stampa
PUTLOGO Stampa logo aziendale
COPIAF Copia del file di trasferimento dal server al client

Note implementative

  • Anagrafica del commerciante hard-coded nel sorgente in fi-det: per altri clienti va modificata.
  • Conto corrente default 00367409 e formula importo 3000/1936,27 hard-coded in a-28.
  • Il file cogtrans e' per-operatore (<tmp-dir>/#$cogk29.<oper>).
  • Il programma utilizza il pattern legacy con GO TO (es. fill-file-next, fill-trs-next) e PERFORM ... THRU. Eventuali refactoring devono considerare l'impatto sulle catene di chiamata standard usate (COGS52, COGS54, COPIAF).
  • File di trasferimento generato sempre nella tmp-dir server e poi copiato sul client per evitare problemi in thin client (vecchio commento nf-name-wf lo conferma).
  • Source format RMCobol legacy.