Vai al contenuto

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

  1. aprictr-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.
  2. a-tm-distinta — accept del prodotto di vendita (merce master). Controllo x-controlla-tm-distinta: la merce deve esistere su COGMERCI (rd-cogmerci).
  3. a-inizio-dati — conferma parametri (x-imposta-conferma-ini, acc-conf) e caricamento tabella.
  4. a1-carica — carica in tm-tab (max 900 righe) gli allegati gia' esistenti per il prodotto: st-cogdbagg-notmin filtrando su dbg-tip = "A" e dbg-db = tm-distinta, con rdnxt-cogdbagg e rottura su cambio tipo/distinta. Per ogni riga legge la merce allegato (rd-cogmerci) per descrizione e UM.
  5. a-grid / a-accept-grid — gestione griglia e-tm-tab: INVIO modifica riga, CTRL-A inserisce, CTRL-E elimina, SHIFT-F4 personalizza colonne (GRIDADMN).
  6. 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.
  7. a-riga-dettaglio-fine — conferma e persistenza: aggiorna la griglia via GRIDADMN e scrive su COGDBAGG (wr-cogdbagg in inserimento / rwr-cogdbagg in modifica, con fallback reciproco se il verbo risulta invalido).
  8. c-cancella — cancellazione riga: rilettura in lock (rd-cogdbagg-lk) e del-cogdbagg.
  9. fine / z-chiudiclose 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 in k-gen.cpy; il commento nel sorgente ("la k-dbg-tipo-allegati e' in k-gen") lo conferma.
  • Il progressivo dbg-prog viene 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 di GO TO per 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 = 900 righe massime.