Java variant for server functions
Obsydian 3.0 introduces a generator for Java servers using a Windows client. OBASE,
OBDATE, OBCAL and OBSEC class libraries now have a Java variant:
Change to OBDATE variants
The OBDATE library functions can be called by both client and server functions in an
application. This is not a problem for AS/400 and UNIX variants, since the date functions
are defined as internal and generated as in-line code for these variants. For Windows NT
and Java variants, the functions need to be generated and built using the server language,
but can also be called from client functions. Therefore, a change has been made to the
variants in the OBDATE class library.
For release 3.0, OBDATE has a variant for each server platform, along with a variant for
Windows client. Unless you want to generate and build date functions for a specific server
platform, always choose the Windows client variant. For AS/400 5250 applications, always
choose the AS400 server variant.
To generate the date functions for a specific server platform, choose the server variant
for the target platform, then generate and build the date functions. The pre-built
libraries supplied with Obsydian include the date functions for each platform.
New toolbar bitmaps
Class library panels now have a new look. The toolbar buttons have been updated to match
the new Obsydian toolbars. Or, if you choose, you can have your panels use the same
toolbar buttons as before.
To use the new toolbar buttons, point your bitmap resource directory to Obsydian\Bmp3,
and then regenerate and rebuild.
To continue using the original toolbar buttons, leave your bitmap resource directory
pointed to Obsydian\Bmp.
New National Language
Obsydian's class libraries now have a Flemish version in addition to all of the existing
languages.
ODBC server functions now external
The function type for server functions in the ODBC variant of OBASE has been changed from
Internal to External. This change will enable applications to run these functions on a
remote server. This change lets you use dynamic application partitioning (ODAP) for ODBC
applications.
The following functions have been changed:
OBASE/Default Objects.MDI Template.Information.Information Panel
The About box has been enhanced to display an additional copyright notice for applications that use ActiveX controls, VBScript, or JScript. To make this possible, a variable and a label both called Script and a name object, ActiveX, have been added. For example:
To use the new copyright notice, add the following triple to a function that inherits from Information:
My Information Function option ActiveX ...value Yes
This notice is required for any application using VBScript or JScript. By default, the copyright text is not displayed. The copyright text is hidden on AS400 5250 panels.
Business Entity.List Attributes.Get Sequential
Grid Maintained Entity.Grid Maintenance Suite.Edit Grid User Interface
In Edit Grid User Interface, Get Sequential was being called an extra time when using multiple-occurrence variables with a single database record. This problem has been resolved.
Business Entity.Standard Functions.Change User Interface
When a change was not permitted, this function was displaying message Call To [Function]- Failed, which was not as informative as the message that had previously been called in this situation. The message Instance Changed By Another User has been restored for this function.
Business Entity.Standard Functions.Create User Interface.Create Panel
Grid Maintained Entity.Grid Maintenance Suite.Edit Grid User Interface.List Panel
Static overlap has been fixed for AS/400 5250 panels.
Spanish translation has been corrected for Create Panel.
Business Entity.Standard Functions.List Instances User Interface.Filter Selection
Selection fields using displayed as now display correctly when you re-enter the filter selection panel.
Clear processing has been corrected on Filter Panel.
Business Entity.Standard Functions.List Instances User Interface
Edit points have been added to the Set Internal/External Values subroutines.
Business Entity.Standard Functions.Print Tabular Report
An edit point, Before Print, has been added after the meta calls so that information provided by the meta calls is available when loading fields for printing.
This function now calls Set External Non-view Fields instead of the equivalent hard-coded meta code.
Business Entity.Standard Functions.Print Key Break Report
To correct the behavior of printed key break reports, the final Return statement has been changed to Terminate, to be consistent with Print Entity Listing.
Business Entity.Standard Functions.Print Tabular Report
Business Entity.Standard Functions.Print Key Break Report
Set Printed Fields By View
Set Printed Non-view Fields
Two new meta functions have been added to provide support for FLD printed as FLD triples.
Business Entity.Standard Functions.List Instances User Interface
RPG Set Subfile Position
Base Source Code
On AS/400 5250 panels it was necessary to press PAGE DOWN twice to scroll a grid the first time the panel displayed. A new source code object, RPG Set Subfile Position, and a corresponding subject area, Base Source Code, have been added to OBASE to correct this problem.
Grid Maintained Entity.Grid Maintenance Suite.Edit Grid User Interface
The meta code has been fixed to correctly initialize the Based On variable for an Add event.
Edit points have been added to the Process Grid Changes subroutine (in Additional Subroutines).
The new edit points are 1 Pre Modified Row Processing, 1 Post Modified Row Processing, 1 Grid Errors Found, and 1 End Of Grid Changes.
User Maintained Entity.Maintenance Suite.Delete User Interface
The translation of the Cancel All button has been corrected for German.
Entity With Alias
Selecting a grid row and clicking the Add Alias button created an alias with no primary key, rather than using the value in the selected row. To prevent an Alias from being added without a primary key, this entity now inherits from Referenced Entity in addition to User Maintained Entity.
Entity With Tab Dialog.Tab Dialog Edit
Initial focus is now set correctly to the Common region for Add mode. A new edit point, Set Initial Focus, has also been added.
Fields from non-displayed tab regions are now hidden correctly during the validation process.
Entity With Text.Additional Text.Real Attributes.Delete Instance
A language triple has been added to this function for the Windows NT variant.
Entity With User Filter.Filter Attributes.Filter Selection
Entity With User Filter.Filter Attributes.Get Sequential
Support for structure fields in defining filter criteria has been added.
You can now use the same field to define more than one filter criterion.
The Restrictor variable is no longer cleared for Child entities.
Filtering on more than one field now works correctly. Selection fields are now properly cleared in meta code.
Enumerated Entity.Get Next Numerator
Incorrect parameter mapping has been fixed. This eliminates reported problems with Date and Time fields.
Two Parent Child.Edit Child User Interface
Clicking Add to add a new instance, then clicking Cancel without adding anything now works as it did before no change is made to your entity, and no error message appears.
Virtual fields now display correctly on the second parent grid when adding or deleting instances. A new meta field, +Virtual Fields, was added to make this possible.
The Second Parent grid is now mapped to the Mapped variable on the call to Create Child User Interface. If you populate the Mapped variable with virtual fields on your Second Parent entity, they will now appear on the panel.
Control Names have been added to both grids, to eliminate irregular display effects.
Two Parent Child.By Second Parent Key
To correct a parameter mismatch in the function Process Second Parent Deletion, the contains triple for this view has been changed from Keys to Real.
Three Level Transaction.Sub Detail.Edit Details User Interface
A replacement triple has been added to this function so that it calls the proper Change Header User Interface function.
Get Current Date And Time
In AS/400 variants, this function now calls a CL program to get the correct date and time. In addition, the following changes have been made:
In OBAS400: A new function, Get Current Date And Time, has been added to get the current system date and time, rather than the job start date and time.
Set External Non-view Fields
Set Internal Non-view Fields
Checking for Each Field Component has been added to these meta functions for consistency with similar functions.
New APIs have been added to OBWIN, the Windows APIs class library to support ODAP (Obsydian dynamic application partitioning), ActiveX controls, grid sorting, and grid selection.
ODAP APIs
The ODAP APIs let you specify the server on which a function should run, and determine which server a function is actually running on. The new APIs are:
ActiveX APIs
The ActiveX APIs let you add ActiveX controls to your panels and work with the properties
of the controls. The new APIs are:
Note: These OBWIN calls are C++ APIs; you also have the option to access ActiveX properties using VBScripting APIs.
Grid Sorting APIs
The grid sorting APIs let you sort the rows of a grid. You can sort based on up to three columns, in either ascending or descending order for each sort key. The grid sorting APIs are:
Grid Selection APIs
The grid selection APIs let you control which rows of a grid are marked as selected. The grid selection APIs are:
Shell Execute API
An additional API has been added to OBWIN, Open An Application File. This API implements the Windows ShellExecute API. This API lets you open a file by launching the application associated with that file. For example, if you specify a file called numbers.xls, this API starts Microsoft Excel to open the file.
Get Absolute Days For Date
Get Date For Absolute Days
Date Year
Number Of Years
Absolute Day Multiplier
The date calculation algorithm has been corrected to account properly for century years that are not leap years, such as 1900 and 2100. To accomplish this, a new value, *1753 (the first year of the Gregorian calendar), has been added to the field Date Year. In addition, two new values, 100 Year Cutoff and 400 Year Cutoff, have been added to the field Number Of Years; and 11 new values have been added to the field Absolute Day Multiplier for the number of days to the beginning of each month from February through December.
JAVA Source Code
A new subject area has been added, with the following source code APIs:
ISO Displayed Numeric Date 6
ISO Displayed Numeric Date 7
ISO Displayed Numeric Date 8
Support for printed as triples has been added to these fields.
RPG Get Current Date
RPG Get Current Time
These source code API's have been renamed to RPG Get Job Start Date and RPG Get Job Start Time.
Set Increment Value
Set Minimum Value
Set Maximum Value
The parameter sequence for these APIs has been corrected.
Pane
The scoped values of this field have been renamed from One, Two, Three to Left, Middle, Right for clarity. This field is used by Set Status Bar Text.
Property Name
This field has new values, corresponding to common property names for panel controls.
Get VBX Character Property
Get VBX Floating Point Property
Get VBX Numeric Property
Set VBX Character Property
Set VBX Floating Point Property
Set VBX Numeric Property
Set VBX Picture Property
Clear VBX List Control
Refresh VBX Control
The VBX APIs above now call the equivalent ActiveX method in 32-bit applications, wherever this is possible.
Entity With User Space.List Attributes.Get Sequential
Better error checking has been added to this function.
Get File Formats
File Creation Date And Time
File Text Description CCSID
Record Text Description CCSID
The file structure for the entity Get File Formats has been corrected, and three new fields were created to make this possible. The fields File Creation Date And Time and File Text Description CCSID have been added to the Header Attributes view. The field Record Text Description CCSID has been added to the List Attributes view.
Get File Member Description.All Attributes
The fields Member Name and File Attribute have been added to this view to correct the layout.
Get File Members.List Attributes.Get Sequential
The file format has been corrected to MBRL0200
Get AS400 User Id
This function now uses MOVEL to correctly return long User Id's.
Extended Object Attributes
This field has new values for enhanced filtering capabilities.
OBMAPI field lengths
Lengths have been changed for the following fields:
Field | New Length |
Message ID | 512 |
Message ID Filter | 512 |
Message Text | varying |
Message Type | 512 |
Subject | 256 |
OBMAPI field values
To fix APIs Read A Message and Return A Message Identifier, values have been added or renamed for the following fields:
Message ID - a new default value Null has been added
Message ID Filter - the value First Message has been renamed to Null and made the default value
Message Type - the value Interpersonal Message has been renamed to Null and made the default value
Retrieve Message Component
A new source code API has been added that returns all of the components of an e-mail message.
Mapi Text
The C format of this field was changed to allow for varying length fields. If you inherit from this field and want to have a fixed length for your field, add a C format Char triple to the field.
API Bind Input Parameter
API Bind Input Parameter Char
API Column Attributes
API Extended Fetch
API Get Parameter Count
API More Results
Get Native Statement
API Parameter Data
The source code for these objects has been modified so that they now compile correctly.
ODBC Null Check
A new field, Null Check, with a scoped source code object, Check If Null, has been added. Inherit from this field to test whether a field has a null value. This field and its scoped source code API replace the older API calls Set Character Field To Null and Set Numeric Field To Null.
Function Id
Function Group Code
User Group Code
These fields have been modified to accept mixed-case input so that Create User Interface for the Function, Function Group, and User Group entities work correctly with the AS/400.
User.Grid Maintenance Suite.Create User Interface
An edit point, 1 Post Update, has been added to this function.
User.Grid Maintenance Suite.Create User Interface.Create Panel
In the Add User panel, the User Id region overlapped the Add button. This region has been moved for a cleaner panel layout.
Function Group Set.By Second Parent Key
User Function Group.By Second Parent Key
User Functions.By Second Parent Key
User Group Function Groups.By Second Parent Key
User Group Functions.By Second Parent Key
User Group Set.By Second Parent Key
The virtual keys have been dropped from all By Second Parent Key views to make the
Security Framework application build correctly.
Security Check
With pre-start jobs running on an AS/400, the Security Check function failed because QUSER, rather than the user id of the current user, was being used. This has been fixed so that Security checking works correctly whether pre-start jobs are running or not. Security Check now recognizes the correct user id.
User Function Group.Real Attributes.Security Check
User Group Function Groups.List Attributes.Copy User Group
Security Check
Language triples have been added to all of these functions for WinNTC.
Title
Function Key Text
The names of these variables have been changed to Batch Title and Batch Function Key Text to avoid conflicts with names of regions on OBASE panels.
Format Job Details
Format Message Logging Parameter
Format Qualfied Name
Format Submit AS400 Command A
Format Submit AS400 Command B
Format Submit AS400 Command C
Syntax and spelling errors have been corrected; batch jobs now submit correctly.