Changes made in the Obsydian V2.50 Class Libraries.

Last updated: Thursday, January 08, 1998

Note: Changes that may make an existing application behave or look different are indicated by the symbol.


Enhancements to OBASE:

New Entity with user filter.

A new service type entity has been added to OBASE. This entity allows the application end-user to enter, save and load filter criteria appropriate to the view used to populate a grid. The entered criteria are passed to the server function to perform the filtering so that only selected rows are passed back to the client function. The load and save options are only available in Windows client implementations.

Call to [function] failed message.

This message has been enhanced to display the *Returned status and *Call status environment fields to assist in problem solving. The class library functions have been modified to use the new form of the message. The old version of the message has been renamed to allow existing code to execute as before.

Security check enhancements.

All functions which call the Security check function have been modified in the following ways:

  1. The implementation name of the function is now always available. Previously it was only available if the function had a Secured SYS Yes triple.
  2. The exit function processing is now conditioned with the Exit function field. This is to allow you to continue processing even if the security check fails. The default behavior is to exit the function with a message to the user.
  3. The meta code used to determine the name of the current function has been fixed so that the correct name is obtained in all cases of templating and inheritance.

Cancel All button.

Version 2.20 introduced a new 'Cancel all' feature for the Change & Delete functions of the User maintained entity.Maintenance suite. In V2.20 the button was hidden if the action was not available. Now the button is made Inactive and is still visible. This allows a better look to the panel without odd gaps where hidden buttons are.

Fixes to List instances user interface.

The field used to determine if the first row in a grid needs to be selected is now reset in the Reload grid processing.

A new edit point has been added after a successful call to the Get sequential function from Business entity.Standard functions.List instances user interface.

The call to the Filter selection function and the associated event, menu item and toolbar button are now not generated if the filter function has an Implement=No triple.

The meta code used to convert non-view field values to and from the panel has been externalized into two new meta functions:- Set external non-view fields and Set internal non-view fields.

The code to highlight the first row in the grid has been removed since the grid control now handles this.

WinNTC generation language.

This language is now recognized by the Function options meta function. The +WinNTC meta variable is now defined if the function is being generated in WinNTC. This meta variable is used to call the appropriate API's in the Set current date and time function.

MDI template enhancements.

A new 'Exit' option has been added to the 'File' menu of the Common menu in Default objects.MDI template. This is processed by the MDI Frame processing function and closes the application. The toolbar button and the 'Close' menu item continue to close the current window. If there are no child windows open the 'Exit' and 'Close' menu options have the same effect of closing the application.

Information panel.

The layout of the Default objects.MDI template.Information panel has been changed to make it look more like a 'Windows 95' panel.

Modifications to Default objects.Dialog.

The position for dialog is no longer automatically saved in the application INI file. This is consistent with Windows behavior.
The background color for this panel has been set to 'No value' to allow the panel to pick up the user's Windows color scheme.
Note: This change has been made in the Base level.

New Get sequential wrapper function.

A new function, scoped by Business entity.List attributes has been added to allow faster implementation of alternate views in the grid functions. It has the same parameters as the existing Get sequential, including the multiple occurrence Output variable. It can be used to replace the call to the normal Get sequential in your grid functions and allows you to call any data retrieval function. The grid functions still expect multiple rows to be returned, but you can set the Instances fetched to one if required.

New template functions.

Four new functions have been added to allow you to inherit language and type information for the current configuration. They have no action diagram and so can be added as inheritance targets to other inherited functions. They are:
Server internal function
Server external function
Client internal function
Client external function

Event processing.

All event processing code in top level functions has been moved to corresponding subroutines. This allows you to add an Exit sub action diagram instruction to prevent any code after the edit point from executing.

Primary keys in Grid maintained entity.

The primary keys of the scoping entity are now protected in the grid of the Grid maintained entity.Grid maintenance suite.Edit grid user interface. Previously, the keys of the view used to populate the grid were protected and this could allow changes to the primary keys of the row, compromising referential integrity.

Child type entities.

The view used to populate the Restrictor variable for functions to the Child entity, and its inheritors, has been changed to a local view called Parent keys to enable superordinate keys of the entity to be replaced. The processing of the Two parent child.Edit child user interface function has been modified to accommodate this change.

New Prompt with displayed as meta function.

The new meta function includes new processing to allow prompting for a foreign key that has the Displayed as verb specified. The target field of the verb will now accept a prompt request and cause the appropriate select function to be displayed.
It is intended to be used as a substitute for the normal Prompt processing function, only where it is needed. You can use it by adding appropriate FNC replaces FNC ...by FNC triples.

New Windows menu options.

Two new menu options have been added to the Windows menu. They allow the end user to turn on and off the display of the Status bar and Tool bar of the current window. The change has been made to Default objects.MDI template.Common menu panel, and will affect all panels inheriting from this.

Other minor fixes:

The field Row has been changed to 7 characters to allow for national language translations.This change will only affect an application that has used the Row field as an attribute of an entity.

The default color for edit and list controls has been changed to the panel color when in the Protected state.

The default background color has been set for list type controls in the Default state and the Key Code element of panels has been set to Disabled=Yes in the Inactive control state.

Code has been added to set the focus back to the field being prompted for after a call to the selection function. This changes only affects functions generated in RPG400.

An edit point has been added to the Entity with tab dialog.Tab dialog edit after the call to detect if a row was found for the input values. It also now sets the focus to the selected tab when a tab button is pressed, assuming the tab that was being displayed passes the validation. Some extraneous meta code concerned with setting external values has been removed. The validation for Tab 3 has also been fixed to allow the user to select another tab once an error on Tab 3 has been corrected.

A better check for the existence of a related child row has been added to the routine used to load the Second parent grid in the Two parent child.Edit child user interface function.

A Delete not allowed message has been added to Grid maintained entity.Grid maintenance suite.Edit grid user interface when the delete of the selected row fails. This function has also been fixed for prompting fields in a region other than the grid.

The field Code has been set to accept uppercase characters only. This can be reset back to the previous value of mixed case by adding a Case SYS Mixed triple to your fields which inherit from Code.

The fields to count the number of rows selected for deletion or change in User maintained entity.Maintenance suite.Maintenance UI function are now reset on any event.

The call to the Set internal values meta function has been removed from Business entity.Standard functions.Display user interface since all the fields on the panel are read-only.

An edit point has been added to the Confirm event in the Entity with text.Additional text.Edit additional text function.

Processing to recognize the Displayed as verb for the Selections region has been added to the Business entity.Standard functions.Print tabular report function.

The view used as input to the Business entity.All attributes.Get one instance has been changed to the scoping view (All attributes). This will allow easier re-use of this function when a new view is created, inheriting from the All attributes view. This change will only affect a function you have created which inherits from Get one instance and you have replaced the Key attributes view with a view other than the scoping view.

The input variable used to pass the keys to the Entity with tab dialog.Tab dialog display has been restricted to just the key fields. This will allow better re-use of this function.

Varianted language triples have been added to the Business entity.List attributes.Process some instances function along with an FNC implement SYS No triple. The Child.Real attributes.Process parent deletion function has had a FNC implement SYS Yes triple added. If you have created any functions inheriting from Process some instances you will need to add an Implement=Yes triple but you can remove the language triple in the appropriate variants.

The Business entity.Standard function.Print key break report function has had overflow processing added to the routines to print the headings and totals on a key break.

The Transaction number field has been set to Read only using the FLD edit mode SYS verb. If you want to edit any field inheriting from Transaction number, you can add a FLD edit mode SYS triple with a value of Edit, or change the mode property on the appropriate panels.


Enhancements to OBWIN:

APIs for any INI file.

New APIs have been added to allow you to use any .INI file rather than just the application .INI file. One of the parameters they take is the full path to the file you want to examine or update.

APIs for new Spin type control.

Six APIs have been added to support the new Spin control. The Minimum, Maximum and Increment values for a Spin control can be changed during the execution of the function using the Set APIs. The values entered on the panel properties sheet for a Spin control are the starting values. You can also find out what the current values of the three properties are using the Get APIs.


Enhancements to OBODBC:

Commitment control.

APIs have been added to this library to allow you to start and end explicit commitment control. Normally an ODBC database will commit changes after each row update. These APIs allow you better control of this feature.


Enhancements to OBAS400:

Copy back messages.

An API to allow you to copy back messages from the program message queue of a called RPG program to the calling program. This only applies to programs running on an AS/400. It is similar to the behavior of the 'Copy back message' function option for Synon/2 generated programs.

Other minor fixes.

Set the filter fields to their default values, if required, in the Entity with user space.List attributes.Get sequential function. The User space name is now set to the function's implementation name during initialization.

Library name is set to blanks when the output queue name is *ALL in Get spooled files.List attributes.Get sequential.

A new *Blank has been added to the OS400 Job number field, and a new *INT value has been added to the Spooled file name field.

The Binary-4 field has been changed to a PC format of Long to allow conversion from the AS/400 form of the field to the PC form.

The sequence of Bytes provided & Bytes available sub-fields in the Error code field have been swapped around.

A User space error code field has been added as a dual parameter on the Retrieve user space source code object. This will only affect functions where you have explicitly used this API. You will need to update the parameter mappings for these API calls.

The default value for the Bytes available field has been set to *Zero.


Enhancements to OBDATE:

Minor fixes.

The two functions, Get absolute days for date & Get date for absolute days now check for leap centuries. This includes changing the Number of leap years field to zero decimal places.

The Get selected days for month function has been corrected when the selected month is January.

The two field hierarchy diagrams have had their name spellings corrected.

The ISO displayed time and date fields have had a label added. This new label is used as the left label for the scoped External field.

The field used to format dates and times - Format string - had incorrect literals and has been corrected.


Enhancements to OBSEC:

NT variant.

Triples have been added to support generation of the framework for a Windows NT server platform.


Enhancements to OBATCH:

Submit job parameter save.

The save option on the Windows client panel for the Submit job parameter entry function has been enabled. The values from the panel are saved to the application .INI file if they have been changed from the default.

Minor fixes.

The Submit job parameter entry function has had the event processing moved to subroutines, in line with the rest of the class libraries.


Enhancements to OBMAPI:

Two new functions.

Two functions have been added which allow easier implementation of sending a message and displaying the address book. They are Send mail to recipient and Show address book.