COGG63 — Distinta Allegati di Vendita¶
Sorgente: cbl/cogg63.cbl | Tipo: interattivo a griglia | Program-ID: cogg63
Menu: Magazzino > Archivi & Tabelle > Varie > Allegati di Vendita
Scopo¶
Gestione della distinta degli "Allegati di Vendita": per un prodotto di vendita (merce "master") definisce l'elenco dei materiali/prodotti che dovranno essere automaticamente agganciati all'ordine o al DDT come allegati, con la relativa quantita' e unita' di misura.
I collegamenti sono memorizzati sulla tabella COGDBAGG (dati aggiuntivi distinte
base) con tipo record "A" (k-dbg-tipo-allegati, definito in k-gen.cpy): la
chiave e' data dalla distinta base (dbg-db, il prodotto vendita) e dal componente
(dbg-comp, il prodotto allegato); la quantita' e' salvata nella redefines
dbg-red-l (dbg-l-qta).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
COGDBAGG (via feurtab) |
cogfiles.cpy, cogg63.fd, cogg63.select |
Dati aggiuntivi distinte base. Record dbg-rec: dbg-tip="A", dbg-db=prodotto vendita, dbg-comp=allegato, dbg-prog, dbg-l-qta=quantita' |
COGMERCI |
accesso mer-rec (mer-chia, mer-descr, mer-um) |
Validazione codici merce (prodotto vendita e allegato) e recupero descrizione/UM |
util-gdad |
utilgdad.cpy |
Interscambio con GRIDADMN per la griglia dettaglio |
util-s68 |
utils68.cpy |
Aiuto/ricerca merce (COGS68W) sui campi prodotto |
util-u20 |
utilu20.cpy |
Gestione campo quantita' in griglia |
Flusso principale¶
apri—ctr-abil,z-99-init-program,x-carica-lingua,rd-azi,open-files. Abilita i tasti funzione (INVIO-modifica, F3 conferma/aggiorna, F8 aiuto, F9 ricerca avanzata, SHIFT-F4 griglia, CTRL-A aggiungi, CTRL-E elimina). Prepara i controlli e la griglia.a-tm-distinta— accept del prodotto di vendita (merce master). Controllox-controlla-tm-distinta: la merce deve esistere suCOGMERCI(rd-cogmerci).a-inizio-dati— conferma parametri (x-imposta-conferma-ini,acc-conf) e caricamento tabella.a1-carica— carica intm-tab(max 900 righe) gli allegati gia' esistenti per il prodotto:st-cogdbagg-notminfiltrando sudbg-tip = "A"edbg-db = tm-distinta, conrdnxt-cogdbagge rottura su cambio tipo/distinta. Per ogni riga legge la merce allegato (rd-cogmerci) per descrizione e UM.a-grid/a-accept-grid— gestione grigliae-tm-tab: INVIO modifica riga, CTRL-A inserisce, CTRL-E elimina, SHIFT-F4 personalizza colonne (GRIDADMN).a-riga-dettaglio/a-tm-allegato/a-tm-qta— editing riga: accept del prodotto allegato (con aiuto COGS68W) e della quantita'. Controlli:x-controlla-tm-allegato(merce esistente, diversa dal prodotto vendita),x-controlla-tm-qta.a-riga-dettaglio-fine— conferma e persistenza: aggiorna la griglia via GRIDADMN e scrive suCOGDBAGG(wr-cogdbaggin inserimento /rwr-cogdbaggin modifica, con fallback reciproco se il verbo risulta invalido).c-cancella— cancellazione riga: rilettura in lock (rd-cogdbagg-lk) edel-cogdbagg.fine/z-chiudi—close cogmerci cogdbagg, chiusura finestra,z-99-exit-program.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGS68W |
Aiuto/ricerca merci sui campi prodotto vendita e prodotto allegato (util-s68) |
GRIDADMN |
Gestione griglia dettaglio (Prepara, Svuota-Tutto, Add-Record, Modify-Record) |
Note¶
- Tipo record allegati: costante
k-dbg-tipo-allegati(valore"A") definita ink-gen.cpy; il commento nel sorgente ("la k-dbg-tipo-allegati e' in k-gen") lo conferma. - Il progressivo
dbg-progviene sempre azzerato: e' previsto un solo record per coppia distinta/componente. - Presenti alcuni
PERFORM ... THRU(a1-carica THRU ex-a1,c-cancella THRU ex-c,c1-ctrl-canc THRU ex-c1) e uso diGO TOper la navigazione tra paragrafi-schermata, secondo il pattern legacy dei gestori a griglia. - Controllo bloccante: il prodotto allegato non puo' coincidere con il prodotto di
vendita (
x-controlla-tm-allegato-> "Materiale Uguale a Prodotto Vendita"). - La griglia e' dimensionata a
k-max-ele-tab = 900righe massime.