Please enable JavaScript to view this site.

 

Navigation: Appendices > Q++Studio > Debugging > Logs > Diagnostic Logs

Holiday and One-Time-Dates - qpp_TempHolidays.txt

Scroll Prev Up Next More

qpp_TempHolidays.txt lists the records in the recurring holidays and one-time-dates temporary table prepared for diary generation.

 

Use it first when a holiday name, symbol, condition, or school-vacation shade is missing: are the required dates actually available in the relevant holidays set?

 

This file describes available records, not a list of everything that was printed. It can contain several sets and years outside the dates used by the current diary. A row can also be available to one part of the script without being selected by the DiaryGridLine under investigation.

 

Reading Dates and Identifiers

 

Date contains a Q++Studio integer date: day 0 is 30 December 1899. Add the stored number of days to that date to obtain the calendar date. For example, 45658 is 1 January 2025. Retain both the integer and an ISO date such as 2025-01-01 in a diagnostic report. See Dates as Integers.

 

Country_ID is the internal holidays-set ID. It is not an ISO country code and does not identify the a, e, i, o, or u selection by itself. Resolve the letter-to-set mapping from aeiou-Holidays and any Holidays override for the affected script line. A single country can have several public-holiday, school-vacation, or other sets.

 

Columns

 

Column

Interpretation

Date

Stored integer date of the occurrence.

Country_ID

Internal ID of the holidays set containing the occurrence.

Holiday_ID

ID of the recurring rule or one-time-date record; interpret together with OneTimeDate.

OneTimeDate

0 for a generated recurring-rule record; 1 for a one-time-date copied into this table. Special year-marker rows also use 0.

HolidayName

Prepared holiday name, which may include text or tokens needing later processing. Do not assume the value is the final printed string.

AutoBytes

Stored automatic holiday-symbol text. Preserve the characters exactly; it is not the binary 0x representation.

Verified

Stored verification flag. False alone does not establish that the date is incorrect or unavailable.

ShowFerie

Stored holiday flag. Its effect depends on the token or condition being evaluated; it is not a universal “this row prints” switch.

Observance

Internal numeric observance value. Do not decode it from its magnitude or from a guessed enumeration.

ObservanceText

Textual observance qualifiers, when present, such as Regional or Banks. Keep distinct from the numeric Observance field.

Formatting

Stored formatting instructions associated with the occurrence, if present.

GraphicsPath

Stored graphics filename/path, if present. It does not prove that the image exists or was placed.

Abreviation

Stored abbreviation. The column name is spelled Abreviation in the export.

ImageAlign

Stored image-alignment code. Interpret with the applicable implementation/reference, not by guessing.

AutoBytesVersion

Internal symbol-version field; may be NULL. Preserve it when sharing a record.

Priority

Stored priority value used by holiday processing. The export alone does not define sorting or suppression rules.

HolDuration

Stored duration in days for the holiday record. Do not expand records into new dates without checking the rule/token semantics.

NoSite

Site identifier, stored as text; preserve leading zeroes, for example "001".

 

Generation markers are not holiday occurrences

 

The table can contain rows with Country_ID=0, Holiday_ID=0, and a name such as “Marker that the year 2025 was generated”. These are bookkeeping records. Exclude them when counting actual holiday occurrences or testing whether a selected set has dates in a year.

 

The simple-run example contains 3,661 data rows, including seven year markers and 3,654 holiday records. Its header says Records: 0, while its footer correctly records 3,661 rows. The complex-run example similarly has 3,600 rows and a matching footer, despite a zero header count. These discrepancies must not be mistaken for missing holiday data.

 

Diagnosing Missing School-Vacation Shading

 

1. Identify the date actually tested by the token or special case, including date offsets, and the effective set IDs for that DiaryGridLine. Do not search only for a vacation name across the whole table.

 

2. Filter actual holiday rows by NoSite, Country_ID, and the relevant date or period. Inspect individual dates: a minimum and maximum date spanning a year do not establish continuous coverage.

 

3. If no qualifying rows exist, the export supports the conclusion that the required dates were absent from the temporary data for this run. Check the selected set and its calculated or one-time-dates in Q++Studio. This finding does not by itself establish that the source database lacks the dates, or that another set would be appropriate.

 

4. If qualifying rows exist, follow the script’s holiday conditions, observance selections, date mapping, and formatting instructions. Continue with qpplog.txt to see which instructions reached the DTP plugin.

 

Worked Example: Dates End Before the Diary Year

 

In the simple-run export, set 20366 has 222 records and its latest date is 31 August 2026. It has no rows in 2028. If a DiaryGridLine evaluating a 2028 date were confirmed to use this set, these records would not supply a 2028 occurrence. The file alone does not identify the set’s display name or prove that the script selected it.

 

Other sets in the same file have different coverage. For example, set 10044 has 451 records with dates between 23 February 2025 and 31 August 2028. Do not transfer the coverage of one set to another, or assume that this span means every intervening day is a holiday.

 

What to Give an AI Assistant

 

Provide the complete export, the relevant script line/XML, the effective aeiou set selections, and one failing date. Ask for a per-set count and date-range summary, followed by the exact matching or missing dates. A complete export is needed to substantiate absence; a few selected rows can establish only presence.

 

For a school-vacation issue, ask the assistant to answer “Are there dates to display?” before proposing changes to colors, drawing order, or shading dimensions. Diagnostic-files overview explains the common file format and evidence checks.

 


Topic 189915, last updated on 22-Oct-2026