Chris21 dynamic dates is a feature of the system that is often underutilised by users. When navigating through the Chris21 interface you will often find yourself entering dates to update specific information. You have the usual options, such as using the calendar to select the date or by entering the date manually. Or you can take advantage of dynamic date calculations.

Using Chris21 dynamic dates, you can enter a time offset and the system will then calculate the date based on your offset. For example, if you want to enter the date one year from now you would enter the expression =T+1Y. When you save the record the date one year from now will be saved.

Terms and Expressions used in dynamic dates

Let’s breakdown the expression used in the example above, =T+1Y. You must use the = sign at the beginning of all dynamic date expressions. This tells the system that a calculation is required. The T signifies today’s date and the +1Y tells the system to add one year onto today’s date. To use this example in Chris21, enter a date for the return of an item on the Issues (ISS) form:

Chris21 dynamic dates

Enter the dynamic date expression in the Date of Return field. Note that in this example Today’s date is 5/07/2018. The date will not be calculated until you save the record. After saving you will notice that the date 5/07/2019 has been calculated, as expected:

Chris21 dynamic dates

You can also base your calculations on the employee’s Joined Date by using J in the expression. This can be very useful if future dates are to be based on the anniversary of the Joined Date.

The following are some valid terms that you can use in date calculations:

term description
D Use this to add or subtract the specified number of days to a date
M Use this to add or subtract the specified number of months to a date
W Use this to add or subtract the specified number of weeks to a date
Y Use this to add or subtract the specified number of years to a date
L Use this to insert the last date that you entered
T Use this to insert today’s date
J Use this to insert the employee joined date


Assume Today is 10/05/2017
You can use an expression in a date field in the following ways:

Assume Joined Date is 23/10/2012

Expression Description Result
=T+5D Today plus 5 days 15/05/2017
=T+5 Today plus 5 days (blank defaults to days 15/05/2017
T+2 Invalid Must include =
=T+5D+2D Today plus 5 days plus 2 days (total 7 days) 17/05/2017
=T+ Tomorrow 11/05/2017
=T- Yesterday 9/05/2017
=T-10D Today minus 10 days 30/04/2017
=J+1Y Date Joined plus 1 year 23/10/2013
=J+5Y-1W Date joined plus 5 years minus 1 week 16/10/2017
=J+5Y-1 Date joined plus 5 years minus 1 day (blank defaults to days) 22/10/2017
=J+5Y-1WD Date joined plus 5 years minus 1 week minus 1 day 15/10/2017

Using Chris21 dynamic dates in report selections

The previous example described how to use Chris21 dynamic dates when entering data into the system but did you know you can also use them in your report selections? For instance, to create a report that returns data based on a future date. A good example is a report to show all positions that have an end date within the next month. This could be useful to highlight when contracts are due for renewal. The selection criteria for this report is shown below:

Chris21 dynamic dates

This type of report is most useful if you want to schedule it to run on a regular basis, always showing positions that will end within one month of the date the report is run. To schedule reports that run based on a dynamic date, you will need to set up the report to run from a form, rather than directly from the report designer.

The reason for this is that the report designer will set the actual date in the selection fields once you save the report. If you were to go back to the report in the Report Designer, you will have to manually change the selection criteria to start at today’s date. If you set the report up to run from a form on the menu then you are saving the selection options from a Chris21 form rather than directly from the Report Designer. In this way, the date calculations will be maintained.

When you schedule your report, you have several options. In the screenshot below you can see that this report:

  • is scheduled to run every day at 8.15AM
  • is saved to the Report Output window
  • is saved as an XML file to the Report Output window (Files tab)
  • defines a location on disk to save the file, setup on the File Locations (FLC) form.

Chris21 dynamic dates

When you look at the scheduled report on the Scheduled Reports (SRP) form, you will see how the dynamic dates are maintained:

Chris21 dynamic dates

This ensures that the report is always run with the current date selected. That is, the next run date is 5/07/2018. When the report runs it will use Position End Greater than 5/07/2018 AND Position End Less than 5/08/2018. You will not need to manually change the dates.

For more detailed information about creating reports to run via forms on your menu, please see the following blogs: How to Schedule Reports in Chris21 and How to Add Chris21 Reports to a Menu.

When creating reports in Chris21, keep in mind that you have the added functionality of Chris21 dynamic dates calculations available to you. As you can see, this feature can be used with the Chris21 report scheduling functionality to create very useful reports that will run without any user intervention.

How are you using Chris21 dynamic dates in your reports? Share your insights with us in the comments.