CreatePeriod

CreatePeriod

Funkcia %CreatePeriod


Popis

Funkcia vytvorí periódu platnú pre celý nasledujúci podstrom výpočtu a vráti jej identifikátor. Perióda je definovaná pomocou začiatočného času (periodBT), od ktorého sa potom aplikuje daný počet (stepCount) základných krokov (stepBase). Ako základný krok je možné použiť jednu z konštánt pre definíciu periódy. V prípade, že krok je definovaný ako násobok sekúnd, pracuje sa vždy v monotónnom čase, inak
(násobok dní/mesiacov) sa pracuje v lokálnom čase. V prípade denných a mesačnýchperiód má význam ešte parameter timeZone, určujúci časové pásmo, kvôli správnej identifikácii hraníc dňa a prechodov medzi zimným a letným časom. 

Upozornenie: Nie je možné vytvoriť periódy so začiatkom v dni/čase, ktorý neexistuje v každom ďalšom krokom danom intervale - teda 29-31 deň mesiaca, ak každý ďalší mesiac nemá aspoň toľko dní, resp. v čase posunu zo zimného na letný čas. 

Deklarácia

INT %CreatePeriod( TIME _periodBT, INT _stepBase, INT _stepCount, [INT|TEXT _timeZone := %TIME_ZONE] )

Parametre

_periodBT

Začiatočný čas

_stepBase

Typ základného kroku 

_stepCount

Počet základných krokov

_timeZone

Identifikátor časovej zóny

Príklad

-- vytvorenie ročnej periódy so začiatkom 1.januára 00:00:00 INT _yearPeriod; _yearPeriod := %CreatePeriod(%BeginYear(%CurrTime), %StepBase_Month, 12);