Home

READ ME FIRST!

Dictionary-IV

Report-IV

Script-IV

Query-IV

OPENworkshop

API Services

Basic 8.41

VIP 4.01

 

 

Dictionary-IV 8.41 Release Notes

|
Software Enhancements

1. Enhancements have been made to Date Types 2 and 7. A new date type (type 8) has been added. The following is a description of the changes:

Date Type 8

Version 8.4.1 supports a new Dictionary-IV date type. This new date type (type 8) stores the Basic SQL date as a number in your data files. This storage method removes a number of problems caused by the binary storage with date type 5.

FORMATS

The new date is type 8. The storage length can support date, time, and date & time.

Description Length
Date only 6.0
Time only 7.6
Data and Time 11.4

DATE INPUT AND DISPLAY

The input and display for SQL dates is controlled by Global variables. These Global variables are stored in the system format #IDSV. The date input mask (IM) and the date display mask (DM) can be set in either an application or using the System Administration subsystem. The System Administration subsystem (option 2 from menu UTMENU10) has a selection to Maintain Date Masks. This selection will control the default value for input and display when using the new SQL date type. The third field in this selection also allows for specification of a Date Method. If a user does not enter enough characters to match the input mask, the Date Method will be executed. The Date Method provides the opportunity to modify the data after input but before date validation. The most common use of the Date Method is to determine and add a Century value to a six-character date input. For example:

Input Mask: MMDDYYYY

User enters: 03 26 97

The date validation routine will use the Input Mask. In this example, if it is not 8 characters (MMDDYYYY), it would typically fail. But, prior to any validation, the Date Method is executed. The Date Method can update the users input by adding the proper century. The Date Method has access to all kinds of information to assist in determining the Century including the dates data-name, format and link.

Thoroughbred provides a sample Date Method - OOUDATE. This method uses the 50-year rule to determine the century. We recommend using this method as a default to get started.

The source for the program OOUDATE is located in the 4BW library. OOUDATE is a Method and cannot be compiled unless you have OPENworkshop. OOBDATE is a basic program and can be modified and recompiled as OOUDATE.

GLOBAL VARIABLES

The display mask, input mask, and the date method are initialized through the System Administrator. These values can be changed within your application by modifying the format values found in #IDSV.

Global Variable Description Maximum Length
#IDSV.IM Input mask 20
#IDSV.DM Display mask 40
#IDSV.DATEMETHOD Date method name 8


Date Type 2

The storage of this date type has been enhanced to use letters for years past 1999.
First, the base year must be specified. This is specified in the IPL file as a new PRM option:

PRM BASE-YEAR=????

The BASE-YEAR= parameter is used to specify the base year. The specified year must be a multiple of 100 or an error will be produced. If this parameter is not specified, the base year will default to 1900.

The following table shows the storage of the year when the base year is set to 1900:

Year Stored as...
1900 00
1990 90
1997 97
2000 A0
2100 K0
2200 U0
2250 Z0


The following table shows the storage of the year when the base year is set to 1800:

Year Stored as...
1800 00
1900 A0
1997 J7
2000 K0
2100 U0
2150 Z0


Assigning a value can be done with either a 6 or 8 character string. For example, the following statements would set the value of #FORMAT.DT2 to August 15th, 1997:

#FORMAT.DT2 = "970815"
    or
#FORMAT.DT2 = "19970815"

The following statement would set the value of #FORMAT.DT2 to August 15th, 2097:

#FORMAT.DT2 = "20970815"

Date Type 7

The storage formula for this date type has been changed from:

CHR(YY+1) + CHR(MM+1) + CHR(DD+1)

to:

CHR(MOD(YYYY,1900)+1) + CHR(MM+1) + CHR(DD+1)

The following table shows the storage of the year:

Year Stored as...
1900 $00$
1997 $62$
2000 $65$
2100 $C9$
2154 $FF$

Assigning a value can be done with either a 6 or 8 character string. For example, the following statements would set the value of #FORMAT.DT7 to August 15, 1997:

#FORMAT.DT7 = "081597"
or
#FORMAT.DT7 = "08151997"

The following statement would set the value of #FORMAT.DT7 to August 15th, 2097:

#FORMAT.DT7 = "08152097"

ATR()

The ATR() function has been enhanced to handle the changes to date types 2 and 7. The following table shows the attribute numbers that have been changed and the corresponding old and new values for date type 2:

Attribute Number Old Attribute Value New Attribute Value
23 8 10
24 8 10
25 00/00/00 0000/00/00
26 00/00/00 0000/00/00

The following table shows the attribute numbers that have been changed and the corresponding old and new values for date type 7:

Attribute Number Old Attribute Value New Attribute Value
23 8 10
24 8 10
25 00/00/00 00/00/0000
26 00/00/00 00/00/0000



LET FMT() AND FMT()

The LET FMT() directive and FMT() function have been enhanced to handle the changes to date types 2 and 7. The LET FMT() directive accepts either a 6 or 8 character string for both date types 2 and 7. For example, the following statements would set the value of #FORMAT.DT2OR7 to August 15th, 1997:

LET FMT("#FORMAT.DT2OR7",0) = "081597"
or
LET FMT("#FORMAT.DT2OR7",0) = "08151997"

The following statement would set the value of #FORMAT.DT2OR7 to August 15th, 2097:

LET FMT("#FORMAT.DT2OR7",0) = "08152097"

The FMT() function returns either a 6 or 8 character string. For example, the following statement would print "081597":

LET FMT("#FORMAT.DT2OR7",0)  = "08151997"
PRINT FMT("#FORMAT.DT2OR7",0)

Using either the "DNM" or "DCM" format masks with the FMT() function in the above statement would print "08/15/97":

The following statements would print "08152097":

LET FMT("#FORMAT.DT2OR7",0) = "08152097"
PRINT FMT("#FORMAT.DT2OR7",0)

Using either the "DNM" or "DCM" format masks with the FMT() function in the above statement would print "08/15/2097".

3. F10 GOTO in CONNECT SCREEN/VIEW has been modified to generate a default screen based on the goto fields (Primary Key or Secondary Key).

4. A new flag has been added to the Installation Record to enable/disable the Link/View Object Library processing.

5. There have been changes to IDOL-IV in reference to Developer Mode vs User Mode. The following is a summary of the functions that not are allowed while in User Mode:

   o Cannot edit any IDOL-IV Definitions
   o Cannot edit (F1) pop-up menus
   o The following functions in CONNECT VIEW are "disabled" when in User Mode:
          F1 - Resize/Move
          F2 - Delete Column
          F3 - Change Column Width
          F5 - Sorts. - The user is allowed to change sorts; not allowed to change definitions
        F11 - Field Definition

6. F16 (Print) option has been changed to allow the user to print either the current window or the entire screen.

7. An enhancement to the F3 (Column Size) function in CONNECT VIEW now allows the user to specify a display mask for numeric field columns.

8. The F1 (Dictionary Maintenance) option from an IDOL-IV Menu has been changed to use the new Dictionary Maintenance Views. There are still options on this menu to support the screen editor (non-window screens), Views (Multi-Record Maint) and  IDOL-IV Menus.

9. The F2 (Screen/View) option from an IDOL-IV Menu has been changed to perform CONNECT SCREEN/VIEW respectively. However, the menu options "F" and "f" still execute the old Single/Multi-Record Maintenance.


Software Changes

GENERAL
1. Several problems have been corrected dealing with the Link/View Object Libraries (OOGLNOBJ and OOGVWOBJ). A flag now exists in the Installation Record allowing the use of these object libraries to be enabled or disabled.

2. A problem with the Backup/Restore Utility has been fixed where after restoring a "bk" file, attempting to refresh the "bk" file will bring up IDGbk instead of IDDbk.

3. A problem has been fixed where the dataname #IDSV.PROMPT-LINE-NMBR was being reset to 0 after using some of the Dictionary-IV API's.


LINKS
1. An Error 47 has been corrected when attempting to generate a SORT0 for an MSORT file.

2. A problem has been fixed with the Build Link/View Object Library utility where data files were opened when the links were processed.

3. A problem has been corrected with MSORT type files where if multiple sorts were defined, field separators were being returned as part of the data/key.


DICTIONARY MAINTENANCE
1. A problem has been fixed in Format Maintenance where the Variable Names would be lost after editing.

2. A problem has been corrected in Format Maintenance where the Move Data Name <F3> option would allow entry of field number 0.

3. A problem has been fixed in Format Maintenance where screens that used the format being edited were not being updated at all.

4. A problem has been corrected in Format Maintenance where changing the length of a field and then inserting a data-name would cause an error when attempting to update views.

5. A problem has been fixed in Screen Maintenance where screens could not be copied or renamed.

6. In Screen Maintenance, changing the Link/Format name from the view now displays a help module saying that doing this could cause unexpected results.

7. A problem has been corrected in the maintenance of Formats, Views D4, Links and Menus D4 where the user was allowed to rename these definitions to a name that already existed with no error message.

8. An Error 20 has been fixed when attempting to copy an MSORT/TISAM Link to another name and no sorts were defined.


CONNECT SCREEN
1. A problem has been fixed when using F6 on a field with a valid value list. The help would first be displayed. Afterwards, the valid value error message would be displayed followed by the valid value lookup window.

2. A problem has been corrected where an IDOL-IV "User" was allowed to move screens using Function Key 1. You are now required to be a "Developer" in order to do this.

3. A problem has been fixed where using the Page-Down key in a screen that has multi-occurrences in the last few fields would cause data to be corrupted.


CONNECT VIEW
1. A problem has been fixed where using a starting key value on an MSORT type file was not being honored properly when using a secondary sort. The view would start the display past the specified key value.

2. An Error 46 has been corrected when using a TISAM type file with a long sort key defined and text fields.

3. A problem with a key range specified on system generated preset values has been fixed. This worked correctly when used as a PRINT VIEW.

4. A problem has been corrected when using F10 to position to another key in the view. If the fields in the primary key or current sort key have security 3,0 (system generated), the system will not allow you to enter values in those screen fields.

5. An Error 47 has been fixed when viewing a file by a sort which is a 1 byte field.

6. A problem has been corrected when viewing an MSORT file by a secondary sort where the lightbar would get "stuck" on the bottom row of the view if the first record was on the top row.

7. An Error 14 has been fixed when using F5 (Rebuild Sorts) and the sort file did not exist.

8. An Error 42 has been corrected when viewing an INDEXED file by a sort.

9. A problem has been fixed when viewing an INDEXED file and pressing F9 to go into CONNECT SCREEN. Record (Index) 0 would always be displayed instead of the record that the lightbar was on when F9 was pressed.

10. A display problem has been corrected when viewing INDEXED files where changing from sort to primary key would redisplay the view from the end of the file rather than from the beginning of the file.

11. A problem has been fixed when using the F8-LIST function where the columns that printed were the columns that were saved in the view and not the columns that may have been dynamically changed or re-arranged while in the view.