COGF01 — Gestione tabella Zone¶
Sorgente: cbl/cogf01.cbl | Tipo: Programma interattivo a griglia | Program-ID: cogf01
Menu: Contabilita' > Archivi & Tabelle > Tabelle > [Zone] ; Assist > Archivi > Tabelle > [Zone]
Scopo¶
Gestisce l'anagrafica delle Zone (zone commerciali/agenti). E' un editor a griglia con codice, descrizione e codice host, appoggiato sulla tabella generalizzata di contabilita' COGTABEL (tipo 88). Oltre all'uso da menu, funziona anche come finestra di selezione quando invocato da un altro programma (linkage util-f01): in tal caso restituisce codice e descrizione della zona scelta.
Quando l'azienda gestisce i clienti potenziali (CRM, az-cli-pot = "S") e la configurazione lo abilita, ogni inserimento/variazione/cancellazione di zona viene propagato anche alle tabelle di raccordo CRM CRMINFTR (voci tabella informazione). Le modifiche vengono inoltre sincronizzate verso il gestionale host KPN tramite SWN032.
File e tabelle principali¶
| File/Tabella | Copybook | Uso | Note |
|---|---|---|---|
| FEURTAB | cogfiles.cpy |
Input | Parametri generali azienda |
| COGTABEL | cogtabel.cpy (euta-rec) |
I-O | Tabella zone: euta-tipo = 88, euta-cod = codice zona, redefine euta-zone (euta-zone-des x(40), euta-zone-codice-host x(5)) |
| CRMINFOR | crminfor.cpy (ipt-rec) |
Input | Definizione informazione CRM: da tm-cfg-info-zona si ricava ipt-tab (codice tabella CRM collegata) |
| CRMINFTR | crminftr.cpy (itr-rec) |
I-O | Valori tabella informazione CRM: chiave itr-tab + itr-cod, itr-des = descrizione |
| T-GRID-DET | wgrid.cpy |
transito | File temporaneo di appoggio della griglia (t-gor-r-rec), creato/cancellato dal programma |
Copybook di supporto: wgrave, wnscr, wopenf, wstato, cogazien, wgrid, utilgdad, utilu10, utilu20, utils68, utilncnf, utilimppredf, utilgesdebug, utilagprg. Linkage: wcont, wcont1, utilf01.
Flusso principale¶
apri— inizializzazione (z-99-init-program,ctr-abil), lettura configurazionex99-confi, apertura debug (gesdebug-*),rd-azi,open-files. Decide la modalita'a-modalita: "S" (selezione, sef01-called = COGF01ef01-callervalorizzato) oppure "A" (aggiornamento). Attiva i tasti funzione e costruisce il menu contestuale della griglia (build-main-popup-grid-det).a4/a-leggi-dati— inizializza il transito, imposta l'ordinamento predefinito (per codice), carica l'eventuale filtro di default (z-imppredf-carica-default) e riempie il file di transito conz-grid-det-crea-transito.z-grid-det-crea-transito— scansione di COGTABEL (st-cogtabel-notmin+rdnxt-cogtabel) filtrata sueuta-tipo = 88; per ogni zona coneuta-codnon vuoto crea una riga di transito con codice, codice precedente (per gestire le cancellazioni), descrizione e codice host.a-grid— loop principale sulla griglia: accept, gestione eccezioni e tasti funzione (F1 configurazione, S-F4 GRIDADMN, S-F5 export Excel, Ctrl+A aggiungi riga, Ctrl+E elimina riga, Invio seleziona in modalita' "S", F3 alterna modalita'/salva).b-aggiorna— al salvataggio scandisce il file di transito: le righe con codice precedente valorizzato ma codice vuoto sono cancellazioni (del-cogtabel+ eventualedel-crminftr); le righe modificate (t-gor-r-riga-mod = "S") vengono scritte tramiteb-aggiorna-record.b-aggiorna-record— legge/crea il record COGTABEL (rd-cogtabel/wr-cogtabel), aggiornaeuta-zone-deseeuta-zone-codice-host, riscrive (rwr-cogtabel); se sono cambiati descrizione o codice host chiamax-sincronizza-kpn. Se CRM attivo, allineaCRMINFTR.fine/z-chiudi— chiusura file, chiusura e cancellazione del transito, chiusura debug, uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
| GRIDADMN | Gestore amministrazione griglia (prepara colonne, GRIDADMN admin da S-F4) |
| W$MENU | Attivazione menu pop-up contestuale (right-click) sulla griglia |
| SWN032 | Sincronizzazione della chiave zona verso host KPN (agprg-ope = "ESPORTA-KEY", agprg-key = euta-key) |
| RNEWCONF | Lettura configurazione (vedi sotto) |
Configurazioni (RNEWCONF)¶
Paragrafo x99-confi, pacchetto k-pack-coge:
| Gruppo | Chiave | Uso |
|---|---|---|
| ASS-CHIAM | INFO-CRM-ZONA | Numero informazione CRM (ipt-num) da cui ricavare la tabella CRM collegata alle zone; se 0 il raccordo CRM e' disattivato |
Note¶
- La tabella zone e' il tipo 88 di COGTABEL (
k-euta-tipo-zone), condivisa con altre gestioni generalizzate: la cancellazione agisce solo sui record coneuta-tipo = 88. - Il campo
t-gor-r-cod-precsul transito serve a distinguere righe nuove da righe esistenti e a individuare il record originale da cancellare; una riga con codice precedente presente non e' piu' modificabile nella cella codice (z-grid-det-cod-be-ep). - Il collegamento CRM (
CRMINFOR/CRMINFTR) e' attivo solo seaz-cli-pot = "S"e la chiaveINFO-CRM-ZONAe' valorizzata. - Controlli riga: codice obbligatorio e univoco (
x-controlla-tm-r-cod), descrizione obbligatoria (x-controlla-tm-r-des), codice host convertito in maiuscolo (x-controlla-tm-r-cod-host). - Non e' possibile inserire o cancellare righe con un filtro attivo sulla griglia.