Vai al contenuto

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

  1. Selezione tipo (combo dinamica in base a tipo-agg).
  2. Input del codice con validazione e ricerca F8.
  3. Verifica unicita' tramite scansione COGAGGDT.
  4. 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