|
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! |
|
|
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:
ProgressMail.com Home Pages are: 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! |
||
|
|
|||||