COGK26 - Controllo Documenti Auto (Emporio Auto)¶
Panoramica¶
Programma interattivo a carattere che segnala le anomalie documentali sulle schede auto dell'Emporio Auto: individua le vetture per le quali manca uno o piu' documenti previsti (fattura di acquisto, atto di cessione, libretto, OK CDP, notaio/luogo notarile, fattura di provvigione, bolle, ecc.) e ne produce un elenco a video ed una stampa "Controllo Documenti". Scandisce l'archivio schede auto COGSKAUT, applica per ciascuna scheda una batteria di controlli sui campi documentali e, quando un controllo rileva una mancanza, scrive una riga di problema nel file di lavoro temporaneo. E' una funzione di sola diagnostica: non aggiorna gli archivi.
Il controllo puo' essere impostato lato entrata (documenti mancanti al fornitore/concessionario) o lato uscita (documenti mancanti al rivenditore), filtrato per periodo e per tipo di problema (uno specifico oppure "tutti").
Posizione nel menu¶
| Menu | Percorso |
|---|---|
| Magazzino | Autoveicoli > Controlli |
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 concessionario/rivenditore, verifica notaio) |
| COGTABEL | Input | Tabella generica |
| work-file | I-O (temp) | File indicizzato di lavoro con le righe di problema individuate |
| sta | Output | File di stampa (PRINTER) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogskaut.cpy | Tracciato archivio schede auto (campi documentali) |
| 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 (tipo controllo, scelta problema) |
| COGS65 | Ricerca/help anagrafica fornitore o rivenditore |
| COGS52 | Immissione e verifica delle date del periodo |
| COGS54 | Selezione stampante/emulazione |
| CRYPT / encrypt | Decifratura campi cifrati (prep-campo) |
| COGK10 | Apertura scheda auto della riga selezionata (F7) |
Logica di elaborazione¶
1. Inizializzazione (a000) e parametri di ricerca¶
Apre i file, legge i dati azienda e visualizza la maschera. Poi raccoglie i filtri:
- Tipo controllo (
tm-ordine,COGS60suw60-dati): A = Mancanza documenti Fornitori (lato entrata), B = Mancanza documenti Rivenditori (lato uscita). - Scelta problema (
tm-probl,COGS60suw61-dati): singolo problema (A..N, R, S) oppure O = Tutti. Ogni codice corrisponde a un controllo specifico (manca fattura/atto/libretto/OK CDP/notaio/luogo/provvigione/bolle/ecc.). - Fornitore o rivenditore (
tm-for,COGS65): uno specifico o tutti (tm-for = 0). - Periodo (
tm-data-da/tm-data-a,COGS52): date obbligatorie confrontate con la data di entrata (ska-data-acq) per il lato A o con la data passaggio a rivenditore (ska-data-riv) per il lato B.
2. Estrazione ed applicazione dei controlli (fill-file / fill-file-next / upd-work-file)¶
Scandisce COGSKAUT per stato "A" e oltre; per ogni scheda filtra prima per periodo e per fornitore/rivenditore in base a tm-ordine, poi in upd-work-file risolve merce, targa e nominativo (via COGRACMC/COGMERCI/COGMERFO/COGGEANA) e applica in sequenza i controlli documentali, tra cui:
- Lato entrata (
tm-problA/R/B/C/D/E/F): manca fattura di acquisto (ska-nfat-e), manca atto di cessione (ska-atto-e), libretto mancante o in fotocopia (ska-libretto), OK CDP mancante (ska-okcdp-e), notaio atto entrata inesistente in anagrafica (ska-notaio-e), luogo notarile entrata mancante (ska-luogo-e); - Lato uscita (solo
tm-ordine = "B",tm-problG/H/I/L/M/N): manca fattura provvigione (ska-nfat-p), manca bolla di accompagnamento (ska-rif-num-u), manca fattura di vendita (ska-rif-fat), manca documento passaggio di proprieta' (ska-atto-u), manca notaio/luogo uscita (ska-notaio-u/ska-luogo-u), applicati solo se lo stato del veicolo e il rivenditore lo rendono pertinente (ska-stato > "C"/"A",ska-riv not = 0); - Ultimo proprietario (
tm-problR/O): manca ultimo proprietario entrata (ska-ult-prop-e).
Ogni mancanza rilevata genera una riga distinta scritta con wr-work-rec (testo del problema in work-problema, con progressivo work-prog), cosi' una stessa vettura puo' comparire piu' volte se le manca piu' di un documento.
3. Visualizzazione e paginazione¶
Rilegge il file di lavoro e riempie la tabella tm-tab (max 16 righe), con evidenziazione reverse della riga selezionata e finestra orizzontale scorrevole (c1-shift) sulle colonne larghe (problema, data entrata/uscita, concessionario/rivenditore). La riga di intestazione a video cambia etichetta (Data Ent./Concessionario per il lato A, Data Usc./Rivenditore per il lato B).
4. Interazione (a-45)¶
- ESC: torna alla scelta ordinamento;
- F7: apre la scheda auto (
COGK10); - F9: stampa su carta.
5. Stampa su carta (st-stampa / intesta)¶
Seleziona stampante via COGS54 (form CAP076), rilegge il file di lavoro e stampa l'intestazione "Controllo Documenti" con data/pagina e le righe di dettaglio (descrizione, targa, telaio, problema, data, concessionario/rivenditore), 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). I controlli operano sui campi documentali della scheda (fattureska-nfat-*, attiska-atto-*, notai/luoghiska-notaio-*/ska-luogo-*, librettoska-libretto, OK CDPska-okcdp-e). - File di lavoro temporaneo: indicizzato, nome costruito con prefisso
#$cogk25.+ operatore (il prefissocogk25e' condiviso dai programmi del modulo); chiavework-ordine+work-data+work-prog. Ricreato all'ingresso e cancellato in uscita. - Un problema = una riga:
upd-work-filepuo' scrivere piu' record per la stessa scheda (uno per ciascun controllo fallito), quindi il conteggio delle righe non coincide con il numero di vetture. - Verifica notaio via anagrafica: per i codici problema "notaio" il programma legge
COGGEANAcon il codice contenuto nei primi 5 caratteri diska-notaio-e/ska-notaio-u; se la lettura e' invalida segnala la mancanza. - Programma a carattere: usa
mmmask.cpy(standalone testuale), maschera literalmm-1. - Nota sul menu: la voce di menu "Controlli" corrisponde alla stampa/elenco delle anomalie documentali sulle schede auto.