Vai al contenuto

COGG19 - Gestione Consegne Mediatori

Panoramica

Programma di gestione e cancellazione delle consegne su contratti mediatori. Permette di variare la data e le quantita' delle consegne predisposte, oppure di eliminarle con tutta la struttura collegata (record su COGCONOR, impegni su COGMOVDB, lavorazioni su COGLAVOR).

Le consegne in lavorazione non possono essere variate; e' consentita solo la cancellazione tramite COGS17L. Le consegne con righe gia' scaricate in bolla non possono essere cancellate.

Tipo: Programma gestionale a maschera DOS-style (mm-1, 23 righe x 80 colonne), con griglia scrollabile.

Posizioni nel menu

Menu Percorso
Vendite Mediatori > Gestione Consegne

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB (cogfiles) Input Parametri generali / percorsi file
COGTABEL Input Tabella generica (tipo parametri)
COGMERCI Input Anagrafica merci
COGGEANA Input Anagrafica generale (clienti/fornitori)
COGTESOR Input Testate ordini
COGRIGOR Input Righe ordini
COGLAVOR Input Lavorazioni (verifica consegna in lavorazione)
COGCONOR I/O Consegne su ordine (scrittura/cancellazione)
COGMOVDB I/O Movimenti distinta base (aggiornamento impegni)
COGGENER Input Relazioni generiche tra entita' (es. riordino interno)
COGTRANS I/O File temporaneo indicizzato (uso interno sessione)

Copybook principali (working-storage)

Copybook Descrizione
wstato.cpy Stato I/O e flag verbo
wgrave.cpy Gestione errori gravi
wopenf.cpy Apertura file generica
wnscr.cpy Costanti video (ESC, F-key, ecc.)
utilm96.cpy Utility COGM96 (distinta temporanea)
utils17l.cpy Utility COGS17L (cancellazione consegna in lavorazione)
utils26.cpy Utility COGS26 (schermo consegna mediatori)
utils52.cpy Utility COGS52 (input data)
utils68.cpy Utility COGS68 (ricerca merce)
utilu12.cpy Utility COGU12 (aggiornamento giacenza/impegno)
utilw28.cpy Utility W28 (selezione consegna da ordine)
cogazien.cpy Dati azienda corrente
utilncnf.cpy Utility NCNF (configurazione)

Copybook linkage section

Copybook Descrizione
wcont.cpy Area comunicazione con chiamante (stringhe)
utils16.cpy Utility COGS16 (esplosione distinta base)
wcont1.cpy Area comunicazione estesa

Chiamate a sottoprogrammi (CALL)

Programma Paragrafo Scopo
COGS52 a05, a20-ann, a30 Input e validazione date
COGS17N x1-del-no-lav Cancellazione consegna non in lavorazione
COGS17L x1-del-lav Cancellazione consegna in lavorazione
COGS16 agg-20 Esplosione distinta base e impegno semilavorati
COGM96 a1-creo-impegno Gestione impegno distinta temporanea
COGOG18 agg-90-end Creazione nuova consegna (funzione sdoppia, F7)
COGU12 a2-modifico-impegno Aggiornamento giacenza/impegno su modifica

Logica di elaborazione

Flusso principale

  1. a000 / a4: inizializzazione maschera, titolo, lettura configurazione NCNF.
  2. a05 / a15: richiesta estremi consegna (anno e numero) con ricerca diretta su COGCONOR.
  3. In alternativa, a20-ann / a20-num: richiesta ordine da cui partire, poi selezione consegna tramite W28.
  4. a25: verifica che l'ordine non sia generato da riordino interno (solo per az-personal = "EC"); verifica stato lavorazione su COGLAVOR (chiave 5).
  5. a30: richiesta/modifica data consegna (COGS52).
  6. acc-00 / acc-00-disp: loop di accettazione quantita' riga per riga con controlli.
  7. acc-50: controlli pre-aggiornamento (fl-cla, quantita' minima, controlli matricole per Eurocold).
  8. agg-consegne / agg-05 / agg-10-loop: aggiornamento consegne su COGCONOR, poi gestione impegni distinta base.
  9. can-00: percorso cancellazione (con o senza lavorazione).
  10. fine / z-chiudi: chiusura file, pulizia file temporaneo, exit.

Paragrafi chiave

Paragrafo Descrizione
load-testata Cerca il record "testata" (cor-merce = low-values) della consegna su COGCONOR per ottenere ri-testa-pro
load-cons Carica testata ordine, anagrafica venditore/compratore, righe ordine (COGRIGOR), quantita' per consegna corrente e progressive per ciascuna merce
agg-consegne Cancella la versione precedente della consegna (COGS17N), riscrive i record su COGCONOR, gestisce impegni distinta base
agg-20 Decide il tipo di aggiornamento impegno in base al tipo distinta (D=distinta tradizionale via COGS16, V=distinta temporanea via COGM96)
agg-90-end Scrive il record testata (cor-merce = low-values) e, se fl-dup='S', chiama COGOG18 per sdoppiare la consegna
a2-modifico-impegno Dopo COGS16, corregge l'impegno gia' scaricato su COGMOVDB per le distinte di tipo "D"
x1-del-no-lav Chiama COGS17N per eliminare la consegna (caso normale)
x1-del-lav Chiama COGS17L per eliminare la consegna in lavorazione

Struttura tab-maschera

Campo Tipo Descrizione
tm-consegna Mag/Anno/Tipo/Num Chiave consegna
tm-ordine Tipo/Anno/Num/Pro Chiave ordine collegato
tm-data AAAA/MM/GG Data consegna
tm-ven-cod / tm-ven-des Num / Testo Venditore
tm-com-cod / tm-com-des Num / Testo Compratore
tm-da-data / tm-a-data AAAA/MM/GG Validita' da/a dell'ordine
tm-tab-righe (occurs 100) Array Righe: merce, qta ordinata, qta progressiva, qta consegna

File temporaneo COGTRANS

Usato per evitare conflitti di accesso su file condivisi durante l'aggiornamento. Il percorso viene costruito con ext-tmp-dir + nome operatore al momento dell'avvio e il file viene eliminato alla chiusura del programma.

Flag importanti

Flag Valori Significato
fl-cla S/N La consegna e' in lavorazione
fl-dup S/N Sdoppia consegna al salvataggio (tasto F7)
fl-no-canc S/N Ci sono righe gia' scaricate in bolla; impedisce la cancellazione
fl-close S/N Tutte le righe della nuova consegna hanno quantita' = 0; la consegna viene marcata chiusa
w-fl-close C/spazio Stato chiusura della consegna precedente

Gestione record testata COGCONOR

Il record di testata ha cor-merce = low-values e identifica la consegna come entita'. Il suo cor-progr (ri-testa-pro) viene usato come progressivo riservato per la testata; le righe merce usano progressivi diversi. Alla scrittura, il programma cicla cercando il primo progressivo libero che non sia gia' usato da altre righe della stessa consegna e che non coincida con ri-testa-pro.

Note tecniche

  • Programma di vecchia generazione con maschera DOS-style; usa DISPLAY/ACCEPT diretto e scrolling manuale della griglia.
  • I PERFORM ... THRU presenti nel sorgente (es. load-cons thru ex-load-cons, agg-consegne thru ex-agg-c) sono un pattern legacy; i paragrafi ex-* sono marker di uscita.
  • La configurazione NCNF (tm-cfg-mag-stoc) determina se il magazzino di stoccaggio deve essere usato nella gestione impegni.
  • Per az-personal = "EC" (Eurocold) viene eseguito un controllo aggiuntivo sulle matricole delle merci (paragrafo controlli-matricole-cold).
  • Il programma puo' essere richiamato direttamente con i parametri ordine precompilati nella linkage section (campo util-inp); in questo caso salta la fase di inserimento degli estremi ordine.