COGD19 - Cruscotto spedizionieri (preparazione giri)¶
Scopo¶
Cruscotto grafico per la preparazione dei giri di consegna (spedizioni). Il programma estrae le consegne clienti aperte fino a una data limite, ne calcola lo stato (in attesa, pronto, spedito, in preparazione) e permette di assegnarle o disassegnarle a un giro di consegna tramite copia/incolla del codice giro. I dati estratti vengono materializzati in un file di lavoro temporaneo (COGTRANS) univoco per operatore, mostrato in una griglia ordinabile per data corriere, localita' o data giro.
Menu¶
Ordini > Clienti > Preparazione giri
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente/azienda |
| COGTRANS | Indicizzato (temporaneo) | File di transito costruito a runtime, nome in w-trs-name ($#COGTRANS.<oper> nella temp dir). Chiave trs-chia1 (magazzino/anno/tipo/numero/progr consegna); chiavi alternate trs-chia2 (data corriere+giro), trs-chia3 (localita'), trs-chia4 (data giro) |
| COGTESOR | Indicizzato | Testate ordini; letto per tipo cliente (tor-tipo, k-ana-tipo-cli), chiave tor-chia |
| COGCONOR | Indicizzato | Consegne/righe ordine; chiave cor-chia1, chiave secondaria cor-chia2 (cor-o-testa, cor-merce); campi cor-data, cor-fl-close, cor-fl-close-manuale |
| COGGIRDT | Indicizzato | Dettaglio giri (consegne collegate a un giro); chiave gid-cod+consegna, chiave .k03 per consegna (gid-cns-mag/ann/tip/num) |
| COGGIRTS | Indicizzato | Testate giri; chiave git-cod; campi git-aut, git-vet, git-data, git-ora-da/a, git-acura |
| COGRIGBP | Indicizzato | Righe buoni di prelievo; chiave .k04 su consegna, usata per determinare lo stato "Pronto" |
| COGGEANA | Indicizzato | Anagrafica clienti/fornitori; chiave ana-tipo+ana-cod; usata per nome cliente, vettore, destinazione |
| COGDESTI | Indicizzato | Destinazioni; chiave dst-ana-tip/dst-ana-cod/dst-id; campo dst-loca (localita') |
| COGTABEL | Indicizzato | Tabelle codificate; tipo 43 (autisti), tipo 47 (vettori, euta-vt-fl-int) |
| COGDESCR | Indicizzato | Descrizioni/note operative ordine (cde-tip = "OO", cde-cod = tor-chia) |
| FLSTA | Stampa | File di stampa (via flsta.fd/flsta.cpy) |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpycogd19.select,cogd19.fd,cogd19.wrk,cogd19-01.scr,cogd19.decla,cogd19.prc(file di screen designer)flsta.fd,flsta.cpy- COGTRANS: SELECT/FD dichiarati manualmente nel sorgente (file temporaneo non gestibile da Screens)
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy
Utilita'¶
wgrid.cpy,utilgdad.cpy(gestione griglia GRIDADMN)utilcoge13.cpy,utilcogd18.cpy,utils54.cpy,utile18.cpy,utils52.cpy,utils93.cpy,utilw15.cpy,utilw27.cpy,utild26.cpy,utilp86.cpy(linkage moduli chiamati)utilncnf.cpy(configurazioni RNEWCONF)dtab.cpy,fscrol2.cpy,utilpggr.cpy(paginazione griglia)
Linkage¶
wcont.cpy,wcont1.cpy,utilo10.cpy
Procedure¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy- Chiavi secondarie:
cogtesor.k04,cogconor.k02,coggirdt.k03,cogrigbp.k04,cogtrans.k01/k02/k03/k04
CALL¶
| Programma | Descrizione |
|---|---|
| COGE13 | Ricerca/aiuto autista (F8 sul campo autista) |
| COGE18 | Ricerca/aiuto vettore (F8 sul campo vettore) |
| COGO10 | Gestione ordine (F3 su riga griglia) |
| COGD18 | Assegnazione consegna a giro (F7 su riga); ritorna cogd18-ho-aggiornato |
| COGP86 | Packing list (F10); ritorna p86-fl-stampa-ok e blocca la consegna |
| COGD26 | Stampa giri (F9) |
| WIN015 | Dettaglio ordine (F8 su riga) |
| WIN027 | Dettaglio rimanenza (F5 su riga) |
| GRIDADMN | Gestione griglia (prepara, add/modify record, svuota, amministrazione S-F4, export Excel S-F5) |
| RNEWCONF | Lettura configurazione giri > secondi aggiornamento |
Logica di elaborazione¶
apri(main): init programma,open-files, lettura configurazioni (x99-confi), definizione tasti funzione disponibili, composizione del nome del file temporaneoCOGTRANS(w-trs-name), caricamento bitmap e pulsanti custom (Packing List F10, Dettaglio rimanenza F5, Dettaglio ordine F8), preparazione griglia (z-prepara-tm-grid).a4: svuota griglia, inizializzatab-mascheracon filtri di default (data limite = data sistema, tipo trasporto "T", escludi spediti "S", da assegnare "S", assegnati "S", ordinamento "A"), attiva pagina filtri.- Accept filtri (
a-tm-tipo-trasp…a-tm-vet-cod): tipo trasporto, data limite, escludi spediti, da assegnare, assegnati, localita', autista, vettore. Ogni campo ha il suox-controlla-…. F7 conferma i filtri (a-fine-dati). a-pagina-2-ini: passa alla pagina risultati; per garantire uso esclusivo del file temporaneo lo apre inoutput(se stato non "00" segnala "Funzione gia' in uso"), poi ini-o, quindi lanciacarica-dati.carica-dati: scorreCOGTESORper tipo cliente, salta ordini a cura destinatario, determina localita' (daCOGDESTIoCOGGEANA), verifica note operative suCOGDESCR, poi per ogni testata invocaciclo-consegne.ciclo-consegne: scorre le consegne (COGCONORchiave 2) fino alla data limite; applica i filtri (escludi spediti, da assegnare/assegnati, autista, vettore, tipo trasporto), legge l'eventuale giro collegato (COGGIRDT.k03+COGGIRTS), calcola lo stato (A=attesa,S=spedito,P=pronto viacerca-buonosuCOGRIGBP), arricchisce con anagrafiche e scrive il record inCOGTRANS.carica-tab: leggeCOGTRANS(ordinamento scelto viarn-start/sn-readcon paginazioneutilpggr), riempie la tabella internatm-tabe la griglia.a-grid: gestione della griglia con i tasti funzione: F3 (COGO10), F5 (WIN027), F8 (WIN015), F10 (COGP86), F7 (assegna via COGD18), F4 (cancella giro), Ctrl-C/Ctrl-V (copia/incolla codice giro tra consegne), F9 (stampa via COGD26), S-F4/S-F5 (amministrazione/export griglia). Refresh automatico del cruscotto allo scadere del timerw-attesa(configurazionesecondi aggiornamento).sel-incolla: incolla un giro copiato su una consegna, con controlli su evasione consegna, congruenza vettore e collegamento aCOGGIRDT; aggiornaCOGCONOR(data) eCOGTRANS.cancella-giro: scollega la consegna dal giro (COGGIRDT/COGGIRTS), con controllo sulle consegne evase.z-chiudi: chiude e cancella il file temporaneoCOGTRANS(delete file).
Note tecniche¶
- Il file
COGTRANSe' un file di transito temporaneo e univoco per operatore: il nome viene costruito conext-tmp-dir,#$COGTRANS.<wo-oper>e cancellato all'uscita. Non e' gestibile da Screens (SELECT/FD manuali). - L'uso esclusivo del file da parte del singolo operatore e' garantito aprendolo in
open outputall'ingresso della pagina risultati. - Il refresh automatico si basa sul timer
w-grid-before-time(w-attesa=secondi aggiornamento* 100); allo scadere (f-tempo-scaduto) il cruscotto viene ricaricato mantenendo la posizione (dep-chia1,i-dep). - Costanti tasti pulsanti custom:
k-f5-dettaglio(01),k-f8-dettaglio(02),k-f10-packing(03). k-max-ele-tab= 900: dimensione massima della tabella/griglia.- Il record di interscambio con la griglia (
grid-record) usa redefines per formattare date (gg/mm/aaaa) e orari (hh:mm). - Configurazione letta:
giri>secondi aggiornamento(RNEWCONF, pack "C"). - Il flusso usa estensivamente
GO TOtra paragrafi di accept e loop (stile legacy del cruscotto GUI), diversamente dalle convenzioni per i nuovi programmi.