Vai al contenuto

COGZA3 — Gestione Spedizioni (Buoni Consegna)

Sorgente: cbl/cogza3.cbl | Program-ID: cogza3 | Tipo: Programma interattivo a griglia paginata (nuova spedizione / modifica spedizione)

Menu: Lab.Odont. > Buoni Consegna > Spedizioni


Scopo

Gestisce le spedizioni (giri di consegna) delle commesse di laboratorio pronte. Consente due operazioni:

  • Nuova spedizione (tm-ope = "N"): raccoglie le commesse da spedire (finite/in prova, con flag "da spedire" su LODCMTES), le presenta in griglia, l'operatore seleziona quelle da includere, imposta vettore e destinatario, e conferma. Alla conferma crea la testata giro (LODGIRTS) e le righe giro (LODGIRDT), applica gli eventuali movimenti di trasporto/maggiorazione a magazzino (COGMOMAG) e stampa il buono.
  • Modifica spedizione (tm-ope = "A"): rilegge una spedizione esistente (anno/numero), consente di variarne vettore e destinatario, ristampare il buono (F9) o cancellarla (F4).

I dati raccolti transitano in un file indicizzato temporaneo (cogtrans), con cinque chiavi alternative per supportare i diversi ordinamenti della griglia.


File e tabelle

File laboratorio / anagrafiche

File Copybook (chiave) Accesso Scopo
feurtab cogfiles.cpy Tabella file di sistema
LODCMTES lodcmtes.k06 Lettura per chia6 (flag da spedire) e diretta Testate commessa — commesse da spedire
LODPRESC lodpresc.k04 Lettura per chia4 Prescrizioni — stato commessa (U/C/E)
LODGIRTS (via st/rd/wr/rwr/del) Lettura/scrittura/riscrittura/cancellazione Testate giro spedizione (vettore, destinatario, data)
LODGIRDT lodgirdt.k03 Lettura per chiave/chia3, scrittura, cancellazione Righe giro spedizione (commessa + documento)
COGGEANA (via rd-coggeana) Lettura diretta Anagrafica clienti/fornitori (vettore, destinatario, zona)
COGTABEL (via rd-cogtabel) Lettura diretta Tabelle: zone (tipo 88), vettori (tipo 47), agenti (tipo 21)
COGCNDCF (via rd-cogcndcf) Lettura diretta Condizioni cliente — vettore di default (DC)
COGTESBO (via rd-cogtesbo) Lettura diretta Testate DDT — documento collegato alla commessa
COGRACBB (via st/rdprv) Lettura sequenziale (CD) Raccordi bolla-commessa lotto
COGMOMAG (via st/rdnxt/rdprv/wr/del) Lettura/scrittura/cancellazione Movimenti magazzino — righe trasporto/maggiorazione
COGMERCI / COGMERAP / COGMERA2 (via rd-*) Lettura diretta Anagrafica merce (UM, IVA, conto, centro di costo) per le righe magazzino generate
COGAPPOG (via rd-cogappog) Lettura diretta Appoggio anagrafica cliente — merce trasporto
cogtrans (definito nel sorgente) Scrittura/lettura I-O File indicizzato temporaneo di transito (5 chiavi)

Il tracciato di cogtrans e' dichiarato manualmente (FD trs-rec): chiave primaria trs-chia1 (commessa + chiave documento) piu' chiavi alternative per vettore, descrizione cliente, zona e cliente. Chiavi incluse: cogtrans.k01cogtrans.k05.


Programmi chiamati (CALL)

Programma Condizione Scopo
COGS01 scrittura movimenti trasporto/maggiorazione; chiusura Calcolo prezzo/apertura sessione prezzi
COGS87.COB valorizzazione documento Totale ivato del DDT collegato alla commessa
COGS65W help vettore/destinatario Gestione campo codice con help
COGE18 F8 su vettore Help/selezione vettore
COGE35 F8 su destinatario agente Help/selezione agente
COGZA4 stampa (F8 su dialog) Stampa del sovrappacco della spedizione
W92 (sendw92.cpy) gestione destinazione Lettura/formattazione indirizzo destinazione
COGU10W edit importo Formattazione importo in griglia
DIALOGS stampa Finestra scelta tipo stampa
GRIDADMN griglia Gestione/personalizzazione colonne
RNEWCONF x99-confi Lettura parametri di configurazione

Parametri di configurazione (RNEWCONF)

Caricati in x99-confi (pac odonto.CNF):

Gruppo Chiave Variabile interna Effetto
odonto numero-commessa-automatico tm-cfg-num-aut Se M, formatta il numero commessa in griglia (999/99/99999)
odo-sped soglia-maggiorazione tm-cfg-soglia-magg Soglia importo sotto la quale si applica la maggiorazione di trasporto
odo-sped merce-maggiorazione tm-cfg-merce-magg Codice merce (gru/sot/cod) della maggiorazione di trasporto
odo-sped soglia-tolgo-trasporto tm-cfg-soglia-tolgo-magg Soglia importo sotto la quale si applica la merce trasporto standard

Copybook incluse

Working Storage: feurtab.fd, cogza3.select, cogza3.fd, cogza3.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilu78.cpy, utilgdad.cpy, utile18.cpy, utile35.cpy, utils52.cpy, utils65.cpy, utils68.cpy, utilw92.cpy, utils87.cpy, utilncnf.cpy, utilu10.cpy, utildlg.cpy

Linkage: wcont.cpy, utils01.cpy (con redefine za4-call per i parametri a COGZA4), wcont1.cpy

Screen: cogza3-01.scr

Procedure: grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, sendw92.cpy, cogza3.prc, dtab.cpy, fscrol2.cpy, utilpggr.cpy

Chiavi file: lodgirdt.k03, lodpresc.k04, lodcmtes.k06, cogtrans.k01k05


Logica di elaborazione

  1. Filtri (accept): operazione tm-ope (N nuova / A modifica), anno e numero spedizione (solo per A), ordinamento tm-ord (V=vettore / D=cliente-descrizione / Z=zona / default commessa). Da F1 si accede alla modifica delle configurazioni (x99-confi con ncnf-ope = "Modifica").

  2. Creazione transito (crea-cogtrans): ricrea cogtrans (close/open output/open i-o) e lo popola secondo l'operazione:

  3. Nuova (crea-spedizione): legge LODCMTES per flag "da spedire" (chia6); per ogni commessa legge lo stato da LODPRESC. Stato U (in prova) → trs-commessa-sospesa; stato C/E (finito) → trs-lavoro-finito, che cerca il documento (cerca-documento su COGRACBB/COGTESBO) e avvisa se manca la bolla.
  4. Modifica (modifica-spedizione): legge LODGIRDT per anno/numero e ricostruisce i record di transito con documento e importo (COGS87).

  5. Griglia (a-grid): ciclo eventi paginato. Nella nuova spedizione, INVIO seleziona/deseleziona la riga (aggiorna trs-selezionato su cogtrans e la cella in griglia); F7 attiva la "lettura diretta" (lettura-diretta/a-tm-lettura) per selezionare per numero commessa; F6 apre la gestione dati spedizione (vettore/destinatario, tratta-dati-sped). F3 conferma l'aggiornamento; F4 (solo modifica) cancella la spedizione; F9 (solo modifica) ristampa.

  6. Aggiornamento (aggiorna):

  7. Nuova: calcola il nuovo numero giro (LODGIRTS, scrivi-lodgirts), scrive le righe giro dalle commesse selezionate (tratta-cogtransLODGIRDT) e poi applicazione-trasporti: per cliente somma gli importi selezionati e, in base alle soglie configurate, genera i movimenti magazzino della maggiorazione (scrivi-cogmomag-1) e/o della merce trasporto (scrivi-cogmomag-2).
  8. Modifica: aggiorna la testata giro (aggiorna-lodgirts).
  9. Segue la stampa (stampa → DIALOGS → COGZA4).

  10. Cancellazione (cancellazione): elimina LODGIRTS, tutte le LODGIRDT del giro e i relativi movimenti COGMOMAG di trasporto/maggiorazione (cancella-cogmomag).


Paragrafi chiave

Paragrafo Scopo
apri Inizializzazione: apre file, carica configurazioni (x99-confi), pulsante custom "Gestione dati spedizione (F6)", prepara griglia
a-tm-ope / a-tm-spd-ann / a-tm-spd-num / a-tm-ord Accept dei campi filtro con validazione
a-richiesta-conferma / a-fine-dati Conferma filtri, ricrea cogtrans, lancia la creazione del transito
crea-cogtrans Orchestratore: nuova (crea-spedizione) o modifica (modifica-spedizione)
crea-spedizione / tratta-lodcmtes Raccolta commesse da spedire da LODCMTES/LODPRESC
modifica-spedizione / tratta-lodgirdt Ricostruzione transito da una spedizione esistente
cerca-documento Risale dalla commessa al DDT via COGRACBB/COGTESBO
a-grid Ciclo principale griglia: selezione (INVIO), F6/F7/F3/F4/F9, paginazione
lettura-diretta / a-tm-lettura / seleziona-diss Selezione/deselezione commesse per numero (F7)
tratta-dati-sped + a-tm-vet-cod / a-tm-dst-* Gestione dati spedizione (vettore, destinatario)
aggiorna Creazione/aggiornamento giro + applicazione trasporti + stampa
scrivi-lodgirts / tratta-cogtrans Scrittura testata e righe giro
applicazione-trasporti / tratta-cogtrans-5 Somma importi per cliente e generazione movimenti trasporto/maggiorazione
scrivi-cogmomag-1 / scrivi-cogmomag-2 Scrittura movimenti magazzino (maggiorazione / merce trasporto)
cancellazione / cancella-cogmomag Cancellazione spedizione e movimenti collegati
stampa Dialog di stampa: sovrappacco (COGZA4) / buono spedizione
x99-confi Lettura dei 4 parametri di configurazione (odonto/odo-sped)
fine / z-chiudi Chiusura file (con COGS01 di chiusura sessione) e uscita

Note

  • Il file cogtrans e' un transito temporaneo per operatore: nome #$cogza3.{operatore} nella directory temporanea; le 5 chiavi alternative supportano gli ordinamenti selezionabili in tm-ord (vettore, descrizione cliente, zona, cliente, commessa).
  • L'applicazione dei trasporti a magazzino e' governata dalle due soglie di configurazione (soglia-maggiorazione e soglia-tolgo-trasporto) confrontate con il totale importi selezionati per cliente: sotto soglia vengono generati i relativi movimenti COGMOMAG con la merce configurata.
  • La stampa del "buono spedizione" (F9 nel dialog) e' segnalata nel sorgente come "attualmente non disponibile"; e' attiva solo la stampa del sovrappacco via COGZA4 (F8).