Vai al contenuto

Griglie Evolute - File WRK Generati

Files generati

Breve descrizione dei files generati dalla generazione di una maschera attraverso screens. Tali oggetti vengono tutti creati all'interno di una cartella denominata "SCREENS" che risiede all'interno della cartella CBL del pacchetto relativo.

'NOMEPRG'.WRK

Questo files va incluso direttamente nella working-storage section del programma. Contiene tutti i dati che possono essere creati automaticamente, in base ai dati compilati nella definizione della maschera e delle griglie incluse nella maschera.

TM-nomegrid-DATI

Gestione griglie modificabili. Gruppo di dati che contiene tutte le informazioni gestite da una griglia modificabile, più alcuni dati di controllo per la gestione della stessa. Vediamo un esempio che contiene tutte le casistiche di dato previste.

**---------------------------------------------------------------**
** Gruppi di dato specifici per grid-2
**---------------------------------------------------------------**
78 k-max-ele-grid-2 value 10.
01 tm-grid-2-dati.
   02 tm-grid-2-dati-pnt pic 9(08).
   02 tm-grid-2-dati-ele-sav.
      03 tm-2-fl-riga-mod-sav  pic x(01).
      03 tm-2-vf-sav           pic x(01).
      03 tm-2-pag-cod-sav      pic 9(02).
      03 tm-2-pag-des-sav      pic x(30).
      03 tm-2-check-sav        pic x(01).
      03 tm-2-vet-cod-sav      pic 9(05).
      03 tm-2-vet-des-sav      pic x(40).
      03 tm-2-mer-cm-sav       pic x(09).
      03 tm-2-mer-dm-sav       pic x(40).
      03 tm-2-cg-cod-sav       pic x(10).
      03 tm-2-cg-des-sav       pic x(40).
      03 tm-2-ora-sav          pic 9(04).
      03 tm-2-ca-cod-sav       pic x(10).
      03 tm-2-ca-des-sav       pic x(40).
      03 tm-2-gcv-sav          pic x(006).
      03 tm-2-gca-sav          pic x(001).

   02 tm-grid-2-dati-ele occurs 0 to k-max-ele-grid-2
      depending on tm-grid-2-dati-pnt.
      03 tm-2-fl-riga-mod      pic x(01).
      03 tm-2-vf               pic x(01).
      03 tm-2-pag-cod          pic 9(02).
      03 tm-2-pag-des          pic x(30).
      03 tm-2-check            pic x(01).
      03 tm-2-vet-cod          pic 9(05).
      03 tm-2-vet-des          pic x(40).
      03 tm-2-mer-cm.
         04 tm-2-mer-cm-gru    pic x(02).
         04 tm-2-mer-cm-sot    pic x(02).
         04 tm-2-mer-cm-cod    pic 9(05).
      03 tm-2-mer-dm           pic x(40).
      03 tm-2-cg-cod.
         04 tm-2-cg-mas        pic 9(02).
         04 tm-2-cg-con        pic 9(02).
         04 tm-2-cg-sot        pic 9(06).
      03 tm-2-cg-des           pic x(40).
      03 tm-2-ora              pic 9(04).
      03 tm-2-ca-cod.
         04 tm-2-ca-l1         pic 9(02).
         04 tm-2-ca-l2         pic 9(02).
         04 tm-2-ca-l3         pic 9(06).
      03 tm-2-ca-des           pic x(40).
      03 tm-2-gcv-dati.
         04 tm-2-gcv-vf        pic x(01).
         04 tm-2-gcv-pag-cod   pic x(01).
         04 tm-2-gcv-vet-cod   pic x(01).
         04 tm-2-gcv-mer       pic x(01).
         04 tm-2-gcv-cg-cod    pic x(01).
         04 tm-2-gcv-ca-cod    pic x(01).
      03 tm-2-gca-dati.
         04 tm-2-gca-ora       pic x(01).

Descrizione del contenuto:

K-MAX-ELE-nomegrid

**---------------------------------------------------------------**
** Gruppi di dato specifici per grid-2
**---------------------------------------------------------------**
78 k-max-ele-grid-2 value 10.

Costante che contiene il numero massimo di righe ammesse nella griglia e nella tabella.

TM-nomegrid-DATI-PNT

01 tm-grid-2-dati.
   02 tm-grid-2-dati-pnt pic 9(08).

Elemento che contiene il numero di righe attualmente contenuto nella tabella e nella griglia.

TM-nomegrid-DATI-ELE-SAV

02 tm-grid-2-dati-ele-sav.

Gruppo di dati che contiene una replica di tutti i dati presenti nel gruppo dati TM-nomegrid-DATI-ELE. Può essere utile come campo di comodo quando si devono spostare rapidamente righe intere in una posizione diversa della griglia (riordinamento griglia, spostamenti manuali, ecc.) Da non confondere con il gruppo dati "nomegrid-ROW-BACKUP".

TM-nomegrid-DATI-ELE

02 tm-grid-2-dati-ele occurs 0 to k-max-ele-grid-2
   depending on tm-grid-2-dati-pnt.

Gruppo di dati che contiene i singoli dati necessari alla gestione della griglia.

TM-prefisso-FL-RIGA-MOD

03 tm-2-fl-riga-mod pic x(01).

Dato elementare specifico di una riga griglia: verrà impostato a "S" quando si esegue una modifica sulla riga griglia. L'impostazione viene fatta automaticamente nei seguenti punti: - All'inizio della routine Z-nomegrid-FINISH-ENTRY - Nella routine Z-nomegrid-BEGIN-ENTRY sulle celle di tipo "a valori fissi" e "check" (per queste celle la finish-entry può non essere eseguita).

TM-prefisso-'colid'

03 tm-2-vf      pic x(01).
03 tm-2-pag-cod pic 9(02).
......

Dati elementari relativi a ciascuna colonna definita sulla griglia. Viene creato un elemento per ciascuna colonna che ha: - "Colid" significativo - "Picture dato" significativo

TM-prefisso-GCV-DATI

03 tm-2-gcv-dati.
   04 tm-2-gcv-vf      pic x(01).
   04 tm-2-gcv-pag-cod  pic x(01).
   ....

Questo gruppo di dati è contenuto nel gruppo dati principale TM-nomegrid-DATI-ELE, ed è destinato a contenere un dato elementare x(01) per ciascuna colonna che subisce una validazione dopo l'accept (quindi avrà una routine "X-CONTROLLA-prefisso-'col-id'" associata). Le colonne di questo tipo hanno la proprietà "Finish-entry" pari a "Custom". Questo campo conterrà "N" se la cella non è stata validata correttamente.

TM-prefisso-GCA-DATI

03 tm-2-gca-dati.
   04 tm-2-gca-ora pic x(01).
   ....

Questo gruppo di dati è contenuto nel gruppo dati principale TM-nomegrid-DATI-ELE, ed è destinato a contenere un dato elementare x(01) per ciascuna colonna che subisce una validazione prima dell'accept (quindi avrà una routine "Z-nomegrid-prefisso-'col-id'-BE-EP" associata, perchè l'accept della cella è condizionato da fattori esterni). Le colonne di questo tipo hanno la proprietà "Validazione" pari a "Custom". Questo campo conterrà "N" se non è possibile modificare la singola cella.

Nomegrid-ROW-BACKUP

01 grid-2-row-backup.
   02 grb-2-fl-riga-mod  pic x(01).
   02 grb-2-vf           pic x(01).
   02 grb-2-pag-cod      pic 9(02).
   .....

Contiene una copia di ciascun dato definito nella griglia. Ciascun dato ha il formato: GRB-prefissogrid-colid.

Come dice il nome del gruppo dati, prima di entrare in edit su una cella il contenuto della stessa viene salvato su questo campo, in modo da poter confrontare il valore prima/dopo ed eventualmente rimettere il valore originale.

NB: Quando si deve utilizzare GRB-prefissogrid-colid per eseguire determinate operazioni a seguito della modifica del valore della cella, è bene non agire all'interno del gruppo X-CONTROLLA-TM-prefissogrid-colid, ma prima della sezione di modifiche, all'interno di Z-EVENT-_nomegrid-_AFTER.

Ad esempio: In COGZD1, il codice merce di una prestazione eseguita può essere modificato se la prestazione è già eseguita. In tal caso appena dopo aver modificato il codice innesco la modifica immediata dei files interessati, se confermato. Quindi la routine viene costruita come segue:

z-event-grid-prest-after.
   if event-type = msg-finish-entry
      evaluate w-hid-data-col-id
      when 'qta'
         ....
      when 'merce'
         if tm-p-merce-cm (i-pr) <> grb-p-merce-cm
            string "Attenzione!! Prestazione gia' eseguita!"
               k-newline
               "Vuoi veramente modificare il codice prestazione?"
               delimited size into wb-msg
            perform acc-conf-custom
            if f3
               perform acc-conf
               if f3
                  ... aggiornamenti ...
               else
                  move grb-p-merce-cm to tm-p-merce-cm (i-pr)
                  move i-pr to k-rg
                  perform x-modify-riga-grid-prest
                  ... ritorno al valore precedente ...
               end-if
            else
               move grb-p-merce-cm to tm-p-merce-cm (i-pr)
               move i-pr to k-rg
               perform x-modify-riga-grid-prest
               ... ritorno al valore precedente ...
            end-if
         end-if
      end-evaluate
   end-if

In questo esempio la richiesta di conferma è doppia, ma il significato non cambia.


Estratto da documentazione interna ClickUp