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
00367409e formula importo3000/1936,27hard-coded ina-28. - Il file
cogtranse' per-operatore (<tmp-dir>/#$cogk29.<oper>). - Il programma utilizza il pattern legacy con
GO TO(es.fill-file-next,fill-trs-next) ePERFORM ... 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-wflo conferma). - Source format RMCobol legacy.