Vai al contenuto

COGG44 - Ordinamento Gruppi Listino

Sorgente: cbl/cogg44.cbl | Program-ID: COGG44 | Tipo: Interattivo (maschera grafica Windows)

Menu: Magazzino > Archivi & Tabelle > Listino Vendita > Esportazione su Excel > Ordinamento Gruppi


Scopo

Consente di riordinare gli elementi di una tabella di tipo 62 (gruppi listino) di COGTABEL, modificando il campo sequenza (euta-tma-seq). Utilizza un file di transito indicizzato per ordinare gli elementi prima di presentarli in griglia.


Tabelle/File utilizzati

Tabella Tipo Modalita' Descrizione
FEURTAB Tabella Input Tabella generale Eurosystem
COGTABEL Tabella I-O Tabelle di sistema; tipo 62 = gruppi listino. Chiave: euta-tipo + euta-ptc-tip + euta-ptc-cod
COGTRANS File temp I-O File di transito indicizzato per ordinamento. Chiave primaria: trs-cod; chiave alternata: trs-seq + trs-chia1. Path: ext-tmp-dir/#$COGG44.<operatore>

Logica di elaborazione

Flusso principale

  1. Selezione tabella (a-tm-codice): l'utente digita il codice tabella (campo tm-codice). Validato con lettura su COGTABEL tipo 62 + tm-codice come euta-ptc-tip.

  2. Caricamento (a1-10-loop): scandisce COGTABEL per tipo 62 e euta-ptc-tip = tm-codice. Per ogni elemento scrive un record su COGTRANS con trs-cod = euta-ptc-cod, trs-des = euta-tma-des, trs-seq = euta-tma-seq.

  3. Rilettura ordinata (a1-40-loop): rilegge COGTRANS sulla chiave alternata (ordinata per trs-seq, trs-chia1) e carica la tabella in memoria (tm-tab, max 900 elementi).

  4. Griglia interattiva (a-accept-grid): l'utente puo' modificare il campo ordine (tm-seq) di ciascuna riga tramite doppio clic o Invio. Le modifiche vengono riportate anche su COGTRANS.

  5. Aggiornamento (a3-aggiorna-tab): rilegge COGTRANS in ordine di sequenza e per ciascun elemento aggiorna euta-tma-seq su COGTABEL. La rinumerazione usa passo 10; se un elemento ha sequenza > 100.000, il contatore riparte da 100.000.

Gestione griglia

  • Utilizza GRIDADMN per operazioni sulla griglia (Prepara, Add-Record, Modify-Record, Svuota-Tutto)
  • La griglia supporta fino a 900 righe (k-max-ele-tab)
  • Grid-record: grd-cod (10), grd-des (30), grd-seq (z9 format)

Chiamate a sottoprogrammi

Programma Funzione
GRIDADMN Gestione griglia (preparazione, aggiunta/modifica record, svuotamento, personalizzazione colonne)
WIN074 (via sendw74.cpy) Finestra di aiuto F8 per la selezione della tabella

COPY utilizzate

File section

Copybook Descrizione
cogfiles.cpy Struttura FEURTAB
cogg44.select SELECT dei file
cogg44.fd FD dei file (COGTABEL)

Working-storage

Copybook Descrizione
cogg44.wrk Working storage generata da Screens
wgrave.cpy Gestione errori gravi
wnscr.cpy Gestione screen
wopenf.cpy Gestione apertura file
wstato.cpy Gestione stato file
cogazien.cpy Dati azienda
utilw74.cpy Interfaccia WIN074 (aiuto F8)
wgrid.cpy Working storage griglia
utilgdad.cpy Interfaccia GRIDADMN

Linkage

Copybook Descrizione
wcont.cpy Area di comunicazione principale
wcont1.cpy Area di comunicazione estesa

Procedure division

Copybook Descrizione
grave.cpy Gestione errori gravi
mmmask.cpy Inizializzazione/chiusura programma standalone
opengen.cpy Apertura generica file
stato.cpy, stato1.cpy Controllo stato file
winmsg.cpy Messaggi a finestra
cogg44.prc Procedure generate da Screens
utilgrid.cpy Utility griglia
sendw74.cpy Chiamata WIN074
cogtrans.k01, cogtrans.k02 Verbi I/O per COGTRANS

Note

  • Il file COGTRANS e' creato per-operatore nella directory temporanea, in modo che piu' utenti possano usare la funzione contemporaneamente (ma lo stesso utente no).
  • La costante k-euta-tipo = 62 identifica il tipo di tabella "gruppi listino" su COGTABEL.
  • Le funzioni di inserimento (Ctrl+A) e cancellazione (Ctrl+E) sono commentate nel sorgente e quindi disabilitate.