Time Period Format Validation

From FMR Knowledge Base
Revision as of 00:58, 29 July 2022 by Glenn (talk | contribs) (Alternate Half-Year Format)
Jump to navigation Jump to search

The Registry will validate observation dates against an expected format. This Data Validator is called “Time Period Format” and enforces that format of the reported time periods match the expected value defined in the DSD. Note: This Data Validator is only applied if the Data Structure has a dimension called “FREQ”. This time formats are defined as follows:

Format Frequency Code Example Usage
Yearly A 2001
Half-Of-Year S 2001-S1
Third-Of-Year T 2001-T3
Quarter-Of-Year Q 2001-Q4
Month M 2001-12
Week W 2001-W52
Date D 2001-12-31
Hour H 2001-12-31T23
Date Time I 2001-12-31T23:59:59

Using 'H' for half-year (semiannual)

At ESCB level SDMX data exchanges, there is an agreement to use ‘H’ as the frequency value for semiannual observations with ‘YYYY-S1’ for TIME_PERIOD format.

The Registry supports this by setting 'alternate half year' mode under which:

  • Frequency value H means half-year (semiannual or semester)
  • The hourly frequency is not supported
  • 'YYYY-S1' is the TIME_PERIOD format for half-yearly observations

Start the Registry with Java System variable called “TF_ALTERNATE_HALF_YEAR” set to “true” to enable the alternate half-year mode.

The simplest way to perform this is by modifying the setenv.bat or setenv.sh file. To illustrate this:

 SET JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true
 (For Windows systems)
 export JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true
 (For Unix systems)

If this is provided correctly, this will be reported in the startup sequence of the Registry with a log entry like the following:

 2021-12-31 23:59:59.123 INFO main io.sdmx.core.fmr.application.FusionRegistryApplicationInitialiser - Using 'Alternate Half-Year' Setting

or alternatively by performing a GET request to the System Properties Web Service which is detailed here.