This document contains information about new and enhanced features and resolved issues that will be included in OpenInsight for Workgroups release 3.4..
New and Enhanced Features
HTML Publishing
Added an ability for an Internet Procedure to progammatically specify timeout for CGI request (default is 30 sec). Syntax is:
$insert Inet_Equates
…
Send_Event(GS_MONITOR$, 'OMNIEVENT', INPROGRESS$, timeLeft)
where timeLeft is maximum time in seconds you want to allow this request to work without timing out the CGI request.
Data Warehousing using SQL
OpenInsight for Workgroups can now update a data warehouse with only those LH records which have changed; this is referred to as "Updates-Only Warehousing".
To configure Updates-Only Warehousing, the new "Configure Warehouse" tool has been added to the Client/Server Workspace and the "Changes only" option has been enabled in the Warehouse Procedure scheduling window, which is accessed from the Schedule button on the Warehouse Manager.
A sample warehousing application based on an LH database has been added to the existing EXAMPLES application. This sample includes three new tables (PURCHASE_ORDERS, STOCK, and RECEIPTS), three new forms (PO_ENTRY, STK_ENTRY, and RCPT_ENTRY), three Warehouse Procedures created by the warehousing wizard (WP_PURCHASE_ORDERS, WP_STOCK, and WP_RECEIPTS), and fiveDataSet Objects created by the warehousing wizard (WP_PURCHASE_ORDERS, WP_PURCHASE_ORDER_LINES, WP_STOCK, WP_RECEIPTS, WP_RECEIPT_LINES). The sample warehousing is designed to be used with the SQL Server direct Connection Object, as described by the white paper covering SQL Server warehousing.
Client/Server
A new tool, the Client/Server Spy, is available to probe for information about current Connection Objects, DataSet Objects, DataSet-bound forms, and the relationships between these different objects. To use the Client/Server Spy, start the CS_SPY form from the Repository outliner or type "EXEC CS_SPY" from the System Monitor.
The source for the Client/Server Spy is included. See the SYSPROG form CS_SPY and the Stored Procedure of the same name. Note: Any changes made to the source may be overwritten by subsequent releases of OpenInsight.
The ODBC, SQL Server, and Oracle Connection Objects are now capable of displaying the scripts that they execute using the DBWIN.EXE application shipped in the Windows 3.1 SDK. To enable the debug output from the Connection Objects, add the following section to the oinsight.ini file:
[Connections]
DisplayScripts=Yes
The Oracle Connection Object will now automatically determine the most recent API version of Oracle which is available. This behaviour can be overridden on a workstation basis to use a particular version of the Oracle API (in this case, 7.1) by adding the following section to the oinsight.ini file:
[Connections]
OracleDLL=ora71win.dll
Script creation in the DataSet designer has been improved to use information about key columns in the DataSet definition. This change can be seen by creating scripts (via the button on the "Columns" tab of the designer) before and after defining the DataSet's key columns. (SYSOBJ/$DS_CHILD, SYSOBJ/$ODBC_SUB)
User Interface
The source for the message function is included. See the SYSPROG form MSG and the Stored Procedure of the same name. Note: Any changes made to the message form or source code may be overwritten by subsequent releases of OpenInsight; if you modify the form or the source, always keep a backup copy of your work.
Two new utilities are available to assist users with date selection using a calendar metaphor. The first, Popup_Month, displays a single month and allows the user to select a date from it. The second, Popup_Year, displays an entire year. It is easy to use either utility via aQuickEvent: Select "Execute a procedure" for the QuickEvent type, and specify "SYSPROG*STPROCEXE**POPUP_MONTH" or "SYSPROG*STPROCEXE**POPUP_YEAR" for the target entity. Clear the "Parameter", "Return Value Control", and "Return Value Property" fields.
The source for the calendar utilities is included. See the SYSPROG forms POPUP_MONTH and POPUP_YEAR and the Stored Procedures of the same names. Note: Any changes made to the source may be overwritten by subsequent releases of OpenInsight.
Form Designer
Added an ability to specify controls' colors as system defined ones (resolved at run-time)
Added check-box for the vertical scrollbar on multi-page forms
Added a link to the HTML Publisher from the File menu
Presentation Server
New image formats are supported including DXF, TIFF, JPEG, PCX, DCX, GIF, RLE, PNG, IMG, WPG, EPSF, TGA
Improved palette generation for BMP images with more than 256 colors
OpenEngine
The new RETSTACK function returns an @fm delimited list of the currently executing procedures as seen in the debugger's Call Stack window (SYSOBJ/$RETSTACK). Syntax is:
declare function RetStack
List = RetStack()
CurrentProc = List<1>
CallingProc = List<2>
…
To assist with dictionary migration from Advanced Revelation, the FieldCount() opcode is now supported in OpenEngine. However, theFieldCount() syntax is not supported by the Basic+ compiler.
To demonstrate how collation sequences are structured, example code is included which creates an ANSI collation sequence. A collation sequence specifies the character precedence for string comparison, allowing the OpenInsight sort order to be localized. The example code creates a sort order that places the most common accented characters immediately following their accentless equivalents. (SYSPROCS/CREATE_ANSI_SEQUENCE)
Form IO layer
Added generic DELETEROW and INSERTROW events for edit tables (SYSREPOSEVENTEXES/SYSPROG*DELETEROW.EDITTABLE.OIWIN*, SYSREPOSEVENTEXES/SYSPROG*INSERTROW.EDITTABLE.OIWIN*)
Resolved Issues
System Editor (DWB.EXE)
Fixed a problem with a list of stored procedures being truncated
List of most recently used stored procedures is being updated correctly
Fixed sporadic GPF in File-Open… dialog box
Fixed a bug in Edit-Replace logic that could miss some matches if a "search" string was shorter then a "replace" string
If the System Editor is already opened, double click on a stored procedure or an insert in the outliner will now open the component in the System Editor
OpenEngine
Fixed a bug in oconv and fmt – incorrect processing of 'VB' type conversions
Fixed a bug in sort file name generation subroutine that could have affect indexing on workstations with names shorter that 6 characters
Fixed a bug in the FLUSH statement which could cause instability in the engine during garbage collection (REVBOOT, SYSOBJ/$RTP38)
Fixed a bug in Verify_LH that would report a SYS103 error when operating on the SYSDICT table (SYSOBJ/$VERIFY_LH)
Client/Server
Previously, if all connection attributes for a specific data source type were removed, the changes would not take effect. (SYSOBJ/$XO_CHILD)
Fixed a bug in DSOABS generic event logic that would prevent highlighting the corresponding row in a dataset-bound edittable(SYSOBJ/$OIWIN_DSO2FORM)
An error which allowed null columns to be identified as 0-length strings in the Client/Server Query Window and via the QryMethod stored procedure have been fixed. (OI30DSXO.DLL)
Several issues related to stability in the Oracle Connection Object have been resolved, and the performance of the Connection Object has been improved. (OI30ORAC.DLL)
The Oracle Connection Object now handles Oracle's proprietary number format with up to 76 digits of numeric precision and 38 digits of decimal scale. The NUMBER type, which previously was handled as a base-2 floating point number with 15-digits of precision, is now supported as a base-10 number with up to 76 digits of precision. (OI30ORAC.DLL)
Fixed a potential lock-up bug which could cause an infinite loop during a disconnect. (SYSOBJ/$XOCACHE)
User Interface
Modified sizing of response type messages (Msg function); response type messages (message types starting with "R") now calculate their width in the same manner as the other message types. Note: This modification may affect the text formatting of existing response messages which either specify the default width or do not have a message width specified (the "Pels" entry). (SYSOBJ/$MSG)
In a multi-selection Popup that displays before all rows are retrieved and then continues to retrieve the remaining rows, the Select All button is not enabled until all rows are retrieved. (SYSOBJ/$POPUP_SUB, SYSPROCS/POPUP_SUB)
Form IO layer
Fixed a bug causing resetting RECORD property when setting DEFPROP property of a control bound to a key field. (SYSOBJ/$SET_PROPERTY)
Runtime Deployment Kit
Fixed a bug allowing a list to exceed maximum length (64k). This usually would occur in line 378 of the RDKVADDALL routine, causing the debugger to be activated.
Revelation Reporter
Fixed a bug under Win 3.x where creating a new Quick or Blank report and picking an existing table using the keyboard would crash USER.EXE.
Reports developed with versions below OpenInsight 3.2 no longer receive error message when running with OpenInsight 3.2+.
Group Footer percentage calculation errors have been fixed.
Multi-value fields that contain a blank or null values are now being processed correctly and do not need to be filled in with a space or a zero.
The bug that caused a GPF in module at 0002:000020d0 when executing from a command ine switch (c:\filename.rpt/RE=0/PV=1/QU=1) has been fixed.