( dbType : Byte;
Index : Word;
Value ;
DateFrom : Date;
DateTo : Date;
DateCre : Date;
ZamIdent : LongInt[;
ExData : String[200] ])
Procedura plní historickou tabulku tak, že od datumu DateFrom do DateTo ukládá hodnotu Value tak, aby nedošlo ke zničení předchozích informací a přesto systém následně počítal s novými hodnotami. Použijete-li DateTo nulový, půjde historie do nekonečna.
| dbType | číslo databáze (dbtO, dbtP) |
| Index | index historické položky |
| Value | nová hodnota položky |
| DateFrom | datum, od kterého změna platí |
| DateCre | datum, do kterého změna platí |
| DCreate | datum zadání nové hodnoty |
| ZamIdent | ident zaměstnance |
| ExData | Nepovinná extra data, která jsou 'přilepena' k historické položce. Tato data jsou zobrazena v seznamu historických položek až k oddělovači pipeline '|' a jestliže tento neexistuje, zobrazí se text celý. |
Podívejte se na: Historie
Příklad:
Předpokládejme následující rozmístění vět v historické databázi pro určité oddělení, položku (Celé číslo) a zaměstnance:
Poznámka:
| 3/5 | 4/5 | 5/5 | 5/6 | 7/6 |
| 1 | 2 | 0 | 3 | 0 |
Po použití procedury (změna od začátku měsíce 4 do konce měsíce 7 z měsíce 7 na hodnotu 4):
HstFill(dbt, Idx, 4, _Date(1,4,Rok), _Date(1,8,Rok), _Date(1,7,Rok), Id)
se historie změní na:
| 3/5 | 4/5 | 4/7 | 5/5 | 5/6 | 5/7 | 7/6 | 7/7 | 8/7 |
| 1 | 2 | 4 | 0 | 3 | 4 | 0 | 4 | 2 |
Je-li požadavek na nekonečné trvání, použijte DateTo nulový. Pak bude předchozí příklad vypadat:
HstFill(dbt, Idx, 4, _Date(1,4,Rok), _Date(0,0,0), _Date(1,7,Rok), Id)
| 3/5 | 4/5 | 4/7 | 5/5 | 5/6 | 5/7 | 7/6 | 7/7 |
| 1 | 2 | 4 | 0 | 3 | 4 | 0 | 4 |
Příklad:
| 1/1 |
| 1 |
Po použití procedury (změna od začátku měsíce 3 do konce měsíce 3 z měsíce 3 na hodnotu 4):
HstFill(dbt, Idx, 4, _Date(1,3,Rok), _Date(1,4,Rok), _Date(1,3,Rok), Id)
se historie změní na:
| 1/1 | 3/3 | 4/3 |
| 1 | 4 | 1 |
Příklad:
Příklad:
Výchozí stav historie:
| Platí od | Založeno | Hodnota |
| 01.05.2007 | 01.05.2007 | 10 |
| 01.06.2007 | 01.06.2007 | 20 |
| 10.06.2007 | 01.06.2007 | 30 |
HstFill(dbt, Idx, 50, _Date(1,6,2007), _Date(11,6,2007), _Date(1,6,2007), Id)
Nový stav historie:
Hodnoty v 01.06. a 10.06. jsou přepsány novou hodnotou 50. V 11.06. pokračuje hodnota DO 01.06. tedy 10.
| Platí od | Založeno | Hodnota |
| 01.05.2007 | 01.05.2007 | 10 |
| 01.06.2007 | 01.06.2007 | 50 |
| 10.06.2007 | 01.06.2007 | 50 |
| 11.06.2007 | 01.06.2007 | 10 |
HstFill(dbt, Idx, 60, _Date(5,6,2007), _Date(11,6,2007), _Date(1,6,2007), Id)
Nový stav historie:
Doplněna věta 05.06. s hodnotou 60. Přepsána hodnota v 10.06 na 60. Hodnota v 11.06. je nezměněna, protože tam již věta existovala a proto ji nebylo možno změnit!
Jestliže by věta 11.06. předtím neexistovala, byla by vložena hodnota DO 05.06. tedy 50.
| Platí od | Založeno | Hodnota |
| 01.05.2007 | 01.05.2007 | 10 |
| 01.06.2007 | 01.06.2007 | 50 |
| 05.06.2007 | 01.06.2007 | 60 |
| 10.06.2007 | 01.06.2007 | 60 |
| 11.06.2007 | 01.06.2007 | 10 |