COGK28 - Statistiche Auto per Fornitore/Rivenditore (Emporio Auto)¶
Panoramica¶
Programma interattivo a carattere che produce le situazioni statistiche delle schede auto dell'Emporio Auto raggruppate per fornitore (concessionario) o per rivenditore, filtrando le vetture in base al loro stato operativo (in giacenza, presso rivenditore, vendute, consegnate, tutte). Per ogni vettura riporta descrizione, targa, telaio, data di entrata, data fattura, OK CDP e stato, con elenco consultabile a video e stampa "Statistica per ...". Scandisce l'archivio schede auto COGSKAUT, seleziona le vetture pertinenti al fornitore/rivenditore e allo stato richiesto, e raccoglie le righe nel file di lavoro temporaneo. E' una funzione di sola consultazione/stampa: non aggiorna gli archivi.
Posizione nel menu¶
| Menu | Percorso |
|---|---|
| Magazzino | Autoveicoli > Situazioni |
Struttura del programma¶
File e tabelle utilizzati¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Input | Tabella di sistema (nomi file) |
| COGSKAUT | Input | Archivio schede auto (scansione per stato via chiave secondaria ska-chia2) |
| COGRACMC | Input | Raccordo codice avanzato -> merce |
| COGMERCI | Input | Anagrafica merci (descrizione veicolo) |
| COGMERFO | Input | Merci/fornitore (targa) |
| COGGEANA | Input | Anagrafica clienti/fornitori (nome fornitore/rivenditore/cliente) |
| COGTABEL | Input | Tabella generica |
| work-file | I-O (temp) | File indicizzato di lavoro con le righe della situazione |
| sta | Output | File di stampa (PRINTER) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogskaut.cpy | Tracciato archivio schede auto |
| cogracmc.cpy / cogmerci.cpy / cogmerfo.cpy | Raccordo merce, anagrafica merci, merci/fornitore |
| coggeana.cpy | Anagrafica clienti/fornitori |
| cogtabel.cpy / cnfgprfr.cpy | Tabella generica e configurazione profili |
| cogfiles.cpy / cogazien.cpy | FEURTAB e dati azienda |
| wstato / wgrave / wopenf / wnscr | Working storage standard |
| utils22.cpy / utils52.cpy / utils54.cpy / utils60.cpy / utils65.cpy | Interfacce COGS22, COGS52 (data), COGS54 (stampa), COGS60 (menu), COGS65 (ricerca anagrafica) |
| utilsk10.cpy | Interfaccia verso COGK10 |
| stato / stato1 / winmsg / grave / open1 | Procedure standard |
| mmmask.cpy / dtab.cpy / fscrol2.cpy | Maschera testuale standalone, tabella video, scrolling |
| coggeana.k01 / cogmerfo.k01 / cogracmc.k01 / cogracmc.k02 / cogmerci.k01 | Chiavi lettura archivi |
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| COGS60 | Scelta a menu (statistica per, tipo ricerca) |
| COGS65 | Ricerca/help anagrafica fornitore o rivenditore |
| COGS52 | Immissione e verifica delle date del periodo |
| COGS54 | Selezione stampante/emulazione (form CAP076) |
| CRYPT / encrypt | Routine di cifratura/decifratura (presenti, prep-campo) |
| COGK10 | Apertura scheda auto della riga selezionata (F7) |
Logica di elaborazione¶
1. Inizializzazione (a000) e parametri¶
Verifica l'abilitazione (ctr-abil), apre i file, legge i dati azienda e mostra la maschera "Statistica per fornitore o rivenditore". Poi raccoglie i filtri:
- Statistica per (
tm-ordine,COGS60suw60-dati): A = Statistica Fornitore, B = Statistica Rivenditore. - Tipo ricerca (
tm-tiporic,COGS60suw61-datiper il fornitore ow62-datiper il rivenditore): per il fornitore 1 = In giacenza, 2 = C/o rivenditore, 3 = Vendute, 4 = Tutte; per il rivenditore 1 = Consegnate, 2 = Vendute, 3 = Tutte. - Fornitore o rivenditore (
tm-for,COGS65): uno specifico o tutti (tm-for = 0). - Periodo (
tm-data-da/tm-data-a,COGS52): confrontato conska-data-acqper il fornitore o conska-data-rivper il rivenditore.
2. Estrazione e selezione (fill-file / fill-file-next / upd-work-file)¶
Scandisce COGSKAUT per stato "A" e oltre. In fill-file-next filtra prima per anagrafica (ska-for per il fornitore, ska-riv per il rivenditore) e per periodo, poi seleziona per stato in base a tm-tiporic:
- Fornitore (
tm-ordine = "A"): tiporic 1 ->ska-stato = "A"(giacenza); 2 -> "B" (presso rivenditore); 3 -> "B"/"C"/"D"/"E" (vendute/in vendita); 4 -> tutte. - Rivenditore (
tm-ordine = "B"): tiporic 1 -> "B" (consegnate); 2 -> "C"/"D" (vendute); 3 -> stato compreso tra "A" escluso e "F" escluso (da vendere).
In upd-work-file, per ogni scheda selezionata risolve merce/targa (COGRACMC/COGMERCI/COGMERFO) e i nominativi da COGGEANA (fornitore ska-for, rivenditore ska-riv, cliente ska-cli), e valorizza il record del file di lavoro con descrizione, targa, telaio (ska-cod-ava), stato (ska-stato), data di entrata (ska-data-acq), numero fattura e data fattura (entrata per il fornitore, provvigione per il rivenditore) e flag OK CDP.
3. Visualizzazione e paginazione¶
Rilegge il file di lavoro e riempie la tabella tm-tab (max 16 righe). In rd1-ft-go/x1-fill-sr scompone le date (entrata e fattura) in gg/mm/aaaa e traduce lo stato in descrizione leggibile (ska-stato: A=Acquistato, B=A Rivendi., C=Rc.passag., D=Venduto, E=F.Pratica, F=In demol., G=Demolita, R=Rientro, T=Usc. C/rip, V=Ent. C/rip). Riga selezionata in reverse e finestra orizzontale scorrevole; sotto la maschera viene mostrato il concessionario o il rivenditore della riga corrente.
4. Interazione (a-45)¶
- ESC: torna alla scelta;
- F7: apre la scheda auto (
COGK10); - F9: stampa su carta.
5. Stampa su carta (st-stampa / intesta / rot-ordine)¶
Seleziona stampante via COGS54 (form CAP076), rilegge il file di lavoro e stampa l'intestazione "Statistica per Fornitore/Rivenditore" con specifica del tipo ricerca (Auto in Giacenza / C/O rivenditore / Vendute / Consegnate / da Vendere / Tutte). Alla rottura di raggruppamento (rot-ordine, quando cambia work-ordine) stampa la testata del gruppo. Le righe di dettaglio riportano descrizione, targa, telaio, data entrata, data fattura, OK CDP, stato e nominativo, con salto pagina ogni 60 righe.
6. Chiusura (fine / z-chiudi)¶
Chiude i file, elimina il file di lavoro ed esce.
Note tecniche¶
- Archivio di riferimento:
COGSKAUT(vedicogskaut.cpy). La selezione si basa suska-stato(posizione del veicolo), sull'anagrafica (ska-forfornitore,ska-rivrivenditore,ska-clicliente) e sulle dateska-data-acq/ska-data-riv. - Chiave con stato: rispetto agli altri programmi del modulo, il file di lavoro ha in chiave anche
work-stato(work-ordine+work-stato+work-data+work-prog), utile all'ordinamento per stato entro il raggruppamento. - File di lavoro temporaneo: indicizzato, nome con prefisso
#$cogk25.+ operatore (condiviso nel modulo); ricreato all'ingresso e cancellato in uscita. - Telaio: memorizzato in
ska-cod-ava; in stampa viene mostrata la porzione a partire dal 5. carattere (work-telaio (5:15)). - Programma a carattere: usa
mmmask.cpy(standalone testuale), maschera literalmm-1. - Nota sul menu: la voce di menu "Situazioni" corrisponde alle statistiche delle schede auto per fornitore o rivenditore, filtrate per stato.