Do tabulky lze ukládat libovolné hodnoty příslušné danému období a případně i danému zaměstnanci. Vhodným filtrováním lze pak hodnoty pro potřebné období získat zpět. V makrojazyku se ke větě, která je nahrána v paměti přistupuje pomocí klíčového slova UNI.
| Čís | Název položky | Typ položky | Sloupec | Makro | Idx |
|---|---|---|---|---|---|
| 1 | Ident | Longint | IDENT | dbIdent | * |
| 2 | Attr | Word | XATTR | dbAttr | |
| 3 | Typ řádky | Longint | XTYPE | uniTyp | * |
| 4 | Typ hodnoty | Longint | XVTYPE | uniVTyp | |
| 5 | Období | Longint | XPERIOD | uniObdobi | * |
| 6 | Ident zaměstnance | Longint | XMAN_ID | uniPrac | |
| 7 | Hodnota 1 | Longint | XVAL_L1 | uniValL1 | |
| 8 | Hodnota 2 | Longint | XVAL_L2 | uniValL2 | |
| 9 | Hodnota 3 | Real | XVAL_R1 | uniValR1 | |
| 10 | Hodnota 4 | Real | XVAL_R2 | uniValR2 |
Příklad:
dim ActPeriod : Longint;
ActPeriod := _Shl(_SysYear,16) lor _ActMonth;
StepIdx(dbtUNI, uniTyp);
{#IFDEF WINDOWS}
_SetFilter(dbtUNI, _MakeFilter(dbtUNI, uniObdobi, filterEqual, ActPeriod + " AND " +
_MakeFilter(dbtUNI, uniPrac, filterEqual, O[dbIdent]) + " AND " +
_MakeFilter(dbtUNI, uniTyp, filterEqual, cUNI_DB_TYPE_DNP) + " AND " +
_MakeFilter(dbtUNI, dbIdent, filterBiggerEqual, 0));
if _StartDB(dbtUNI) then
{#ELSEDEF}
if _FindRec(dbtUNI, uniTyp, _LiToKey(ActPeriod) +
_LiToKey(O[dbIdent]) +
_LiToKey(cUNI_DB_TYPE_DNP)) then
{#ENDDEF}
repeat
. . .
{#IFDEF WINDOWS}
until (_StepRec(dbtUNI, 1)= false);
{#ELSEDEF}
until (_StepRec(dbtUNI, 1) = false) or
(UNI[uniObdobi] <> ActPeriod) or
(UNI[uniPrac] <> O[dbIdent]) or
(UNI[uniTyp] <> cUNI_DB_TYPE_DNP);
{#ENDDEF}
endif