Problem solve Get help with specific problems with your technologies, process and projects.

Query feature helps you produce reports faster

A little known feature in query on the iSeries allows you to define a field as the current date.

You Can View User Feedback To This Tip

Many of us use query every day for various reporting needs. We may want to report what orders were shipped, what products were produced or any type of daily activity that is important to our organization.

As part of query that IBM placed on the iSeries, you have a way to let the queries that you build decide what day it is. For example, we want to create a query the prints a report for all orders that shipped today. Once created, we want to place this query on the job scheduler at the end of the day so the report is waiting for us the next day.

Normally we create a query and use the "select records" screen to filter the date we are looking for. The problem is that if we are looking for what shipped today, we usually type the date out like "12/01/03". If we want to run this same query the next day, we need to change the query and enter "12/02/03" as the date.

A little known feature in query allows us to define a field as the current date. Once we have a working result filed, we can use that field in the select criteria. Look at the following example of defining a result field:

Field       Expression    
TODAY       current(date)

This example defined a field called "Today" and will place the value of the current date when the query is run. We can now use the field to perform our select statement. Look at the following Select records statement:

Field             Test   Value 
SHIPDATE          EQ     TODAY

Now all shipments that shipped on the day the query was run are selected.

This is an easy and simple way to produce the reports you need without a lot of work.

Along with assigning the value of the "current" date, you may also select the "current" Time, Timestamp and Time Zone.

About the author: John Kohan is a senior programmer analyst at CT Codeworks.


  • I was unaware of the 'current(date)' feature in Query/400, but doesn't this rely on your files' date fields being in the same format as Query is using? If your example works, then this must be true. For international software, I would expect dates to be in ISO or CCYYMMDD or CYYMMDD format, which would not equate to job date format for many countries. -- Allister Jenks
  • The tip about defining a current date in query has some shortfalls. You can't display the data in the field either on a report or in a file. Our dates are YYYYMMDD, and this doesn't jibe with the defined date. -- Jon Zurwell


  • Enhance reports with highlighted or underlined text
    Have you ever wanted to highlight or underline a field in a report? You can use a print file (PRTF), then the HIGHLIGHT keyword to take care of it easily.
  • Speed up a report in RPG IV
    One user was trying to speed up a report in RPG IV. The report was taking him 1.5 hours to run. His question: If he changes the key fields on the logical file, does he need to change anything in the RPGLE or PF? Site expert John Brandt helps him out.
  • Change report info without running the program again
    Has there ever been a time when you wished you could change information on a report without having to run the program again? Well, wish no more! By following these seven steps, you can have that report changed in minutes.

Dig Deeper on iSeries CL programming

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.