Vai al contenuto

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.

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.cpy
  • cogd19.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

  1. apri (main): init programma, open-files, lettura configurazioni (x99-confi), definizione tasti funzione disponibili, composizione del nome del file temporaneo COGTRANS (w-trs-name), caricamento bitmap e pulsanti custom (Packing List F10, Dettaglio rimanenza F5, Dettaglio ordine F8), preparazione griglia (z-prepara-tm-grid).
  2. a4: svuota griglia, inizializza tab-maschera con filtri di default (data limite = data sistema, tipo trasporto "T", escludi spediti "S", da assegnare "S", assegnati "S", ordinamento "A"), attiva pagina filtri.
  3. Accept filtri (a-tm-tipo-traspa-tm-vet-cod): tipo trasporto, data limite, escludi spediti, da assegnare, assegnati, localita', autista, vettore. Ogni campo ha il suo x-controlla-…. F7 conferma i filtri (a-fine-dati).
  4. a-pagina-2-ini: passa alla pagina risultati; per garantire uso esclusivo del file temporaneo lo apre in output (se stato non "00" segnala "Funzione gia' in uso"), poi in i-o, quindi lancia carica-dati.
  5. carica-dati: scorre COGTESOR per tipo cliente, salta ordini a cura destinatario, determina localita' (da COGDESTI o COGGEANA), verifica note operative su COGDESCR, poi per ogni testata invoca ciclo-consegne.
  6. ciclo-consegne: scorre le consegne (COGCONOR chiave 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 via cerca-buono su COGRIGBP), arricchisce con anagrafiche e scrive il record in COGTRANS.
  7. carica-tab: legge COGTRANS (ordinamento scelto via rn-start/sn-read con paginazione utilpggr), riempie la tabella interna tm-tab e la griglia.
  8. 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 timer w-attesa (configurazione secondi aggiornamento).
  9. sel-incolla: incolla un giro copiato su una consegna, con controlli su evasione consegna, congruenza vettore e collegamento a COGGIRDT; aggiorna COGCONOR (data) e COGTRANS.
  10. cancella-giro: scollega la consegna dal giro (COGGIRDT/COGGIRTS), con controllo sulle consegne evase.
  11. z-chiudi: chiude e cancella il file temporaneo COGTRANS (delete file).

Note tecniche

  • Il file COGTRANS e' un file di transito temporaneo e univoco per operatore: il nome viene costruito con ext-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 output all'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 TO tra paragrafi di accept e loop (stile legacy del cruscotto GUI), diversamente dalle convenzioni per i nuovi programmi.