The Class Library development team have completed work on the enhancements and additions for the next release of Obsydian.
The main new feature in this release is the Obsydian for Windows NT/BackOffice generator.
To support this we have created two new class libraries and added an NT variant to OBASE and the others.
OBNT contains API's to server services supported by the NT server. It is pretty much a stand-alone library and you only need to attach to it if you require the use of one of it's specialized services.
These services are, initially, be concerned with updating and retrieving Windows registry information.
OBMAPI is a library containing API's to use the e-mail messaging capabilities within the Windows 95 or Windows NT operating systems. This allows you to embed e-mail facilities in your applications for your users to use.
This adds appropriate language and type triples to server functions for NT generation and compilation.
This entity allows rows from the table to be 'deleted' without actually removing them. A status flag on the row is set to indicate that the row is inactive. These rows will not be present on the views used to retrieve data and so will not display in grids.
Archive routines for this entity will follow in a later release.
The Business entity.List attributes.Get sequential and Business entity.List attributes.Process some instances have been enhanced to check if the last key field in the Positioner variable is in descending sequence. If it is, and the field has no value, it is set to its high value.
Deletions of rows from the second parent of a Two Parent Child are now cascaded to the Two Parent Child. This is enabled through a new view and function on Two Parent Child.
If multiple rows are selected from the grid in the Maintenance UI, the Change and Delete panels display a new Cancel All button. Selecting this will stop further processing of selected rows and control will return to the calling function. In 5250 panels, this button is replaced by function key 13.
The Edit tab dialog function has had Delete functionality added. It only operates when in change mode and is activated by a button (or function key for 5250) on the panel.
The grid loading code is now conditioned on the value of a new field - Load grid - which is set to *Yes by default. If you set this field to *No the grid will not load until you change it to *Yes and cause a grid load request. This allows the grid functions to request filtering before any data is retrieved.
The security framework has been enabled for ODBC generation. The user id used to check the database is obtained from Windows.
The user id on the security files has been extended to 32 bytes. This change will only take effect when you regenerate the security framework application.
The filtering on Security status for the Function entity has been fixed for its maintenance function.
A new API has been added to return the user who logged onto Windows. A user of '*Unknown*' is returned if the user did not log in or log in is not supported by Windows.
Support for five new AS/400 API's will be added to this library.
These include getting information about an object, a spooled file, a job, a member of a file and a user.
We have added block fetch support to the appropriate API functions. This will allow easier integration with the function templates in OBASE as well as reducing the number of server accesses.
Four new fields have been added to OBDATE. They allow date and time fields stored on the database to be displayed in ISO form. To use them, all you need to do is inherit from them. The external field, the ISO part, will appear on the panels, and when a value is entered into it, it is translated to the numeric internal form of the field for storage in the database.
The functions Get absolute days for date & Get date for absolute days have been modified to change the base date (absolute day 1) from 1st Jan 1801 to 1st Jan 0000.
For the first time we will be shipping pre-compiled class library internal functions in two .LIB files. These will be put into the class library directory during the install process. To use them you will need to add their path into the new field on the Generate and Build options for Windows C++. Use OBCLASS.LIB for normal compiles and OBCLASSD.LIB for compiles for debugging. All internal functions from OBASE, OBWIN and OBDATE are in these files.
The code for setting default values just before updating the database has been moved from the Business Entity.Real attributes.Create instance & Business Entity.Real attributes.Change instance to an new meta function - Apply late defaults.
The OBASE Field validation & Relation & view validation meta functions have been modified to fully support the new behavior of the Displayed as verb.
The labels used for the default and cancel buttons on dialog panel, usually OK and Cancel, will be changed to remove the &'s which cause a character to be underlined. This is to bring them more into line with standard Windows panels.
All top level 'Additional events' edit points have been moved inside an 'Event' block. This allows you to add any code inside the edit point without having to an an 'Event' block first.