North American Ingres Users Association

North American Ingres User Association OpenRoad SIG

Open Road DARS

The following Software Improvement Requests (or DARs - Demand Analysis Request) have been submitted to the Computer Associates OpenROAD Development team.

If you have submitted a DAR to Computer Associates, please send the description and the Issue Number (DAR number) to and we'll add it to our wish list.

Also see OpenROAD DARS: facts, perceptions, and what you can do, by .

10504213/2 -- Outer Join Parameter Passing

Jan 8, 2001; Passing values via declared local variables with outer joins requires that these variables need to be cast to varchars. Client would like to be able to use syntax without having to cast.

8948336/2  --  Viewing Extended StatusText

An OpenROAD frame may have a status bar that extends the width of the frame. If the length of the text that is placed in the StatusText attribute exceeds the width of the frame, the user will not be able to read the entire text string.

The current size of the StatusText attribute is 100 characters and needs to be increased to allow longer messages. (See Issue 8939857 )

If the length of the text exceeds the width of the frame, the user should have a way to read the entire message. Maybe the cursor could change when the cursor is placed over the status bar if the status bar contains a message that is too long to completely display.

A couple of suggestions:

  1. Allow the user to hover the cursor over the status bar, and have a popup appear, similar to a tool tip, that would display the complete text of the message.
  2. Allow the user to click on the status bar, and have a popup appear that would contain the complete text of the message. Another click would cause the popup to close.

8939857/2  --  StatusText Limitation

The StatusText attribute of the FrameExec system class has a limitation of 100 characters. As we internationalize our product, this 100 character limitation is posing a problem. Even if the frame is wide enough to allow more characters, the message placed in the StatusText is being truncated to 100 characters.

If the frame is wide enough, all characters in the StatusText attribute should be displayed. A limit of 256 characters would probably be acceptable.

The StatusText attribute should be changed from a varchar(100) to a varchar(256).

8528382/3  --  Using Wheel Mouse to Scroll within TableFields

OpenROAD should support mice with a wheel to scroll within TableFields.

8447141  --  Use of GIF89a Interlaced images

OpenROAD 4.0 should be augmented to allow GIF89a Interlaced and non-interlaced (multi-header) images to be used as the bitmap image for fixed images, file handler based images and bitmapobjects on buttons etc.

8447130/1  --  Register for native window manager events

OpenROAD should be augmented so that the ProcExec object (and children) have the ability to register for native Window Manager Events. These Events would include (but not necessarilly be limited to):

  • OnAmbientProperty (for included ActiveX containers)
  • OnNotify/OnChildNotify
  • WM_Keydown (Key Press operation on the InputFocusField)
  • WM_KeyUp (Analogous operation to the Key Press operation)
  • WM_MouseMove & WM_MouseWheel (to implement the MouseOver event similar to the MouseMove text based option in the property screen of some objects)
  • WM_VKeyToItem/
    CBN_EditChange/
    CBN_SelChange/
    CBN_SelEndCancel (to allow true Window´s Combo box finds that have more than first key find facilities, and the ListBox features in Optionfields)

There are probablly more events that can be registered or that I have not included specifically, as I don´t have an idea on the event name. Things such as the Jasmine/Opal products´ FlyOver event/feature would be lovely.

7579015/1  --  PROFILE FLAG FOR WORKBNCH.IMG

Provide a new command line flag to start the workbench with a distinct profile. Most developers always work with only one profile, so if they could specify the profile name on the command line they would not have to click on the Connect button.

7553023/1  --  MULTIPLE QUERIES IN REPORTS

Provide availability to generate reports with OR-Reporter, that contain data from multiple queries and multiple databases. Scripted SIR 98050.

7552994/1  --  Class Runtime Information

Provide runtime information about objects:

  • Name of available attributes and methods
  • Reference counter

7552985/1  --  CONSTRUCTOR/DESTRUCTOR METHODS

Provide Constructor- and Destructor-methods that can be specified by the 4GL-programmer. These methods should automatically be invoked after a userclass object was created or after it has been released (free), respectively.

7552977/1  --  RELAXED COMPILER OPTION

Provide a compiler option to do a less restrictive checking for the mapping of CompositeFields to UserClass objects. By using this option it should be possible to have named fields within the composite fields, where the field is not mapped to an attribute within the userclass. Instead of the compiler option, you could also provide an attribute (e.g. IsMapped) for the FormField class, that specifies, if the field is mapped to an attribute of the userclass.

7552968/1  --  EVENTS FOR USERCLASS-OBJECTS

Provide events for UserClass objects similar to external class objects. Required: - Method to raise an event on an UserClass object: UserObject.RaiseEvent(eventname = ´eventname´, ... /* parameters for event*/); - Event syntax to catch events: ON userobjectevent userobject_variablename eventname (parameterlist) = BEGIN ... END

7418588/2  --  UserClasses and Methods Unsorted

The Create Method Break Condition frame does not sort the list of Classes or the list of Methods, making it very difficult to locate a class if the application has a large number of classes, or locate a method if the class has a large number of methods.

7349030/1  --  ALPHABETICAL ORDER IN CLASS BROWSER

Class Browser should display classes in external class library in alphabetical order. Classes are not sorted by name when examining an external class library in the class browser. Userclasses and systemclasses are sorted by name.

6814555/2 II_W4GLAPPS_DIR Path Feb 17, 1999

Currently only one location is a valid entry for II_W4GLAPPS_DIR. Please provide a means whereby multiple directories/paths can be entered (as per II_LIBU3GL for example) which can then be scanned for the required image file.

6582927/1 SetForegroundWindow ( ) Nov 4, 1998

This DAR seeks to have a new method created on the FrameExec object called SetForeground(). This will effectively implement the SetForegroundWindow API function as an OpenROAD method. The new method will use that current frames WidgitIWindow Handle to perform the SetForeGround() method.

The current window will then be resolved above all windows on the desktop.

6381564/1 FRAME LAYER SEQUENCE Aug 7, 1998

This DAR is an adjunct to DAR 5200726

Can OpenROAD please have a new frame exec attribute called FrameLayerSequence. The FrameLayerSequence would act like the FormFields field layer and the shape layer attribute, and would indicate the display ordering Z order of FrameExec within an application.

For example a FrameExec with a designated FrameLayerSequence id of 1 would always appear and remain behind a frame with a FrameLayerSequence id of 99. All of the visible objects on the FrameExec with a FrameLayerSequence of 1 would be capable of taking click events even when partially obscured by frame with id 99.

The attribute should be RW. The setting can be implemented via a method like SetLayerSequence which could be an abstract attribute declared at ProcExec or a realaised method on GhostExec (for example CurFrame.SetLayerSequence(id ={int}), it would also exist on the Frame Properties sheet and in the CALL, OPEN and GOTO frame system calls.

6273608 Fetching Component Messages in the Trace Window 11-Jun-1998

We would like to be able to turn off the "Fetching <component-name> from image . . . done." messages that appear in the trace window.

This is for two reasons; First, writing anything to the trace window is a slow procedure and decreases performance. This is especially true when fetching a user class that inherits from a number of other user classes. Second, for a production system, only exception messages should be displayed. With so many "fetching" messages being displayed the user has a tendency to ignore all messages in the trace window.

6268045/2 New ROWSELECTED event for Tablefields Jul 23, 1998

The situation now is.... 
  1. You click on a tablefield row, it receives the input focus and becomes highlighted and CurRow is set.
  2. You scroll down so that row is no longer visible.
  3. The result of the above action is that the previously clicked row remains highlighted (as you have set Scrolling Changes Selection to false on the properties sheet), but the input focus moves to the first visible row in the tablefield. The traces in the code show what is happening. As soon as the row selected in step 1 is scrolled out of view a ChildExit event occurs for that field followed by a ChildEntry for the first visible row.
  4. The problem occurs when you then click on that first visible row. It now becomes highlighted but because it already has the input focus the entry entry event does not get reactivated.
To overcome this situation.
  • A new event, such as RowSelected is needed. This event would be generated any time a rows is explicitly select with the MOUSE. (scrolling with arrows keys does NOT select a row).
  • This event MUST be fired when the CurRow is clicked on with the mouse, and the row MUST also be selected.
  • IF it is decided that it is possible to allow the CurRow to scroll off he screen (as per 4.0 ListViewField), this should be done by adding a new Boolean attribute whose default behaviour does not change (eg. ScrollOutOfView (default FALSE)).
  • The RowSelected event should not be fired when an already selected row is clicked on, even though this may fire an Entry event.

6211446 MosaicField 27 May, 1998

The creation of a new object type called a MosaicField which would automatically manage the borders and positioning of groups of objects. Graphically examples and suggested code included as part of the DAR.

5783705 Delete a Single Component with the Destroyapp Utility 25-Sep-1997

The Destroyapp utility will destroy an entire application. It should be modified to allow the user to destroy a single component. This would be similar to the way the Importapp and Exportapp utilities allow the user to import or export a single component with the -c parameter.

We are attempting to do all our OpenROAD source code management and image builds from command procedures. This feature would allow us to automate destroying obsolete components.

5200721  --  SYSTEM EXTENSIBLE CLASS OBJECTS Nov 3, 1996

For consideration in subsequent release. Ability to create user defined subclasses of nominated system class objects (for example the EnnumField, ArrayObject etc).

5200719  --  ARCSHAPE NOT RENDERING Nov 3, 1996

Ability to use the ArcShape system class object (hidden in the Runtime version but available via the debugger in the development version). ArcShape worked correctly in the W2GL 2.0 version, was slightly broken in the OpenROAD 3.0 version, was very broken in the 3.5 release and is missing in the 4.0 release. Was mentioned that the object would make a return in the OpenROAD 4.x release.

5198865  --  MAKEIMAGE FLAG Nov 1, 1996

Makeimage command line flag which designates a path for a file which contains a list of included apps to be used instead of the included applications defined in the application catalog. This is different to the included apps override file flag.

The NAIUA Web Site is hosted by Click here to visit Caribou Lake and maintained by Click here to visit IPSO Incorporated