Date-related Bug Fixes from APPX Release Notes
Release 3.4
* If your system-wide or application level date mask includes a 'CC' (century) portion, Standard Page Headings for reports will now include the century. You can also set the APPX STD PGH MASK environment variable to a valid date mask to override all other date masks. This environment variable only affects Standard Page Headings. (#3887/#3957)
Release 3.5
* APPX would accept a date of 00/00/00 but not treat it as blank (IE, if compared against a blank date in a query, it would not match). This would only occur when all fields of the date were 0's. If even one contained a valid month, day or year, APPX would not accept the entry. This has been corrected. You can no longer enter a date of all zeros.
* Note * that this was accomplished with a change to the format of an EM so you MUST have a new EM for the fix to take effect. (#3684)
* APPX would give you a "Date Invalid" message, if you tried to blank out the contents of a date field that had a portion of its date masked out. For example, if you had a date stored as CC thru DD, with the Century masked out by a system or item date mask of "06/05/07" (excluding the 08 for "CC"), then the INPUT processor wouldn't allow you to erase a previously entered date. (#4301)
* 3.5.1: The pivot logic added (probably in release 3.4) was not supposed to have an effect unless you define an APPX_PIVOT_YEAR. That was not the case, but has been corrected. 3.5.1: Also, the pivot logic has been changed so that IF and DATE BTW statements will pivot both operands if either operand is missing a century (but contain a year). The pivot logic is completely disabled by default. You must set APPX_PIVOT_YEAR to a value between 1 and 99 if you want dates to pivot. 3.5.2: The IF and DATE BTW statements will only pivot the operands if both operands contain a YY component. (#4421)
* Some users would like to be able to pivot input items without pivoting ILF code. Appx now supports this ability. If you want masked date items to pivot, you can set the environment variable APPX_PIVOT_ITEMS to a number between 1 and 99 (the value indicates which year to pivot around). If you want to pivot ILF statements, you must set the environment variable APPX_PIVOT_YEAR to a number between 1 and 99. Note that you can set
either APPX_PIVOT_ITEMS or APPX_PIVOT_YEAR to pivot input items. APPX_PIVOT_YEAR controls ILF pivoting. (#4490)
* The SET DAY command can return the incorrect day-of-week if you do not supply a century. Prior to release 3.5, SET DAY would assume a century of '19'. Release 3.5.1 assumed a century of '00' (unless you had APPX_PIVOT_YEAR defined, in which case the year would be pivoted to produce a century). With release 3.5.2, SET DAY will assume the
current century (unless you have APPX_PIVOT_YEAR defined, in which case the year will be pivoted to produce a century). (#4491)
Other Points of Interest
In addition to the above bug fixes, Appx has modified the way the IF, AND, & OR logic works in regard to the pivot year logic. In these cases, when comparing two date fields, a century is synthesized even when neither component contains the century. Appx must know the century to accurately determine the result of the comparison. For example, with two dates set as:
SET TST WORK DATE ONE YYMMDD = --970101--------
SET TST WORK DATE TWO YYMMDD = --000101--------
With pivot date not set
WORK DATE TWO YYMMDD would evaluate to 01/01/1900, which is less than
WORK DATE ONE YYMMDD.
With pivot date set to 50, as an example,
WORK DATE TWO YYMMDD would evaluate to 01/01/2000, which is greater than
WORK DATE ONE YYMMDD.
If the century is not calculated in this case the result would always be returned base on
WORK DATE ONE YYMMDD being greater than
WORK DATE TWO YYMMDD, which may not be the assumption when designing with the pivot date set.
Comments:
Read what other users have said about this page or add your own comments.