COGN39 — Gestione sottogruppi merceologici¶
Sorgente: cbl/cogn39.cbl | Tipo: interattivo a griglia | Program-ID: cogn39
Menu: Magazzino > Archivi & Tabelle > Tabelle > Gruppi/raggruppamenti > Sottogruppi
Scopo¶
Gestione dei sottogruppi merceologici appartenenti a un gruppo merce. Il programma
consente di visualizzare, inserire, modificare e cancellare l'elenco dei sottogruppi
(codice + descrizione) associati a un dato gruppo. I dati sono memorizzati sulla
tabella generalizzata COGTABEL con tipo tabella "AB" (sottogruppi), mentre il
gruppo di appartenenza e' validato sul tipo "AA" (gruppi).
Puo' funzionare in modalita' autonoma (da menu) oppure essere richiamato come
sottoprogramma di selezione: in tal caso restituisce al chiamante il codice e la
descrizione del sottogruppo scelto tramite la copybook di interscambio
utilcogn39 (util-cogn39, campi cogn39-out-sot / cogn39-out-des).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
COGTABEL (via feurtab) |
cogfiles.cpy, cogn39.fd, cogn39.select |
Tabella generalizzata: tipo "AA" gruppi (lettura), tipo "AB" sottogruppi (lettura/scrittura). Record euta-rec: euta-tipo-x, euta-cod, euta-descr |
COGMERCI |
utilcogn38.cpy / accesso mer-rec |
Controllo di utilizzo: verifica se esistono merci con il gruppo/sottogruppo prima della cancellazione (c1-ctrl-canc) |
util-cogn39 |
utilcogn39.cpy |
Copybook di link con il chiamante (input cogn39-called/cogn39-caller/cogn39-gru, output cogn39-out-sot/cogn39-out-des) |
util-cogn38 |
utilcogn38.cpy |
Copybook di link verso COGN38 (aiuto/gestione gruppi) |
util-gdad |
utilgdad.cpy |
Interscambio con GRIDADMN per la gestione della griglia |
La chiave del record sottogruppo e' composta: euta-cod(1:2) = codice gruppo,
euta-cod(3:2) = codice sottogruppo; la descrizione e' in euta-descr.
Flusso principale¶
apri— inizializzazione:ctr-abil,z-99-init-program,rd-azi,open-files. Rileva se e' stato invocato come selezione (w-dc-called = "S"quandocogn39-called = k-program-idecogn39-callervalorizzato). Abilita i tasti funzione e verifica ambiente grafico (ext-ambiente-gui). Impostaa-modalitaa"S"(selezione) o"A"(aggiornamento).a-tm-gru— accept del gruppo di appartenenza; F8 richiama COGN38 per aiuto/gestione gruppi.x-controlla-tm-gruverifica che il gruppo sia codificato (lettura tipo"AA").carica-dati— carica in tabella indicizzatatm-tab(max 900 elementi,k-max-ele-tab) tutti i sottogruppi del gruppo:st-cogtabel-notmin+rdnxt-cogtabelcon rottura su cambio tipo/gruppo.a-grid/a-accept-grid— gestione della grigliae-tm-tab. In modalita' selezione INVIO restituisce il sottogruppo al chiamante; in modalita' aggiornamento INVIO apre la modifica, CTRL-A l'inserimento, CTRL-E la cancellazione. F3 commuta tra selezione e aggiornamento.a-riga-dettaglio/a-tm-sot/a-tm-des— editing riga: accept codice sottogruppo e descrizione con controlli (x-controlla-tm-sot,x-controlla-tm-des).a-riga-dettaglio-fine— conferma e persistenza: aggiorna la griglia via GRIDADMN (Add-Record/Modify-Record) e scrive su COGTABEL conwr-cogtabel(inserimento) orwr-cogtabel(modifica); controllo di coerenza sul fatto che il record esista o meno prima dell'operazione.c1-ctrl-canc/c-cancella— la cancellazione (CTRL-E) e' bloccata se esistono merci che usano quel gruppo/sottogruppo (scanCOGMERCIsumer-gru/mer-sot); se ammessa,del-cogtabel.fine/z-chiudi— chiusura file, chiusura finestra,z-99-exit-program,cancel "COGZDEW".
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGN38 |
Aiuto/gestione gruppi merceologici (tipo "AA"); richiamato con F8 dall'accept del gruppo |
GRIDADMN |
Gestione griglia dettaglio (Prepara, Svuota-Tutto, Add-Record, Modify-Record) |
Note¶
- Uso estensivo di
GO TOper la navigazione tra paragrafi-schermata (pattern legacy della famiglia dei gestori a griglia); presenti anche alcuniPERFORM ... THRU(carica-dati THRU ex-carica-dati,c-cancella THRU ex-c,c1-ctrl-canc THRU ex-c1). - La griglia e' dimensionata a
k-max-ele-tab = 900righe massime; oltre tale soglia in caricamento gli elementi eccedenti vengono scartati con avviso. - Il codice sottogruppo occupa 2 caratteri (
euta-cod(3:2)); la descrizione fino a 40 caratteri (euta-descr). - In modalita' selezione (richiamato da altro programma) il gruppo arriva
gia' impostato da
cogn39-grue viene forzato il salto aa-tm-gru-controlla.