spacer Generic Logo
About UsCurrent ArticleArchive

spacer

How Progress Stores Dates:

Basically Progress has been able to recognize and process dates anywhere from 1/1/32768 B.C.E. through 12/31/32767 C.E. Progress will also handle leap year possibilities. A leap year is any year evenly divisible by 4 (four), for example 1992, 1996, but not years ending in "00", for example 1800 and 1900. However, and one rule many people forget, is every 400 years starting with 2000 are also leap years. So February 29, 2000 is a valid date next year.

Progress stores dates internally as integers. Each numeric value incremented from 0 represents a day. The true 0 date is January 1, 4713 B.C. Since Progress stores date in this manner, the stored date is immune from Y2K since 1/1/2000 will just be another integer one greater then 12/31/1999.

Using the "-yy" Century Offset startup parameter

-yy, known as the Century parameter, sets a 100-year window where Progress supplies a "century" value when dates are entered with one or two-digits for the year. The -yy parameter, with a default of "1900", first appeared with Progress Version 5. The default in Version 7 and above is "1950". The -yy parameter specifies the beginning of a default 100-year window that will be used when displaying and storing dates.

You can also read and set the -yy century offset with the SESSION:YEAR-OFFSET handle added in Progress Version 8.2 and above.

So if you are using "-yy 1950" when entering or displaying dates in Progress, then 05/11/72 (assuming a default US date format of 'dmy') would really be May 11, 1972. 11/30/12 would be November 30, 2012. Any dates outside of the century offset range should be DISPLAYed using a format of "99/99/9999" or else Progress will display an error message. An example of where you might need this format would be in your employee table where you are storing birthdays that are prior to 1950.

Data Import and Export using Progress:

EXPORT normally dumps dates in two ways. If the date falls within the -yy 100-year window, it is dumped with a two-digit year. Version 9 of Progress has a new startup parameter, "-yr4def", which will cause the EXPORT, PUT UNFORMATTED and MESSAGE statements to use four-digit year dates, regardless of the -yy setting. Note this parameter does not affect DISPLAY or any other forms of formatted output. Using this parameter is recommended if you are exporting data to a non-Progress system, or the another Progress application with a different -yy setting.

If you are not using Version 9 yet, but want to always have the EXPORT statement force dates into four-digit year format, then there is a workaround. Simply set your -yy parameter to a value outside all the dates in your database, for example "-yy 1000" or something similar.

When using the IMPORT statement and the data file contains two-digit year values, the -yy and YEAR-OFFSET values will be applied when expanding the date. My suggestion is to make sure data files always contain four-digit years to avoid confusion.

Other things to look for:

The first thing that you should review are any external interfaces to your Progress application. Make sure you are exporting and importing four-digit years whenever possible to avoid confusion. Whenever you need to import/export a two digit year, make sure you know what assumptions are being made about the other system.

Other possible problems may be where dates are "hard-coded" in your applications. For example 01/01/01 or 12/31/99. Another problem may be if you are storing dates in CHARACTER fields. For example, some systems might store an invoice number similar to "9912130001", which might be today's first invoice. This could lead to some problems, especially with sorting and/or finding the "first" or "last" invoice.

Above all, make sure you set aside as much time as you need to test your systems. This above everything else will let you know what you will need to take care of before the century change.

Please let us know what you like and dislike about our sites.

We have implemented a new survey pop-up at our sites, in order to get a better feel for what you, our users, like and dislike about our site. The data collected will allow us to know what features are the most important to you and also what you might not be as happy with. The survey is very short, it shouldn't take more then 60 seconds to fill out, and as a special bonus you will be able to download a FREE small Progress application with full source code at the end as our way of saying thanks. This download is only available after taking the survey, it is not posted anywhere else on our site.

The survey will pop-up on random pages, usually after you have visited a few spots on our site. It will only pop-up once, so if you opt-out you won't be given another chance to fill it out (unless you delete any cookies on your machine from cpulse.com).

This service is provided by cPulse, a Gartner Group company that handles the administration. All feedback and comments are confidential and will only be used internally to track our site trends. Thanks in advance for you help!


spacer

spacer

spacer

spacer

New features to check out at our web site

File Transfer System - The new file transfer system section allow developers to post and share Progress source code and information. Have you written a program that you feel others would benefit from? Please feel free to upload it to the appropriate section. There are already many sample programs and documents of general interest available, so feel free to browse them anytime.

Progress WebRing Search Engine - This powerful search engine, available on our web site's Resources area, or at any WebRing member's site, or simply bookmark this page If you have a web site with Progress-related development information, please be sure to join the WebRing today to be added to the search engine and to increase our site's traffic.

Progress Links Database - This new and growing "Yahoo-like" web directory lists web sites that are of interest to Progress developers.

Progress and Postscript Printing HTML version. This document describes the steps to follow to produce nicely formatted reports from within your Progress application. Although the examples given are using Progress, there is nothing here that is particular to that language. The key to the process is the use of postscript. Mayura Draw produces files that are easily edited, perl provides a scripting language with the necessary capabilities and Progress is the driving application. There is no dependency on Unix, although that is all we have used. With minor changes to pdx2ps it would probably work on any platform on which perl is available. This document written and submitted by Peter Bisset, available in the "Documents & Information" Downloads area.

Here is the famous beauty.p program written in Progress Version 6 by Warren Bare while at Progress. It reformats Progress source code in "standard" form. There is also an updated copy, beauty8.p, for Progress V8 and above that was written by Matthew Brooks. Both are available in the "Tools" Downloads area.

A must have for ED4W users: This Progress program, ed4w.p, will read the Progress database schema information and put it into an ED4W template. This will enable color syntax hilighting for your database tables and fields. This code, contributed by Gerhard Schulz, is very well documented in both German and English and has been tested with Progress V8.2/8.3 and V9.0. Also available in the "Tools" Downloads area.

Progress SmartPak. This is a free collection of graphical Progress SmartObject components for use within your Progress Version 9 GUI applications. Included is a replacement Tab Folder control that allows tabs of any size, multiple rows, icon images and different fonts. There's also a Toolbar than can create or link to menu-items, with "stay-down" button support and keyboard control, and also a Progress bar, Status bar and Spin Button control, and some iconic versions of standard Progress SmartPanels. All components are written using 100% Progress 4GL - there are no DLL's, OCX's, or API calls, and full source code is provided so that you can see how they work. This must-have for SmartObject developers is available in the "SmartObjects" Downloads area.

Get your FREE private email, yourname@progressmail.com and your FREE Home Page http://www.progressmail.com/yourname/ Today!

ProgressMail.com web-based email is:
FREE- ProgressMail is a full-feature free e-mail service with the professional netizen in mind. We provide you with 6 megs of space absolutely free.
GLOBALLY ACCESSIBLE- Send/receive mail from any computer with any browser anywhere in the world, even if you change Internet service providers.
PERMANENT- Your account and e-mail addresses are yours forever.
PRIVATE- Your private e-mail will be protected from your employer and others, only you can read it.
SPAM-FREE- Our service uses the latest technology to block SPAM before it can reach your mail box.
VERSATILE- Our e-mail feature includes attachment capabilities so you can send images, photo, or documents.

ProgressMail.com Home Pages are:
FREE- WebHome is a full-feature free web site hosting service for Progress developers to create their own web site. We provide you with 2 megs of space absolutely free. Post anything from your resume, sample code and programming tips, or pictures of your pets!

Get answers to your Progress questions fast at http://www.progresstalk.com/

Fast 4GL Systems is pleased to offer this free-of-charge service to the Progress community. ProgressTalk.COM is a web-based conferencing system where Progress users can gather to discuss issues important to them and get responsive feedback from others.

ProgressTalk.COM features over 40 different conferences discussing a wide range of Progress-related topics. Users can post and reply to messages, which are presented by subject.

All conferences and messages are archived and fully searchable. If you think your question may have been asked in the past, just use our powerful search engine and see results in summary or detail.

Please feel free to stop by today at http://www.progresstalk.com/ and check out all of these wonderful features! If you have any questions, comments or suggestions, they are welcomed at webmaster@progresstalk.com.

Happy Holidays from Fast 4GL Systems, Inc.

Since this will be our last newsletter for the year, I would like to personally wish everyone a happy and safe holidays and a terrific new year!

<< back




about us | current article | archive | home
Copyright Fast 4GL Systems, Inc. ©1999. E-mail us.