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