Attól függően, hogy PROGEN adminisztrátorként, vagy nem adminisztratív jogokkal rendelkező felhasználóként lépünk a sERPában eltérő mezőket találunk a funkcióban.
PROGEN adminisztrátorként a felhasználóként megjelenő mezőkön felül:
Megjelenítés (I/N) Ami azt jelenti, hogy a felhasználói jogokkal belépő számára egyáltalán megjelenik-e a maszk funkcióban a szóban forgó maszk azonosítóval, mindennel együtt. A maszk felvételekor alapértelmezése N.
Csak maszk módosítás (I/N) Ami azt jelenti, hogy a felhasználó számára a maszk kódja és neve megváltoztathatatlanul jelenik meg a maszk funkcióban és csak magának a maszk mezőnek a módosítására van lehetősége. Javasolt az összes maszkra beállítani ezt a lehetőséget, mert a programban egy konkrét maszk kódjának a megváltoztatása automatikusan nem vezetődik át, azaz különben a felhasználó nem leprogramozott maszkkódokat adhatna meg!
Userként:
Név,
Azonosító,
Maszk.
A maszk változtatása a változtatást végző kliens gépen a programból történő kilépés és újraindítás után lép életbe.
A maszkban használható jelölések az alábbiak:
Maszk definíció:
Szám jellegű mezőkre:
Mask = [.]Integers[,[0|-]Decimals][%][(AB)][,Min[,Max]]
Mask = @MaskName[,Min[,Max]] (Ha @-os maszkot használunk, akkor az adatbázisban a Min/Max nem számít.)
- '.' : Ezredes pont használata. (Az ezredes pontot a Control Panelből veszi.)
- Integers : Egész jegyek száma.
- ',2' : 123 -> '123'; 123,4 -> '123,4'
Jelentése: A tizedesvessző után maximum két karaktert lehet megadni. Lehet kettőnél kevesebb is!
- ',-2' : 123 -> '123,-'; 123,4 -> '123,40'
Pénz jellegű megadás, azaz, ha nincs tizedesjegy utáni értéke a számnak (fillér) , akkor kiírja az egészrész (forint) után a ',-' -jeleket. Amennyiben van, akkor azt annyi jegyre alakítja, ahány a szintaxisban meg van adva (a példában 2) úgy, hogy a végére írja a megfelelő számú 0-t.
- ',02' : 123 -> '123,00'; 123,4 -> '123,40'
Jelentése: A tizedesvessző után két karaktert kell megadni. Kettőnél kevesebb megadása esetén annyi 0-val tölti fel, ahánnyal kitöltődik annyi karakter, amennyit megadtunk a maszkban a 0 után.
- Decimals : Tizedes jegyek száma.
- '%' : Százalék bevitel.
- '‰' : Ezrelék bevitel.
- '(AB)' : Negatív szám után A, pozitív után B.
- Min : Minimális érték.
- Max : Maximális érték.
- '@' : Az adatbázisban definialt MaskName nevű maszkot kell használni.
- ':' : Óra:Perc beírást átalakít tizedesszámmá. (időtartam maszkon működik: "3,2:" maszk esetén, ha pl. beírunk egy így maszkolt mezőbe ":30"-at, azaz szándékoltan 30 percet, akkor a program átváltja 0,5 órára.)
Példa:
9Min5 karaktersor jelentése: kilenc karakter hosszú egész szám, amely nem lehet 5-nél kisebb.
.10,03 karaktersor jelentése a kiírt szám 10 jegyen kerül megjelenítésre úgy, hogy a tizedes vessző utáni rész kiegészítésre kerül nullákkal (A 10 egész így fog megjelenni: 10,000 )
Szöveg jellegű mezőkre (szám is lehet):
Mask = [F|H]Mask[A|B|N|J|9|[a,b,c]|Character]
Mask = @MaskName
- 'A' : Tetszőleges karakter.
- 'B' : Tetszőleges karakter, értékadásnál szövegbeli szóközöket levágja.
- 'N' : Tetszőleges nagy betű.
- 'J' : A szöveg végén levő számot balról 0-val egészíti ki.
- '9' : Tetszőleges szám.
- 'F' : A szöveg fordítása. (A fordítás nyelve a lista párbeszédablakán megadott 'Feliratnyelv' lesz. A vezérlőkaraktert a listaszerkesztőben az adatbázisból kapott - tárolt eljárás által visszaadott, nem label - mezők tulajdonságaiban a 'Formátum'-ra kell beírni! A fordítás szövegét a kliensgépen pl a C:\ Program Files\ ProgEn\ sERPA könyvtárbeli trans02.txt, trans03.txt, ... fájlok tartalmazzák!)
- 'H' : A szöveg fordítás utána írása. (A magyar szöveg után ' / '-jel, majd a fordítás kerül kiírásra. Szintén a listaszerkesztőben kell beállítani. mint a 'Szöveg fordítása' vezérlőkaraktert.)
- 'T' : Megjegyzés mezőkbe beírt "Enter"-ek (SorTörések) listákon történő megjelenítéséhez használható. Ha meg van adva a maszkban, akkor megjelennek a sortörések, ha nincs megadva, akkor nem jelennek meg.
- '[a,b,c]' : a, b vagy c karakter.
- Character : Tetszőleges karakter. Ez fixen benne lesz a megjelenített sztringben de az adatban nem.
- '@' : Az adatbázisban definiált MaskName nevű maszkot kell használni.
- 'n' : Tetszőleges kis betű.
- '[a..f]' : a-tól f-ig bármely karakter.
- 'A{szám}' : Jelenti: Tetszőleges karakterből (lásd fent) 'szám' (lásd kapcsos zárójelben lévő szám) darabot kell megadni.
Példák:
Maszk='JJJ', gépelés='1', eredmény='001'
Maszk='AAAAAJJJJJ', gépelés='abcde12', eredmény='abcde00012'
Maszk='AAAAAJJJJJ', gépelés='ab12', eredmény='ab12000000'
Dátum jellegű mezőkre:
Mask = DateMask[,-d|,-m]
DateMask = DateMask[Character [ÉÉ | ÉÉÉÉ | HH | NN ] ]
DateMask = @MaskName
- 'ÉÉ' : Két számjegyű évszám.
- 'ÉÉÉÉ' : Négy számjegyű évszám.
- 'HH' : Hónap sorszám.
- 'NN' : Nap sorszáma.
- '-d' : Napot nem kell megjeleníteni.
- '-m' : Hónapot és napot nem kell megjeleníteni.
- '@' : Az adatbázisban definiált MaskName nevű maszkot kell használni.
Idő jellegű mezőkre:
Mask = TimeMask
TimeMask = [ÓÓ|[.]ÓÓÓ..Ón][PP[MM]]
TimeMask = @MaskName
- 'ÓÓ' : Két számjegyű óra; fixen két számjeggyel jeleníti meg, balról 0-kkal tölti fel
- 'ÓÓÓ' : Három vagy több számjegyű óra (ha több Ó betű szerepel); 0-kat nem jelenít eg a szám elején
- '.' : Ezreselválasztóval tagolja az óra értékét; Az ezreselválasztót a Control Panelbol veszi
- 'PP' : Perc; ha szerepel, fixen két számjeggyel jeleníti meg, balról 0-kkal tölti fel
- 'MM' : Másodperc; ha szerepel, fixen két számjeggyel jeleníti meg, balról 0-kkal tölti fel
- '@' : Az adatbázisban defíniált MaskName nevű maskot kell használni