COGX15 - Gestione Veicoli (scheda completa)¶
Scopo¶
Maschera principale di gestione della scheda veicolo (Bercar): consente inserimento, modifica, visualizzazione e cancellazione di un veicolo identificato dalla coppia (merce, targa). Centralizza il legame tra anagrafica articolo (COGMERCI), scheda tecnica veicolo (BCVEICOL/COGRACMT), anagrafica vetture (BCVETTUR), movimenti veicolo (BCMOVIM), contratti (BCCONTRA) e info commerciali.
La maschera ha due pagine: pagina 1 con i dati anagrafici/tecnici, pagina 2 con la storia movimenti del veicolo in griglia.
Il programma e' chiamabile anche da altri programmi del modulo (es. COGX24 per "vai alla scheda"), passando merce e targa in input.
Posizioni menu¶
- Magazzino > Gestione Veicoli > Gestione Veicoli
File e Tabelle¶
| File | Copybook | Utilizzo |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella file di sistema |
| LODTMDES | lodtmdes.cpy | File di lavoro temporaneo per descrizioni (uso esclusivo per operatore) |
| COGTABEL | (da cogx15.select) | Tabella codici (marche tipo 62, ecc.) |
| COGMERCI | (da cogx15.select) | Anagrafica articoli/merci (testata) |
| COGGEANA | (da cogx15.select) | Anagrafica clienti/fornitori |
| COGTESBO | (da cogx15.select) | Testate bolle/documenti |
| COGFATTU | (da cogx15.select) | Testate fatture |
| COGMERAP | (da cogx15.select) | Anagrafica merci ausiliaria |
| COGRACMT | (da cogx15.select) | Raccolta mezzi di trasporto (scheda movimenti) |
| COGMERCL | (da cogx15.select) | Codici articolo cliente (usato per telaio) |
| COGDESCR | (da cogx15.select) | Descrizioni estese |
| COGBARCO | (da cogx15.select) | Codici a barre alternativi |
| BCVETTUR | (da cogx15.select) | Anagrafica vetture Bercar |
| BCVEICOL | (da cogx15.select) | Scheda tecnica veicolo (record principale per la maschera) |
| BCMOVIM | (da cogx15.select) | Movimenti veicolo (entrate, uscite, contratti) |
| BCTABEL | (da cogx15.select) | Tabella codici Bercar (tipologie, categorie, codici tariffe) |
| BCCONTRA | (da cogx15.select) | Contratti veicolo |
Copybook¶
Working storage¶
cogx15.wrkwgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpywgrid.cpy,utilgdad.cpy,utildlg.cpy(dialog operazioni)utils05.cpy,utils35.cpy,utils37.cpy,utils52.cpy,utils55.cpy,utils56.cpy,utils68.cpyutilu06.cpy(immagini),utilu15.cpy(sostituti/alternativi)utilw76.cpy(W76 lookup)utilx12.cpy,utilx13.cpy,utilx14.cpy(tabelle tipologie/categorie/tariffe)utilx16.cpy,utilx17.cpy,utilx18.cpy(gestione movimenti e contratti)utilx36.cpy(cambio targa),utilcogx38.cpy(aiuto veicolo)utilzde.cpy
Linkage¶
wcont.cpy(conutil-m97ridefinito suuser-area)wcont1.cpyutilx15.cpy(parametri chiamata esterna)
Procedure¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpycogx15.prc,sendw76.cpy,utilgrid.cpy- Chiavi:
cogracmt.k02,cogbarco.k02,bcvettur.k03,lodtmdes.k01
CALL¶
| Programma | Scopo |
|---|---|
| DIALOGS | Dialog selezione operazione iniziale |
| GRIDADMN | Amministrazione griglia movimenti |
| COGS05 | Servizio standard |
| COGS35/COGS36/COGS37 | Gestione anagrafiche/descrizioni merce |
| COGS55 | Servizio merce |
| COGS56 | Ricerca avanzata veicoli (F9) |
| COGS68 | Lookup merce |
| COGU06 | Gestione immagini/documenti veicolo |
| COGU15 | Gestione sostituti/alternativi merce |
| COGM97 | Gestione info merce |
| COGX12 | Lookup tipologie (F8 su Tipologia) |
| COGX13 | Lookup categorie (F8 su Categoria) |
| COGX14 | Lookup codici tariffe (F8 su Codice Tariffa) |
| COGX16 | Gestione movimento di entrata |
| COGX17 | Gestione movimento di uscita |
| COGX18 | Gestione contratto veicolo |
| COGX36 | Cambio targa (F7) |
| COGX38 | Aiuto/zoom veicoli |
| COGZDEW | Servizio standard |
Parametri di chiamata (linkage)¶
util-x15 (utilx15.cpy):
x15-caller: programma chiamantex15-called: se =k-program-id, e' chiamata esterna (entra direttamente in modifica)x15-in-merce: codice merce in input (gru/sot/cod)x15-targa: targa in input
Logica di elaborazione¶
Costanti chiave¶
k-marca = "MA",k-targa = "TA",k-tm-tip = "NV"k-max-ele-tab = 900(griglia movimenti)- Pulsanti custom: F6 stampa contratto, F7 cambio targa
Flusso principale¶
apri: init, apertura file, lettura azienda, caricamento bitmap pulsanti custom, preparazione lookupCOGS68, costruzione pathw-ltd-nomeper LODTMDESa4: apertura LODTMDES inoutputpoii-o(lock di sessione per operatore); dialog di scelta operazione (Nuovo/Modifica) viaDIALOGSse non chiamato esternamentea4-ini: se chiamato esternamente entra direttamente con la merce/targa passatea-tm-targa→a-tm-marca→a-tm-modello-ric→a-tm-merce: accept dei campi identificativi (con F8/F9 di lookup)a-inizio-dati→a-pagina-1: accept dei campi anagrafici/tecnici (Tipologia, Telaio, Colore, kW, Categoria, Tariffa, Data Imm., ecc.)a-fine-dati: validazione (x-imposta-conferma/x-imposta-conferma-ini), conferma esplicita,registraa-pagina-2→a-grid→a-accept-grid: griglia movimenti veicolo da BCMOVIM, con Invio per dettaglio (COGX16/COGX17/COGX18 a seconda del tipo)
Registrazione (registra)¶
- Modifica:
rd-bcveicol-lkper lock; se cancellato nel frattempo, passa a Inserimento - Inserimento: se la merce non esiste (
mer-chia = k-merce-null), chiamains-merceper crearla (conCOGS36/COGS37per descrizioni) - Aggiornamento campi:
rwr-bcveicolcon tipologia, colore, data immatricolazione, categoria, codice tariffa, kW, ex-targa - Aggiornamento del telaio in COGMERCL come "codice articolo cliente" per il cliente interno (
az-cli-into 98675) agg-bcvettur: se esiste la vettura Bercar associata (tipo "A", stessa targa), allinea marca/modello/colore/telaio/data imm.
Cancellazione (cancella)¶
- Blocco se esistono movimenti in BCMOVIM (
st-bcmovim-notmin+ check chiave): "Veicolo movimentato impossibile cancellare!!" - Altrimenti:
del-bcveicol; cancellazione anagrafica merce (del-cogmerci) tramiteCOGS35/COGS36/COGS37; cancellazione info merce viaCOGM97; cancellazione sostituti/alternativi viaCOGU15; cancellazione COGMERAP, COGBARCO, descrizioni web; cancellazione immagine (se azienda conaz-arc-ott = "S") viaCOGU06
Griglia movimenti¶
carica-tabella(linea 2562): scansione BCMOVIM filtrata per merce; popolamento tab-mascheracarica-riga: costruzione descrizione causale, registro, contropartea-accept-grid: Invio apre il movimento — chiamata aCOGX16(Entrata) /COGX17(Uscita) / contratto viaCOGX18
Lookup e validazioni¶
- Marca: lookup
COGTABELconeuta-tipo = 62,ptc-tip = "MA"; controlloeuta-tma-gui(tabella modelli) - Tipologia/Categoria/Tariffa: lookup tabelle BCTABEL via
COGX12/COGX13/COGX14 - Telaio, colore, kW: campi liberi
- Ricerca avanzata (F9):
COGS56per ricerca su Bercar con targa/marca/modello
Note tecniche¶
- Programma molto complesso (~3600 righe), GUI con 2 screen
cogx15-01.scr(pagina 1) ecogx15-02.scr(pagina 2) - Sessione utente vincolata: LODTMDES nominato per operatore (
#$COGX15.<operatore>), apertura inoutputcome lock - Pagina 1 e' costituita da molte accept paragrafi
a-tm-*con navigazione bidirezionale (F2 indietro) - I tasti F6/F7 sono pulsanti custom (bitmap) caricati via
load-bitmap-custom - Modalita' selezione operazione iniziale tramite
DIALOGS(Esc Fine / F5 Nuovo / F9 Visualizza-Modifica)