Validazione generica griglia

Navigation:  Procedure Interne > Generale/servizio > Gestione griglie > Proprietà griglia (Gridsist) > Definizione colonne griglia > Proprietà "Validazione" > Validazione "C" >

Validazione generica griglia

Previous pageReturn to chapter overviewNext page

Quando almeno una colonna nella griglia assume la validazione "C", il sistema richiederà l' esecuzione di una routine di validazione generica per tutte le colonne della griglia.

 

Questa perform avrà il seguente nome:

Z-nomegrid--BE-EP.

 

Come usarla?

 

Anche se non necessaria, va comunque creata: la si può eventualmente lasciare vuota.

 

Altrimenti, si può usare per evitare la modifica di righe che per condizioni particolari sono totalmente non modificabili.

 

Esempio 1

Nel programma COGZD1, la griglia "grid-fasi" contiene l'elenco delle fasi da eseguire su una commessa. Se tali fasi sono già eseguite non sono più modificabili. Nel programma esiste una variabile chiamata TM-PRIMA-LIBERA che contiene l'indice della prima riga modificabile. Di conseguenza la routine generale di accesso alla modifica riga sarà:

 

     *----------------------------------------------------------------**

     * BEGIN-ENTRY: Qui decido se la riga corrente e' modificabile

     *----------------------------------------------------------------**

      z-grid-fasi-be-ep.

          if k-be < tm-prima-libera

             move "Modifiche non permesse su questa riga" to wb-msg

             perform vbx-msg-error

             move "N"                  to w-cell-accept-ok

          end-if

          .

Attenzione!!!

Come si può osservare nell'esempio, la routine fa riferimento alla riga corrente della griglia usando l'indice K-BE, e non l'indice specifico della griglia.

 

Per il momento non cambio il colore di queste righe, poichè generalmente tali righe vengono evidenziate usando l'apposita proprietà della griglia "Colore righe griglie", vedi Proprietà specifiche griglia.

 

Esempio 2

Nel programma COGE29, la griglia "grid-det" contiene l'elenco delle condizioni di sconto per un cliente.

Per gestire la cancellazione di una riga viene impostato "C" nel campo TM-R-FL-AGG relativo alla riga stessa. In questo caso i campi non sono modificabili.

 

     *---------------------------------------------------------------

     * Gestione eventi speciali sulla griglia GRID-DET

     *---------------------------------------------------------------

      z-grid-det-be-ep.

          evaluate event-type

     *---------------------------------------------------------------

     * Il right-click attiva il menu pop-up

     *---------------------------------------------------------------

           when msg-grid-rbutton-down

             call "W$MENU"          using wmenu-popup,

                                          grid-det-menu-handle

                                   giving myResult

          end-evaluate

     * Validazione generale riga

          if tm-r-fl-agg (k-be) = "C"

             move "N"                  to w-cell-accept-ok

          end-if

          .

 

In questo esempio, questa routine viene usata anche per la gestione del menu contestuale sulla griglia (è per la modalità di gestione evoluta della griglia)