Tabulka praxí PRACTICE a PRACTICE_DET se používá k uložení vět s údaji o předchozích zaměstnání zaměstnance. V makrojazyku se k těmto větám přistupuje pomocí SQL příkazů a mělo by se jednat především o čtení. Zápis zajistí program v makro dialogu _DiaPractice.
| Název položky | Typ položky | Sloupec | 
|---|---|---|
| Ident | Longint | IDENT | 
| Ident zaměstnance - spojení se zaměstnancem 1:1. | Longint | XMANID | 
| Oprava ve formátu R.DDD | Real | XOPRAVA | 
| Oprava je zadána ručně | Byte | XOPRAVARUCNE | 
| Datum zápočtu pevně zadaných prací - má význam, je-li ručně | Date | XCZAPOCETDATUM | 
| Zápočet R.DDD pevně zadaných prací - má význam, je-li ručně | Real | XCZAPOCET | 
| Datum a zápočet pevně zadaných prací je zadán ručně | Byte | XCZAPOCETRUCNE | 
| Název položky | Typ položky | Sloupec | 
|---|---|---|
| Ident z tabulky PRACTICE - spojení 1:N | Longint | XPRAXEID | 
| Datum práce OD | Date | XDTOD | 
| Datum práce DO | Date | XDTDO | 
| Název firmy | String[100] | XFIRMA | 
| Název - popis zaměstnání | String[200] | XPOPISPRACE | 
| Trvání práce ve formátu R.DDD | Real | XPRAXE | 
| 
                         Procento zápočtu - výčet: 
  | 
					Integer | XPROCZAP | 
| Zápočet práce ve formátu R.DDD | Real | XZAPOCET | 
| Jestliže XPROCZAP = PRACT_KRAC_RUCNE, je zde čitatel (X) | Integer | XZAPCIT | 
| Jestliže XPROCZAP = PRACT_KRAC_RUCNE, je zde jmenovatel (Y) | Integer | XZAPJME | 
procedure ZjistiOpravuPraxe
    dim db      : Longint;
    dim set     : Longint;
    dim Oprava  : Real;
    dim Rucne   : Byte;
    SQLDBOpen(db, #0, #2, #0); 
    SQLOpen(db, set);
    SQLBind(set, "XOPRAVA", SQL_DOUBLE, Oprava);
    SQLBind(set, "XOPRAVARUCNE", SQL_INTEGER, Rucne);
    SQLSelect(set, "PRACTICE", "XMANID=" + _Str(O[dbIdent]), "");
    if _SQLFirst(set) then
        Trace("Oprava=", Oprava:6:3, ", Rucne=", Rucne);
    endif
    SQLClose(set);
    SQLDBClose(db);
endproc { ZjistiOpravuPraxe }