Vai al contenuto

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, COGS60 su w60-dati): A = Mancanza documenti Fornitori (lato entrata), B = Mancanza documenti Rivenditori (lato uscita).
  • Scelta problema (tm-probl, COGS60 su w61-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-probl A/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-probl G/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-probl R/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 (vedi cogskaut.cpy). I controlli operano sui campi documentali della scheda (fatture ska-nfat-*, atti ska-atto-*, notai/luoghi ska-notaio-*/ska-luogo-*, libretto ska-libretto, OK CDP ska-okcdp-e).
  • File di lavoro temporaneo: indicizzato, nome costruito con prefisso #$cogk25. + operatore (il prefisso cogk25 e' condiviso dai programmi del modulo); chiave work-ordine + work-data + work-prog. Ricreato all'ingresso e cancellato in uscita.
  • Un problema = una riga: upd-work-file puo' 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 COGGEANA con il codice contenuto nei primi 5 caratteri di ska-notaio-e/ska-notaio-u; se la lettura e' invalida segnala la mancanza.
  • Programma a carattere: usa mmmask.cpy (standalone testuale), maschera literal mm-1.
  • Nota sul menu: la voce di menu "Controlli" corrisponde alla stampa/elenco delle anomalie documentali sulle schede auto.