Skip to main content

Module generators

Module generators 

Source
Expand description

Deterministic ID generators for German energy market identifiers.

Each generator takes a seed: u64 and produces a valid identifier of the appropriate format. Same seed always produces the same output.

Functions§

compute_ymd
Compute (year, month, day) from 2024-01-01 + day_offset days.
days_per_month
Days per month for the given year (January = index 0).
generate_date_edifact102
Generate a date in CCYYMMDD format (EDIFACT 102).
generate_date_edifact303
Generate a date in CCYYMMDDHHMMSS+00 format (EDIFACT 303).
generate_date_ymd
Generate a date in YYYY-MM-DD format (HTML5 date input format).
generate_datum
Generate an interchange datum in YYMMDD format (used in UNB segment).
generate_gln
Generate a Global Location Number (GLN): 13 digits with valid GS1 check digit.
generate_malo_id
Generate a Marktlokation ID: 11 digits, last digit is a Luhn check digit.
generate_melo_id
Generate a Messlokation ID: “DE” + 31 digits = 33 chars total.
generate_nelo_id
Generate a Netzlokation ID: “E” + 10 digits = 11 chars.
generate_reference_id
Generate an alphanumeric business reference ID safe for EDIFACT.
generate_steuress_id
Generate a Steuerbare Ressource ID: “C” + 10 digits = 11 chars.
generate_techress_id
Generate a Technische Ressource ID: “D” + 10 digits = 11 chars.
generate_zeit
Generate an interchange time in HHMM format (used in UNB segment).
is_leap_year
Return true if year is a leap year.