Vai al contenuto

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):

  1. Apertura (apri): apre i file, determina la modalita' in base al linkage — se cogma7-called = "COGMA7" e cogma7-caller valorizzato attiva w-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).
  2. Caricamento griglia (a4/a10-loop): scansione completa di COGSWING (st-cogswing-notmin + rdnxt-cogswing) fino a k-max-ele-tab = 500 righe; ogni record popola tm-* (id, descrizione, datawarehouse, datamart, tipo source, source, tipo periodo) e memorizza tm-cod-prec per il confronto in salvataggio; traccia il massimo swng-id per l'assegnazione automatica dei nuovi codici.
  3. 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).
  4. F3: in gestione salva (a1-aggiornab-aggiorna); in modalita' chiamata commuta selezione/aggiornamento; in selezione (non chiamata) salva e torna in selezione.
  5. Invio: in selezione restituisce tm-id in cogma7-out-cod ed esce.
  6. F8: apre COGMA8 (filtri statistica) sulla riga corrente, passando tm-id/tm-des.
  7. Ctrl+A: aggiunge riga (z-aggiungi-riga-tm-tab), assegnando swng-id progressivo e forzando tipo-source = "M" e tipo-periodo = "A".
  8. Ctrl+E: cancella riga previa conferma; annota la cancellazione a cascata dei filtri COGSWNGA.
  9. Salvataggio (b-aggiorna): per ogni riga confronta tm-id con tm-cod-prec e 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.
  10. 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-tab e le utility GRIDADMN/GRP011.