COGMA7 - Statistiche Sw-Ing¶
Sorgente: cbl/cogma7.cbl | Program-ID: COGMA7 | Tipo: Programma interattivo (gestore tabella a griglia)
Menu: CRM > Archivi > Statistiche Sw-Ing (anche Sistema > Configurazione > Statistiche Sw-ing)
Scopo¶
Gestisce l'anagrafica delle statistiche del modulo Sw-Ing (Business Intelligence integrato): ogni riga definisce il collegamento a un modello Sw-Ing (datawarehouse, datamart, source) e il tipo di periodo passato al modello. Programma standalone a maschera con griglia (e-tm-tab); supporta anche modalita' "selezione" tramite il linkage utilcogma7.cpy per restituire un codice statistica al chiamante.
Da ogni riga si accede (F8) alla gestione dei filtri variabili della statistica, delegata a COGMA8.
File e tabelle¶
| File/Tabella | Modalita' | Descrizione / campi chiave usati |
|---|---|---|
| FEURTAB | Input | Parametri azienda (cogfiles.cpy, dati cogazien.cpy) |
| COGSWING | I-O | Anagrafica statistiche Sw-Ing (swng-rec): swng-id (chiave), swng-des, swng-datawarehouse, swng-datamart, swng-tipo-source, swng-source, swng-tipo-periodo. Letta con rd-cogswing/rd-cogswing-lk, scritta con wr-/rwr-/del-cogswing |
| COGSWNGA | I-O | Filtri associati alla statistica (swna-rec): chiave swna-id. Cancellati a cascata alla cancellazione della statistica (cancella-cogswnga) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogma7.select, cogma7.fd, cogma7.wrk, cogma7-01.scr, cogma7.prc, cogma7.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
Layout FEURTAB |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilgrp011.cpy |
Utility gestione griglia (GRP011) |
utilcogma8.cpy |
Linkage chiamata COGMA8 (filtri statistica) |
utilcogma7.cpy |
Linkage di chiamata esterna (modalita' selezione) in linkage section |
utils52.cpy |
Linkage data (COGS52W) |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda |
wcont.cpy, wcont1.cpy |
Linkage standard (stringhe) |
stato, stato1, winmsg, grave, opengen, mmmask |
Copybook di procedura standard |
Logica¶
Pattern standard "tabella anagrafica a griglia" (cfr. ASN011):
- Apertura (
apri): apre i file, determina la modalita' in base al linkage — secogma7-called = "COGMA7"ecogma7-callervalorizzato attivaw-dc-called = "S"(modalita' selezione,a-modalita = "S"), altrimenti aggiornamento (a-modalita = "A"). Abilita i tasti funzione di conseguenza (F3 seleziona/modifica in selezione; F3 aggiorna in gestione; Ctrl+A/Ctrl+E in gestione). Prepara la griglia via GRIDADMN (z-prepara-tm-grid). - Caricamento griglia (
a4/a10-loop): scansione completa di COGSWING (st-cogswing-notmin+rdnxt-cogswing) fino ak-max-ele-tab = 500righe; ogni record popolatm-*(id, descrizione, datawarehouse, datamart, tipo source, source, tipo periodo) e memorizzatm-cod-precper il confronto in salvataggio; traccia il massimoswng-idper l'assegnazione automatica dei nuovi codici. - Gestione accept (
a-grid/a-accept-grid): loop sugli eventi della griglia. Gestisce SF4 (amministrazione colonne via GRIDADMN), controllo abilitazioni (w-abi-ins/-agg/-del). - F3: in gestione salva (
a1-aggiorna→b-aggiorna); in modalita' chiamata commuta selezione/aggiornamento; in selezione (non chiamata) salva e torna in selezione. - Invio: in selezione restituisce
tm-idincogma7-out-coded esce. - F8: apre COGMA8 (filtri statistica) sulla riga corrente, passando
tm-id/tm-des. - Ctrl+A: aggiunge riga (
z-aggiungi-riga-tm-tab), assegnandoswng-idprogressivo e forzandotipo-source = "M"etipo-periodo = "A". - Ctrl+E: cancella riga previa conferma; annota la cancellazione a cascata dei filtri COGSWNGA.
- Salvataggio (
b-aggiorna): per ogni riga confrontatm-idcontm-cod-prece decide: modifica (b2, id = prec), inserimento (b1, prec = 0), cancellazione (b3+cancella-cogswnga, id = 0) o cancella+reinserisci (id ≠ prec). L'inserimento avvisa se il codice esiste gia'; la modifica avvisa se il codice non esiste piu' e offre di ricrearlo. - Controlli campo (
x-controlla-tm-*): obbligatorieta' di descrizione, datawarehouse, datamart, source (messaggi dedicati); il tipo source resta fisso a "M".
La cancellazione di una statistica elimina in cascata tutti i suoi filtri in COGSWNGA (cancella-cogswnga, scansione per swna-id).
CALL a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGMA8 | Gestione filtri variabili della statistica (F8) |
| GRIDADMN | Preparazione griglia e amministrazione colonne (SF4) |
| COGS52W | Utility data (caricata via copybook standard) |
Linkage (utilcogma7)¶
| Campo | Direzione | Descrizione |
|---|---|---|
cogma7-called |
in | "COGMA7" attiva la modalita' selezione |
cogma7-caller |
in | Identificativo del chiamante |
cogma7-out-cod |
out | Codice statistica selezionato (su Invio in selezione) |
Note¶
- Massimo righe griglia: 500 (
k-max-ele-tab); al superamento messaggio "Tabella Piena". - Il campo tipo source e' forzato a "M" (modello) e non modificabile dall'utente.
- La cancellazione della statistica e' definitiva e propaga sui filtri COGSWNGA associati.
- Programma generato da Screen Designer: la griglia usa i pattern
z-*-tm-tabe le utility GRIDADMN/GRP011.