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¶
-
Selezione tabella (
a-tm-codice): l'utente digita il codice tabella (campotm-codice). Validato con lettura su COGTABEL tipo 62 +tm-codicecomeeuta-ptc-tip. -
Caricamento (
a1-10-loop): scandisce COGTABEL per tipo 62 eeuta-ptc-tip=tm-codice. Per ogni elemento scrive un record su COGTRANS contrs-cod=euta-ptc-cod,trs-des=euta-tma-des,trs-seq=euta-tma-seq. -
Rilettura ordinata (
a1-40-loop): rilegge COGTRANS sulla chiave alternata (ordinata pertrs-seq,trs-chia1) e carica la tabella in memoria (tm-tab, max 900 elementi). -
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. -
Aggiornamento (
a3-aggiorna-tab): rilegge COGTRANS in ordine di sequenza e per ciascun elemento aggiornaeuta-tma-seqsu COGTABEL. La rinumerazione usa passo 10; se un elemento ha sequenza > 100.000, il contatore riparte da 100.000.
Gestione griglia¶
- Utilizza
GRIDADMNper 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 = 62identifica 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.