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" suLODCMTES), 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.k01…cogtrans.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.k01…k05
Logica di elaborazione¶
-
Filtri (accept): operazione
tm-ope(Nnuova /Amodifica), anno e numero spedizione (solo perA), ordinamentotm-ord(V=vettore /D=cliente-descrizione /Z=zona / default commessa). Da F1 si accede alla modifica delle configurazioni (x99-conficonncnf-ope = "Modifica"). -
Creazione transito (
crea-cogtrans): ricreacogtrans(close/open output/open i-o) e lo popola secondo l'operazione: - Nuova (
crea-spedizione): leggeLODCMTESper flag "da spedire" (chia6); per ogni commessa legge lo stato daLODPRESC. StatoU(in prova) →trs-commessa-sospesa; statoC/E(finito) →trs-lavoro-finito, che cerca il documento (cerca-documentosuCOGRACBB/COGTESBO) e avvisa se manca la bolla. -
Modifica (
modifica-spedizione): leggeLODGIRDTper anno/numero e ricostruisce i record di transito con documento e importo (COGS87). -
Griglia (
a-grid): ciclo eventi paginato. Nella nuova spedizione, INVIO seleziona/deseleziona la riga (aggiornatrs-selezionatosucogtranse 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. -
Aggiornamento (
aggiorna): - Nuova: calcola il nuovo numero giro (
LODGIRTS,scrivi-lodgirts), scrive le righe giro dalle commesse selezionate (tratta-cogtrans→LODGIRDT) e poiapplicazione-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). - Modifica: aggiorna la testata giro (
aggiorna-lodgirts). -
Segue la stampa (
stampa→ DIALOGS → COGZA4). -
Cancellazione (
cancellazione): eliminaLODGIRTS, tutte leLODGIRDTdel giro e i relativi movimentiCOGMOMAGdi 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
cogtranse' un transito temporaneo per operatore: nome#$cogza3.{operatore}nella directory temporanea; le 5 chiavi alternative supportano gli ordinamenti selezionabili intm-ord(vettore, descrizione cliente, zona, cliente, commessa). - L'applicazione dei trasporti a magazzino e' governata dalle due soglie di configurazione (
soglia-maggiorazioneesoglia-tolgo-trasporto) confrontate con il totale importi selezionati per cliente: sotto soglia vengono generati i relativi movimentiCOGMOMAGcon 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).