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