SPEED II INTERNALS
REGISTRATION DATA
- Changing the registration type from Customer to Consultant; from Consultant to Customer; or from Release 5 to Release 7 would cause SPEED II startup errors in some circumstances. SPEED II would present a Wang VS Getparm screen requesting that the user correct the data necessary to open a file. The user had no way to determine what file SPEED II wanted or what the correct filename, library, and volume should be. SPEED II now correctly changes the registration type when new Verification Numbers are entered while running $$ in $ (Registration Entry). This prevents the subsequent startup error.
INSTALLATION CONFIGURATION
- A new field has been added to window 2 of Installation Information File Maintenance to allow an installation to determine the 'Date Pivot Year'. This field controls the "Date Pivot" logic. If SPEED II needs to compute a Century for a date field, this field is used to determine the value computed. The following logic is used to compute the century (field-century):
- if system-year >= pivot-year
if field-year < pivot-year
field-century = system-century + 1 - else
field-century = system-century - else
if field-year < pivot-year
field-century = system-century
else
field-century = system-century - 1 - Setting this field to zero (0) disables the "Date Pivot" logic.
- IMPORTANT: The implementation of Pivot Dates in APPX Release 7.x is NOT all that is required to upgrade applications to Year 2000 compliance. Additional conversion steps are required. Please see the Y2K Implementation Guide for further information on these requirements.
- if system-year >= pivot-year
- A few examples of the Date Pivot logic:
- If the target year is '98' and the pivot year is '50':
- if system year = 1998, target will be 1998
- if system year = 2001, target will be 1998
- if system year = 2051, target will be 2098
- If the target year is '02' and the pivot year is '50':
- if system year = 1998, target will be 2002
- if system year = 2001, target will be 2002
- if system year = 2051, target will be 2102
LANGUAGE UTILITY
- Six new mnemonics have been added to the language file. International installations will need to update their language files as part of the installation of this release. The release tape includes prior version index files to allow upgrading from a release 6 language file or from a release 7.0 (shipped with SPEED II releases 7.0.0 through 7.2.x). If you are upgrading from a release 6 language file you will need to rename some files in library $$$ before running the language utilities.
-
Old Name New Name
- $0000000 $000R700
- $0000002 $000R702
- $000R600 $0000000
- $000R602 $0000002
-
- A list of the new mnemonics can be printed by using the language utilities.
APPLICATION DESIGN
COMMANDS
- The IF, AND, and OR commands have been changed to use the "Date Pivot" logic if one part of the comparison is a Date field with Century and the other part of the comparison is a Date field which has the Year as its High End.
Example:
'Date YYMMDD' contains '06/03/99' (Jun 03, 99)
'Date CCYYMMDD' contains '01/02/2000' (Jan 02, 2000)When the "Date Pivot Year" is NOT zero, SPEED II will compute a value for the Century and add it to the 'Date YYMMDD' field before doing the IF, OR, or AND comparison. As long as the "Date Pivot Year" is less than 99, the 'Date YYMMDD' value will be considered LT the 'Date CCYYMMDD' field.
If the "Date Pivot Year" IS zero, SPEED II will add the CURRENT Century to the 'Date YYMMDD' field before doing the IF, OR, or AND comparison. This means that 'Date YYMMDD' will be LT 'Date CCYYMMDD' if the current century is '19', but GT 'Date CCYYMMDD' when the current century is '20'.
- The SET command has been altered to use the "Date Pivot" logic when the Destination field is a Date which includes the Century and the Source field is a Date which has the Year as its High End.
- The DATE ADD command has been altered to use "Date Pivot" logic if the Date field does not include the Century. This is so that SPEED II can determine if the year is a leap year or not.
- The DATE BTW command has been altered to use the "Date Pivot" logic when one Date field includes the Century and the other does not.
- The SET DAY command has been altered to use the "Date Pivot" logic when the Date field does not contain the Century.
DEBUG CHANGES
- When debugging commands, Date fields which have part of the stored date masked will still display the entire date when single stepping through commands or while editing the values in the dates.
FILES / FIELDS (DESIGN)
- New fields have been added to the definition of Date fields which are used as part of the support for "Date Masks". The designer can now specify the default parts of a date field to be displayed. The mask values can be overridden when adding the field to a window (Input or Output).
INPUT FUNCTIONS (DESIGN)
- The ability to specify which parts of a date should be masked on an Input Window has been added. If the Mask Specifications are left blank, then SPEED II uses the Mask specified in the Data Dictionary. If there is no mask specified in the Data Dictionary, then SPEED II will display the entire date field stored in the data file. Masking portions of a date on an Input Window causes SPEED II to compute the value of the masked portions according to the "Date Pivot" logic rules. Consequently, masking portions of a date CAN cause the masked portions to be changed in the data files.
NEW DESIGN CAPABILITES
- Support has been added to mask portions of date fields on Input and Output functions. This allows the designer to add the Century (or any other parts) to a date field while not displaying some portions on the Input Function screen or Output Function report. This feature simplifies Year 2000 support by allowing an application to have century stored in the data files but not displayed on the screens. Because the century is not displayed on the screen, users will not need to key the extra digits for century and the reformatting of screens and reports to make room for the extra digits can be avoided.
During data entry SPEED II will "default" the parts of a date field which are not displayed. If "Date Pivot" logic has been enabled, then SPEED II will compute the century using the "Pivot Year" and the "Date Pivot" logic (described in the Installation Configuration section of this report and on the "Date Pivot Year" field on window 2 of Installation Information File Maintenance) If "Date Pivot" logic has been disabled then the century defaults to the current century.
NEW DESIGN CAPABILITES
- Added a new Input Function which allows a designer to maintain the characteristics of date fields. The function displays each date field (from a file or work fields) and allows changes to the fields on the second window of dates. This includes storage size, default display mask, initial value, range checking, etc. This function can be found on the 'Special utilities' menu.
OUTPUT FUNCTIONS (DESIGN)
- The ability to specify which parts of a date should be masked on an Output Window has been added. If the Mask Specifications are left blank, then SPEED II uses the Mask specified in the Data Dictionary. If there is no mask specified in the Data Dictionary, then SPEED II will display the entire date field stored in the data file. Masking portions of a date on an Output Window does NOT alter the value stored in the data file.
SORT FUNCTIONS (USER)
- SPEED II will continue to display all of the parts of a Date which are stored in the data file when presenting the 'Record Selection' screen to the user even if the Data Dictionary specifies that some parts of the date are to be masked by default. This enables the user to specify the masked portions when selecting dates even if the masked portion will not be displayed on the report. SPEED II also continues to sort by the entire date field stored in the data file regardless of the specifications for Default Mask in the Data Dictionary.
TECH DOCUMENTATION
- Two new Cross Reference Reports have been added to Documentation Management. 'Date/ Non-Date Commands - By Field' and 'Date/Non-Date Commands - By Function'. These reports will search the application for the use of Date fields with Non-Date fields (Constants other than blank, Numbers, Alpha, etc.) in COMMANDS. The report will also list commands which use two Date fields if the fields do not have the same High End and Low End. The report only lists the SET, IF, AND, and OR commands.
- Modified the 'Field to Function - By Field' and 'Field to Function - By Function' reports. The first input function, which allows the designer to enter the fields to be included on the report, now allows you to press PF18 to automatically populate the fields to be included. When PF18 is pressed SPEED II allows the entry of specifications to be used when selecting the fields. The following criteria are allowed: 'Include All Date Fields?' (Y/N/blank), 'All Dates With Year But No Century?' (Y/N/blank), and the ability to specify a phrase which should be part of the field name ('Field Names Containing'). SPEED II allows you to specify the criteria multiple times and will continue to add the qualifying field names to the list of fields to be printed on the cross reference.
FILE MAINTENANCE
FILE MANAGEMENT
- When restructuring a Date field, if the old format had the Year as its High End and the new format has Century as its High End, SPEED II will use the "Date Pivot" logic to determine the Century.
BUG FIXES
COMMANDS
- The DATE BTW command would return erroneous results if one of the two date fields contained the Year, Month, and Day portions (at a minimum) AND the year was an odd number AND the month was 02 (February) AND the day was 28. The second date must have a day value which exceeds 28. For example:
Date1 (CYMD) = 19970228
Date2 (CYMD) = 19961231
DATE BTW Date1 5 Date2 would return -1 instead of -2 (number of months)
This error is present in ALL releases of SPEED II prior to 07.02.02. This correction was first released in 07.02.02. (ECR 4140)
FIELD OVERLAP REPORT
- If a date field included the century and year the Field Overlap Report would indicate that the field overlapped another in certain cases even though the fields were not actually overlapping.
FILES / FIELDS (DESIGN)
- If a field (part of a file or a work field) was type 'D' (domain), and a previously processed field referenced a domain from a different application, and the domain was part of the application being designed, then Process Files and Process Work Fields would report that the domain does not exist. (ECR 4139)
GENERAL CORRECTIONS
- SPEED II was setting the Wang VS Default Printer Number to zero even if there was a different value specified in one or more of the Installation Configuration files. This problem did not cause SPEED II to print to an incorrect printer because SPEED II does not use the default printer number to control the destination of a print file but it did cause the value to be incorrect when a user ran an External Function which needed to obtain the default printer number. This problem has been corrected. SPEED II will now set the Wang VS Default Printer number to the value determined by the various Installation Configuration files which apply to the particular terminal, user, application, etc. in the hierarchy described in the SPEED II documentation. Note that the value is changed after the execution of a Disposition Function and the new value remains in force until another Disposition Function is executed or the job ends. This problem was first corrected in release 07.02.01.
SORT FUNCTIONS (DESIGN)
- If a JOB sorted a file and then executed a JOB as a later step AND that JOB included either an OUTPUT or an UPDATE function which used the same primary window file as was sorted in the calling job the OUTPUT or UPDATE would fail with an error indicating that SPEED II "Cannot Find the Sort Keys". This problem would exist in all SPEED II releases since 07.00.00. This problem has been corrected.
UPGRADING FROM FROM RELEASE 7.0, 7.1, 7.2 TO 7.3
- Release 7.x applications can be converted to Release 7.3 by following the instructions here.
UPGRADING FROM RELEASE 6.X TO 7.3
- Release 6.x applications can be converted to Release 7.3 by following the instructions here.