Z-nomegrid-COMPONI-ORD

Navigation:  Documentazione SCREENS > Files generati > 'NOMEPRG'.PRC > Gestione griglie modo "A" >

Z-nomegrid-COMPONI-ORD

Previous pageReturn to chapter overviewNext page

In funzione delle colonne attualmente selezionate, questa routine compone una stringa che contiene l'ordinamento corrente

 

Esempio della chiamata alla routine

 

Questa routine viene richiamata da alcune procedure automatiche. Le routine automatiche sono:

Z-nomegrid-ORD-AGGIUNGI

 

Viene anche richiamata manualmente quando si deve impostare un ordinamento manuale (le colonne sono selezionate da un default o da una configurazione, ad esempio:

 

      a4.

          initialize tab-maschera

 

     * Questo andrebbe messo in una perform preparatoria

          move "S"                     to w-grid-det-ord-reset

 

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

     * Imposto l'ordinamento predefinito (in questo caso e' fisso,

     * potrebbe dipendere da una configurazione)

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

          move 1                       to gor-r-pnt

          move gcn-r-dato-3            to gor-r-col (1)

          move "A"                     to gor-r-ord-tipo (1)

          perform z-grid-det-componi-ord

          perform z-grid-det-mostra-ord

 

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

     * All'inizio del programma carico l'eventuale filtro di default

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

          perform z-imppredf-carica-default

 

          perform x-imposta-conferma

          display s-mm-1

      ......

 

 

 

Esempio della routine

 

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

     * Compongo la stringa che contiene l'ordinamento  corrente

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

      z-grid-det-componi-ord.

     * Resetto il colore dell'intestazione

     * Rimuovo anche il riferimento all'ordinamento '(x)'

          move 0 to gor-r-co-k

          perform with test after until gor-r-co-int = ' '

             add 1 to gor-r-co-k

             modify e-grid-det (1, gor-r-co-k), cell-color = 0

             inquire e-grid-det (1, gor-r-co-k),

                cell-data in gor-r-co-int

             inspect gor-r-co-int replacing all '(D)' by '   '

             inspect gor-r-co-int replacing all '(A)' by '   '

             modify e-grid-det (1, gor-r-co-k),

                cell-data = gor-r-co-int

          end-perform

 

          move ' ' to w-grid-det-descrizione-ord

          move 0   to gor-r-co-k

          perform gor-r-pnt times

             add 1 to gor-r-co-k

             move gor-r-col (gor-r-co-k) to gor-r-co-r

             inquire e-grid-det (1, gor-r-co-r),

                cell-data in gor-r-co-int

 

                string gor-r-co-int delimited '  '

                   '(' gor-r-ord-tipo (gor-r-co-k) ')'

                   delimited size

                   into gor-r-co-int

 

             if gor-r-co-k = 1

                string gor-r-co-int delimited '  '

                   '#' delimited size

                   into w-grid-det-descrizione-ord

               else

                string w-grid-det-descrizione-ord delimited '#'

                   ',' gor-r-co-int delimited '  '

                   '#' delimited size

                   into w-grid-det-descrizione-ord

             end-if

 

             modify e-grid-det (1, gor-r-co-r),

                cell-color = ext-color-int-grid-ord,

                cell-data = gor-r-co-int

          end-perform

          inspect w-grid-det-descrizione-ord replacing all '#' by ' '

          .