COGY10 -- Raggruppamenti C.Ricavo / Aree / Agenti¶
Sorgente: cbl/cogy10.cbl | Tipo: Programma gestionale con griglia | Program-ID: cogy10
Menu: Statistiche > Statistiche 2 > Tabelle (3 voci distinte)
Scopo¶
Gestione delle aggregazioni statistiche. Permette di creare, modificare e cancellare raggruppamenti di elementi (province, regioni, nazioni, agenti, merci, conti contabili, sotto-aggregazioni) utilizzati come criteri di analisi nelle stampe statistiche. Opera in tre modalita' in base al parametro wo-parametro (tipo-agg):
- "A" = Aggregazioni per Area (province, regioni, nazioni, sotto-aggregazioni)
- "G" = Aggregazioni per Agenti (agenti, sotto-aggregazioni)
- "M" = Aggregazioni per Centri di Ricavo/Merce (merci, conti contabili, sotto-aggregazioni)
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Input | Tabella generale |
| COGAGGTS | I/O | Testata aggregazioni (agt-tip + agt-cod) |
| COGAGGDT | I/O | Dettaglio aggregazioni (agd-tip + agd-cod + agd-det-tip + agd-det-cod) |
| COGTABEL | Input | Tabelle generiche (province tipo 26, nazioni tipo 54) |
| COGTRANS | I/O | File di transito temporaneo per le righe della griglia |
| File da cogy10.select | Vari | File dichiarati dalla screen |
Copybook principali¶
| Copybook | Sezione | Descrizione |
|---|---|---|
| cogy10.select | FILE-CONTROL | SELECT dei file |
| cogy10.fd | FILE SECTION | FD dei file |
| cogy10.wrk | WORKING-STORAGE | Variabili di lavoro |
| cogy10-01.scr | SCREEN SECTION | Definizione maschera |
| cogy10.decla | PROCEDURE | Declaratives |
| cogy10.prc | PROCEDURE | Procedure generate da Screens |
| wgrid.cpy | WORKING-STORAGE | Gestione griglia |
| utilgdad.cpy | WORKING-STORAGE | Utility griglia (GRIDADMN) |
| utils65.cpy | WORKING-STORAGE | Utility selezione anagrafica |
| utilf09.cpy | WORKING-STORAGE | Utility province (COGF09) |
| utilf62.cpy | WORKING-STORAGE | Utility regioni (COGF62) |
| utils67.cpy | WORKING-STORAGE | Utility conti (COGS67) |
| utils68.cpy | WORKING-STORAGE | Utility merce (COGS68) |
| utile04.cpy | WORKING-STORAGE | Utility nazioni (COGE04) |
| utile35.cpy | WORKING-STORAGE | Utility agenti (COGE35) |
| utilw154.cpy | WORKING-STORAGE | Utility ricerca aggregazioni (WIN154) |
| utily10.cpy | LINKAGE | Parametri per chiamata ricorsiva |
Struttura del programma¶
main section
apri -- inizializzazione, apertura file, parametro tipo-agg
a4 -- reset maschera, apertura cogtrans
a-tm-cod -- accept codice aggregazione
a-tm-des -- accept descrizione (con F4 = cancella)
a-fine-intestazione -- validazione intestazione, caricamento righe
vis-tabella-ini -- preparazione griglia paginata
vis-tabella-disp -- accept griglia (paginazione, Ctrl+A/E, F8, Shift+F5)
a-riga-dettaglio -- dettaglio singola riga
a-tm-tipo -- accept tipo elemento (combo dinamica)
a-tm-prov-cod -- accept provincia
a-tm-regio-cod -- accept regione
a-tm-stato-cod -- accept nazione
a-tm-age-cod -- accept agente
a-tm-merce -- accept merce
a-tm-agg-cod -- accept sotto-aggregazione
a-tm-conto -- accept conto contabile
a-fine-dettaglio -- validazione e inserimento riga
inserisci -- write su COGAGGDT e COGTRANS
verifica -- controllo unicita' elemento
c-cancella -- delete da COGAGGDT e COGTRANS
cancella-agg -- cancellazione intera aggregazione
fine / z-chiudi -- chiusura, delete cogtrans
Logica di elaborazione¶
Tipo di aggregazione¶
Il parametro wo-parametro determina la modalita':
- "A" (Area): combo tipo con Provincia/Regione/Nazione/Aggregazione.
- "G" (Agenti): combo tipo con Agente/Aggregazione.
- "M" (Merce): combo tipo con Merce/Conto/Aggregazione.
Intestazione¶
Il codice aggregazione viene cercato su COGAGGTS (agt-tip + agt-cod). Se esiste, la descrizione viene caricata. In inserimento, il codice viene creato.
Caricamento righe¶
Le righe vengono lette da COGAGGDT e caricate nella tabella interna tm-tab e nel file di transito COGTRANS. Per ogni riga, in base al tipo (agd-det-tip):
- P: provincia, descrizione da COGTABEL tipo 26.
- R: regione, descrizione da COGTABEL tipo 26.
- N: nazione, descrizione da COGTABEL tipo 54.
- G: agente, descrizione da COGGEANA tipo "F".
- M: merce, descrizione da COGMERCI.
- C: conto contabile, descrizione da COGCONTA.
- A: sotto-aggregazione, descrizione da COGAGGTS.
Inserimento riga¶
- Selezione tipo (combo dinamica in base a tipo-agg).
- Input del codice con validazione e ricerca F8.
- Verifica unicita' tramite scansione COGAGGDT.
- Write su COGAGGDT e COGTRANS.
Chiamata ricorsiva¶
Se sulla griglia si seleziona un elemento di tipo "A" (sotto-aggregazione) e si preme F8, il programma chiama se stesso (CALL "COGY10") passando il codice dell'aggregazione tramite utily10.cpy.
Cancellazione aggregazione (F4)¶
La cancellazione dell'intera aggregazione (da a-tm-des con F4) richiede conferma e cancella tutti i record COGAGGDT e il record COGAGGTS.
CALL a programmi esterni¶
| Programma | Scopo |
|---|---|
| COGF09 | Ricerca province |
| COGF62 | Ricerca regioni |
| COGE04 | Ricerca nazioni |
| COGE35 | Ricerca agenti |
| COGS65 | Selezione anagrafica |
| COGS67 | Input conto contabile |
| COGS68 | Input merce |
| WIN154 | Ricerca aggregazioni |
| COGY10 | Chiamata ricorsiva per sotto-aggregazioni |
| GRIDADMN | Gestione griglia |