Académique Documents
Professionnel Documents
Culture Documents
Unify VISION:
Concepts
E 1995, 1996, 1998, 2000, 2002 Unify Corporation. All rights reserved.
No part of this document may be reproduced, transmitted, transcribed, stored in a retrieval system,
or translated into any language or computer language, in any form or by any means, electronic,
mechanical, magnetic, optical, chemical, manual or otherwise without the prior written consent of
Unify Corporation.
Unify Corporation makes no representations or warranties with respect to the contents of this
document and specifically disclaims any implied warranties of merchantability or fitness for any
particular purpose. Further, Unify Corporation reserves the right to revise this document and to
make changes from time to time in its content without being obligated to notify any person of such
revisions or changes.
The Software described in this document is furnished under a Software License Agreement. The
Software may be used or copied only in accordance with the terms of the license agreement. It is
against the law to copy the Software on tape, disk, or any other medium for any purpose other than
that described in the license agreement.
The Unify Corporation Publications Department values and appreciates any comments you may
have concerning our products or this document. Please address comments to:
UNIFY, ACCELL, VISION, and the Unify Logo are registered trademarks of Unify Corporation.
DataServer is a trademark of Unify Corporation. UNIX is a registered trademark of The Open
Group in the United States and other countries. The X Window System is a product of the
Massachusetts Institute of Technology. Motif, OSF, and OSF/Motif are trademarks of Open
Software Foundation, Inc. SYBASE is a registered trademark, and SQL Server, DB_Library, and
Open Server are trademarks of Sybase, Inc. INFORMIX is a registered trademark of a subsidiary of
IBM. INGRES is a trademark of Computer Associates INternational, Inc. ORACLE is a registered
trademark of Oracle Corporation. Sun is a registered trademark, and SunView, Sun_3, Sun_4,
X11/NeWS, SunOS, PC_NFS, and Open Windows are trademarks of Sun Microsystems. All
SPARC trademarks are trademarks or registered trademarks of SPARC International, Inc.
SPARCstation is licensed exclusively to Sun Microsystems, Inc. Novell is a registered trademark of
Novell, Inc. Macintosh is a trademark of Apple Computer, Inc. Microsoft, MS, and Windows are
registered trademarksoff Microsoft. All other products or services mentioned herein may be
registered trademarks, trademarks, or service marks of their respective manufacturers, companies, or
organizations.
Part Number: 7365-06
2
Contents
3
Tool bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Menu bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Database Connection Map file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Help system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Form relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Accessing a database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
The basics of a partitioned application . . . . . . . . . . . . . . . . . . . . . . . . . 50
Application partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Partition groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Unify Object Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Benefits of partitioned applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
System services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Application services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Services and databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Services and transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Services and threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Replicated services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Replication groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Replication registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Business events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Name services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
System management classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Communication within a partitioned application . . . . . . . . . . . . . . . . . . 65
Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Object references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Synchronous and asynchronous modes . . . . . . . . . . . . . . . . . . . . . . 65
Contents 5
7 Application execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
VISION Runtime Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Database connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Displaying the forms of an application . . . . . . . . . . . . . . . . . . . . . . . . . 121
Form location at runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Form operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Field operations and field order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Field execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The first field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Next fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Previous fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Form modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Selected sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Providing Unify VISION with row identification information . . . . . . . 137
Why row IDs are important . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Specifying row ID columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Using rules or triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
System information fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Drag and drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Use this manual in conjunction with Unify VISION: 4GL Reference, which
provides detailed syntax for all features.
Prerequisite experience
9
Before you start
Before getting started with this manual, read and follow the instructions
given for installing and configuring Unify VISION, as described in the
following documents:
Windows installation instructions
Unify VISION: Installation Guide for UNIX
Conventions
This manual uses the following typographical conventions to differentiate
Unify VISION features:
Syntax
boldface Boldface words are literal strings that you must type
exactly as shown.
Narrative text
Manual Title Titles of manuals are shown in italics, for example, Unify
VISION: Concepts.
Special paragraphs
Warning A warning cautions against an action that could cause data loss or
damage to the database.
Related information Related Information tells you where to find more information about the
described topics.
13
Client/server architecture
The Unify VISION graphical class browser and tightly integrated script
editor (with outlining, error marking, and built-in class tree traversal)
provide a flexible transition to object-oriented development from a more
traditional programming approach.
Related information For information about partitioned applications, see The application
model on page 35.
Related information For information about ActiveX container classes, see Working with
other graphical classes in Unify VISION: Designer
Related information For more information about Unify VISION/Studio integration, see the
Unify VISION: Studio Users Guide under VISION Integration
21
Unify VISION objects
Some of the visible objects, in turn, are built from other objects. For
instance, a form object usually contains one or more text field objects,
labels, buttons, and so forth.
Most Unify VISION objects have a series of attributes and methods. The
attributes define the appearance of the object while the methods define
the behavior of the object. For example, a button object has:
A button is an object with A label attribute, that specifies the characters on the button
attributes and methods
An ON CLICK method that is executed when a user presses the
button
In Unify VISION, the variables of an object are the attributes. All objects
have attributes. Most objects have a set of predefined methods. Service
and form classes can also have developer-defined methods.
Graphical objects are entities that are visible when a user runs the
application: the menu bar, the tool bar, the forms, the fields, and trim
(boxes, lines, and images) on the form. Fields on a Unify VISION form
can be represented as check boxes, combo boxes, dropdown boxes, list
boxes, and others.
In this manual set, the words instance or object are omitted when not
necessary to the information being presented. For example, a form object
or form instance is simply referred to as a form.
The following illustration shows how you can visualize the class
definition as a template for the button object. The light grey boxes
represent the parts of the template that are filled in at runtime to create
an instance of a button class, or more simply, a button object:
Attributes Methods
ACTION_NAME = some attribute setting ON CLICK
AUTO_ZOOM =
BACKGROUND = 4GL statements
DRAG_ALLOWED =
DRAG_DROP_ALLOWED =
ON CURRENT
DRAG_INVALID_ICON_NAME
4GL statements
=
FONT_FACE =
FONT_FAMILY = ON DOUBLE CLICK
FONT_SIZE =
4GL statements
FOREGROUND =
FYI_MESSAGE =
ON DRAG DROP
HEIGHT =
HELP_TAG = 4GL statements
LABEL_STRING =
OBJECT_ID =
... ...
VISIBLE =
WIDTH = ON NOT CURRENT
X= 4GL statements
Y=
The classes available to you are initially defined by the Unify VISION
foundation classes. From any foundation class, you create a subclass in
which you can customize the default attributes and methods per your
requirements.
Related information For a list of the foundation classes, see Unify VISION foundation
classes on page 33.
foundation In a class hierarchy drawing like the one on the left, the subclasses appear
class below the base classes. At the top of the tree is the foundation class,
which is the most general base class. The foundation class is sometimes
base called the root class.
class
general to specific
Subclasses
By default, a class inherits all of the attribute settings and methods from
its base class. Each subclass can choose to accept the inheritance or
override it. To override the inheritance of an attribute, you specify a new
value for the attribute of the subclass either through the class properties
dialog in VISION Designer or through a VISION 4GL script for the class.
For example, the following illustration names the methods of the button
class template in a base class and two of its subclasses. Each subclass
inherits only those methods that it does not define. The first subclass
overrides the base class methods ON CLICK and ON NOT CURRENT.
The next level subclass, however, inherits these two methods and
overrides the ON CURRENT method with a new definition:
Base class ON CLICK ON CURRENT ON DOUBLE CLICK ON DRAG DROP ON NOT CURRENT
4GL statements 4GL statements 4GL statements 4GL statements 4GL statements
Unify VISION supports class hierarchies of any level for all foundation
classes except Image and GlobalFunction.
There are only two types of classes that can have developer-defined
methods: forms and services. In partitioned applications, these classes are
network enabled, thus allowing their methods and attributes to be
accessed and invoked from any application in the network.
OO principle The data within an object can be accessed only by the objects
methods[Taylor].
By defining and storing the methods of a class in the class script, the
method definitions are protected.
Related information Some predefined methods are callable from a script by using the
EXECUTE command. For information about the EXECUTE command,
see Unify VISION: 4GL Reference.
Images and global functions are also stored in class libraries, although
they are not true classes because they cannot be subclassed beyond one
level. However, it is helpful with the organization of an application to
store images and global functions in class libraries.
External references
The class browser can show a class definition that resides in another class
library. For instance, perhaps a form class uses a tool bar class that
In VISION Class Browser, you can display the locations of all external
references of a class library. For example, the Button1, Button2, and
Button4 classes in the following illustration reside in the lib0 class
library; all other button classes are in the current class library (lib1):
You can access and modify a class definition that appears as an external
reference just as you can any other class definition in the library. An
external reference is like a link, or pointer, to the actual class definition in
another class library. When you double-click on the
Home+lib0.ucl:Button1 name above, for example, you are starting a
design session with the Button1 class in its source location in the lib0
class library, not in the current library (in this case, lib1).
You can choose whether to view the external references of a class library
in VISION Class Browser.
From class libraries with external references, you can create shadow
libraries.
Shadow libraries
Related information For more information about VISION Class Browser, see VISION Class
Browser on page 78.
The Unify VISION foundation class contains a master template for every
type of class that can be used in a Unify VISION application. The
foundation classes can be grouped based on how they are used as
follows:
For descriptions of the attributes and methods associated with a class, see
Unify VISION: Class Reference.
35
A simple and small application: what the user sees
Usually, a form has a tool bar and a menu bar associated with it.
Commands on the tool bar and menu bar interact with the objects on the
form to create the desired behavior of the application. For example, to
perform a query of an underlying database from the form, a user can
enter an account number in a field and then select Find from the Database
menu. The fields of the form are then populated by the data in the first
record.
The user begins running the application with a given form and then
traverses through the other forms of the application. How the user travels
through the forms depends on the commands that are invoked by the user
and the behavior that you have specified for each form. Perhaps you have
associated a button with a command that zooms to (displays) another
form; then, when the user clicks on the button, the form that you have
designated as the zoom form appears. For example, the Order Detail
Forms
The form is the way that a user interacts with your application. This
central application component has three aspects:
physical appearance
behavior
location
The physical appearance of a form is how it looks; which field and trim
classes are placed on the form and how they are arranged. There are
many classes that can be placed on a form, including other forms.
labels
numeric and
character text
field
subform
button
Behavior of a form
The behavior of a form specifies how it treats data and how it interacts
with other forms as your application executes. Form behavior is
controlled by two factors:
the settings on the property dialog associated with the form
an optional VISION 4GL script associated with the form
The form properties dialog specifies the default behavior of the form.
The optional VISION 4GL script is used to override and enhance the
default behavior whenever necessary. The form properties dialog settings
and the optional script are stored with the form as part of its class
definition.
Location of a form
The location of the form refers to the class library that contains the form.
The forms that comprise your application are usually a combination of
application-specific forms and forms that are shared among a
development team.
When your application uses forms that are not within the immediate class
library, you specify to Unify VISION where the other classes are located.
Tool bar
Unify VISION provides a default tool bar with common user commands
such as those that display the next or previous record. You can design a
custom tool bar for the form to execute commands that you define in a
VISION 4GL script. You can also choose to omit the tool bar.
The following illustration shows the default tool bar provided by Unify
VISION:
You design custom tool bars in VISION Designer. You specify to Unify
VISION which tool bar is associated with the forms of an application
partition in the partition profile.
Menu bar
A menu bar is a bar with pulldown menus that execute commands for a
form. Users execute these commands on selected objects when they run
your application.
You can design custom menu bars in VISION Designer. You specify to
Unify VISION which menu bar is associated with the forms of an
application partition in the partition profile.
Related information For more information about designing form, menu bar, and tool bar
classes, see Unify VISION: Designer.
Profile
The profile is accessed through the Partition Profile Editor only. The
profile has several categories of settings, each of which correspond to a
panel in the editor:
Runtime The first form of the partition, where the help documents
are located, and the icon that represents the application
when it is minimized.
Components The default menu and tool bar associated with the
application.
Class Libraries
The names of the class libraries to be associated with an
application. Each class in the class libraries list is
available to the classes of the current class library (both
at development time and at runtime).
While only one profile can be current at a given time, you can create
different profiles for the same application. For example, you might have
one profile that prepares the application environment for development
and another profile that prepares the application environment for
execution.
Related information For more information about partition profiles, see Getting started in
Unify VISION: Developing an Application.
Your application can access one or more databases. The easiest way to
facilitate this access is to set up all possible connections that your
application uses in the Database Connection Map (DCM) file. Then you
specify the DCM file path in the profile.
To define a connection, you name the connection and then set the
required external preferences for the database. The information is written
to the DCM file:
[TOUR]
DBTYPE = ODBC
Status displays
results of Test
Connection
Related information For more information about database connections and the DCM File
Editor, see Getting started in Unify VISION: Developing an Application.
Help system
You can provide the users of your application with a help system. The
help system can provide both indexed help and context-sensitive help,
depending on the method you choose to create your help files.
With indexed help, users browse through help topics from a list of
contents. In context-sensitive help, each object within a form can be
associated with help information. For example, help on the Account #
field of the ORDERS form might appear as follows:
Related information For more information about including a help system in your application,
see the help system documentation appropriate for your platform.
Parent form
Accounts Orders
Child forms
A next form is a child form that is accessed when a user running your
application chooses the Next Form command. A user can execute this
command numerous ways: by selecting the command from a menu or
toolbar, or by clicking on a button that you have defined with the
command, for example.
You can specify more than one next form for a form. When more than
one next form is defined, the user chooses the form that they want by
selecting the form name from a Next Form list.
A next form can also be an auto form, which means that the form appears
automatically when its parent form appears.
Subform relationships
A subform is an auto form, that is, a next form that appears automatically
with the parent form. A subform can have a different target table from the
parent form.
The subform and parent form appear within the same window and appear
as one class in VISION Class Browser.
A zoom form is a child form that is accessed from an object on the parent
form. To access the zoom form, the user can click on a button that you
have associated with the uv_zoom command, for example.
A zoom form can be defined for a list box, radio group, slider, checkbox,
or text field object. For example, a zoom form for a text field can be used
to display inventory items and prices when a retail clerk is typing in a
customer order.
A zoom form is usually used to display a list of values from which the
user can choose a value to be copied to the current field.
Master-detail relationships
The primary key columns do not need to appear as fields on the form.
They are used merely to create the selected set of the detail form.
Related information For information about setting up a master-detail relationship between two
forms, see Working with form classes in Unify VISION: Designer.
1001
Tofft Hardware
Mr. Elmer Jones
(916)5556451
Choosing a connection
On the form level, in the Designer, you choose which connection is used
for that form. Objects on the form are associated with a column in a table
of the associated database. Through this object, data is updated or
displayed.
Related information For information about preference files and external preferences, see
Managing the application environment on page 101.
Selected set
When Unify VISION queries a database, the rows that match the search
criteria are returned to become the records in the selected set.
Unify VISION identifies each row of the selected set by using a unique
identifier to access the row when moving from record to record in the
selected set.
Related information For more information about selected sets, see Selected sets on
page 133.
After the service completes the task, the result is returned to the client
application partition where execution resumes. The existence of
application partitions is transparent to the users of a partitioned
application. The users execute the application from a single desktop as if
it were entirely present on that desktop.
Application partitions
An application partition is composed of one or more services or
user-interface components. Typically, there are many services or user
Each application partition is designed for a particular task and for a host
that best performs the task. For example, the user-interface components
would be placed in a partition on the host that supports the display of
these objects along with any desktop application logic it is practical to
run locally.
The partitions that contain the application services are also designed for a
particular type of host. If a service is to perform intensive
number-crunching calculations, it would be placed in a partition on a host
with a powerful CPU. A partition with a service that performs
database-related operations would be placed on a host that can access the
appropriate DBMS locally.
data partition
client partition
compute1 partition
compute2 partition
Partition groups
A partition group is a collection of one or more partitions that run on the
same host. A group of one or more partition groups is loosely associated
and managed by their host.
You decide which application partitions reside in the same partition group
based on these partition group characteristics:
Communication between partitions within the same partition group
is faster than between partitions outside of the partition group.
Partitions that reside within a single partition group have a single
communication point-of-entry. This provides a single security
control point. For instance, if all Internet-accessible partitions were
grouped into a single partition group then this would be the only
partition in the application that was accessible from outside the
firewall.
DATA Partition
Group
data partition
CLIENT Partition
Group
COMP Partition
client partition Group
compute1 partition
compute2 partition
While the illustration shows one partition group per host, there can be
multiple partition groups associated with a single host in a large
application. Also, there are typically many partitions contained within a
partition group, rather than the one and two shown above.
The combination of Unify VISION and the Unify Object Broker provide
high-powered, distributed functionality for most sophisticated 3-tier
information systems.
Related information For more information about messages, see Communication within a
partitioned application on page 65.
In Unify VISION, services are provided both by the application and the
underlying system components themselves. Services provided by the
system are called system services. Services provided by the application
are called application services.
System services
Unify VISION and Unify Object Broker provide several system services
useful in the on-going operation and management of a partitioned
application.
Name services
Registers and locates objects.
The types of methods that the application service offers are designed for
the partition that contains the service: a client partition could contain
services to print a report, for example. Or, a partition designed for
numerical processing would contain services that calculates some
numerical value.
For ease of use, a service object can also share its database connections
with other objects within the same partition.
Services which share database connections with other objects within the
same partition may have their operations co-mingled in the same
transaction with operations performed by those objects.
An application that contains at least one form has one user thread. The
user thread is the thread of execution that performs all of the user
interface operations of the form as well as the 4GL operations associated
with the user interface.
Not all applications contain event threads. Only those applications that
use the Unify Object Broker contain event threads. Event threads are
spawned to process incoming messages and business events which have
arrived through the Unify Object Broker. They are also spawned to
perform the constructor and destructor methods for services.
While each event thread will have a private data storage stack for local
variables, global variables are shared between all threads. You must
ensure that when a thread operates on shared global variables, the state
represented by the global variables remains consistent.
For these cases, Unify VISION and Unify Object Broker provide the
ability to operate two or more copies of a service across one or more
hosts. These types of services are called replicated services.
Replication groups
In most ways, a replication group can be treated just as any other object
is treated. Thus, applications utilizing a replication group can be
developed without the knowledge that the underlying service is being
provided by a replication group rather than by a single service object.
Related information For more information about partitioned applications, see Building and
managing a partitioned application in Unify VISION: Developing an
Application.
Each of these steps involves some important step in the order fulfillment
process and will also involve changes to the information associated with
the order. Thus, the information system needs to react to these steps in
the process and modify the information accordingly.
Unify VISION uses a publish and subscribe protocol for utilizing business
events.
Related information For more information about business events in partitioned applications,
see Building and managing a partitioned application in Unify VISION:
Developing an Application.
Unify Object Broker provides a name service which can be used to locate
services and other application objects throughout the network.
You can also choose to use a local name service. All objects that you
want to be accessible throughout a partition only are registered with the
local name service. However, you are not limited to this. Name services
simply provide a well-known location to perform registration and lookup.
The object references registered in the name services can be references to
any object whether it is local to the partition or within another partition.
Related information For more information about name services in partitioned applications, see
Building and managing a partitioned application in Unify VISION:
Developing an Application.
UOHost Manages the host. You can access this object to obtain
the host name, port number, and operating system
process ID, and search path. You can also use this object
to start a partition or partition group. The UOHost object
is created when the uohostd utility executes.
UOPartitionGroup
Manages a Unify Object Broker partition group. You can
access this object to obtain the profile name related to the
partition group, the host associated with the partition
group, and other information. The UOPartitionGroup
object is created when the uorouter utility executes.
UVApplPartition
Manages a Unify VISION application partition. You can
access this object to obtain the profile associated with the
partition, information about the services of the partition,
and other information. The UVApplPartition object is
created when the vision utility is used to execute the
application partition.
UOReplicationRegistry
Manages a Unify Object Broker replication registry. You
can use the methods supplied by this object to get the
names of the services in a replication group. The
UOReplicationRegistry object is created by the uospd
daemon. The uospd daemon is automatically started by
Unify VISION when a replication registry is needed
(provided the uorouter utility has been executed).
Related information For more information about the system management classes, see Unify
VISION: Class Reference
Messages
Object references
Before a message can be sent to an object, the sender must first acquire
the location of the object. The location is identified by a unique object
reference.
Related information For more information about messages in partitioned applications, see
Building and managing a partitioned application in Unify VISION:
Developing an Application.
Related information For more information about ActiveX automation, see Building and
managing a partitioned application in Unify VISION: Developing an
Application.
For more information about the ActiveX container class, see Unify
VISION: Designer.
Application partition
An application partition is an instance of a VISION
Runtime Manager process. An application partition is
managed by a UVApplPartition object and
UOPartition object.
System partition
A system partition is created automatically in each
partition group. A system partition is managed by the
uospd daemon and a UOPartition object.
Replication registry
A replication registry manages the location of replication
groups and their members. A replication registry is
managed by a UOReplicationRegistry system object.
A host machine
A partition group
managed by UOHost
A partition
servicea
managed by UOPartitionGroup serviceb
servicec
managed by UVApplPartition, serviced
UOPartition servicee
(local)
managed by UONameService
Name Service
system partition
managed by UONameService
A partition group
Related information For information about VISION Console, see Using VISION Console in
Unify VISION: Developing an Application.
71
VISION Development Environment overview
Help Third-party
System VISION Development Environment Tools
For graphical classes, you design the classes in VISION Designer and
specify their default behavior by setting attributes on the class properties
dialog.
You use VISION Image Editor to design images and icons for your
application. You use the Partition Profile Editor to define the partition
profile and you use the Partition Group Profile Editor to define the
partition group profile.
After compiling the classes by using the compiler, you use VISION
Runtime Manager to run your application. You can also use VISION
Debugger to debug your application.
You can access any third-party tools that have been integrated into
VISION Development Environment.
Throughout the environment and among all Unify VISION tools, there is
a consistent method of presenting information and of allowing you to
specify your choices of application behavior. This section describes these
general features of VISION Development Environment:
icons in containers
menu and tool bars
dialogs
Icons in containers
Class library
Project
containers
Related information For information about the required objects in an application, see The
application model on page 35.
A menu is a list of commands that you can access from the menu bar or
from a popup menu by clicking on a mouse button or by using keyboard
mnemonics or accelerators. A tool bar is a panel of buttons that execute
common commands.
Menu bar
Tool bar
Pulldown menu
Selected item
Related information The commands on menu and tool bars of VISION Development
Environment are described in VISION Development Environment
commands in Unify VISION: Developing an Application.
Unify VISION uses dialogs to present choices to you as you develop your
application. You enter values on a dialog by filling in blanks or by
choosing from a list of options.
Many dialogs contain more than one panel. The panels are presented
notebook style, with the panel name appearing on a tab at the top of the
panel. If you select a panel, the panel moves to the front of the dialog.
The following screen shows one of the dialog panels that allows you to
customize your working environment. On this panel, for example, you
can choose the level of informational messages that you receive from
Unify VISION. As an initial user, you can receive detailed messages
(Novice). As an experienced user, you can choose to receive only
essential information (Expert). The tabs of the other panels of the dialog
are visible. Use the arrow buttons to scroll the available panels to the left
or right.
Available panels
Environment
preferences
Standard dialog
controls
Unify VISION dialogs look different on each type of host. Under UNIX,
the panels have a three-dimensional look. Under Windows, the panels
have a two-dimensional look. The tab scroll buttons are both at the upper
right corner of the panel under Windows. The left and right tab scroll
buttons are at opposite sides of the upper portion of the panel under
UNIX.
Related information Specific VISION Development Environment dialogs and panels are
described in various chapters of Unify VISION: Developing an
Application.
VISION Class Browser allows you to build and modify a set of class
definitions in a class library. From VISION Class Browser, you perform
all tasks relevant to a class definition: choosing its base class and which
attributes or methods are inherited from it, customizing the class
definition by modifying the inherited attributes and methods, designing
and modifying the graphical component of the class definition (if
relevant), and removing a class definition.
Related information For more information about VISION Class Browser, see Defining a class
in VISION Class Browser in Unify VISION: Developing an Application.
You use VISION Designer to define a graphical class. This task has three
aspects:
For container classes, you design the layout of the class
Optionally, you can specify attribute settings on the class
properties dialog
Optionally, you can add VISION 4GL to the class script
You use standard GUI techniques, such as clicking on a mouse and sizing
to design the layout. To place existing classes on the container class, you
select and drag the class name from a VISION Class Browser window to
the container. To place a new subclass of a foundation class on the
container class, use the Designer Palette.
Class browser
window
VISION Designer provides several classes of objects that are used to build
graphical classes which ultimately appear on a form class. The following
table groups the classes based on how they are used:
Tip When you first begin to build a class library, you can choose to generate
classes automatically based on a database connection. The default format
includes a field for every column in the target table and its associated
label (column name). You can specify the type of object to represent each
column of data.
You use the Designer Palette and property dialogs to refine the default
appearance of the form. The following illustration shows the default and
finished versions of the same form.
Default form
generated by Unify
VISION
The Form Properties dialog, for example, contains the following panels:
Database Lets you control the database operations that the user can
perform on the database through the form. Database
access is also specified at the application level, as part of
the application profile.
Components Lets you specify a runtime menu and tool bar for the
form. If you do not specify a menu bar, the system
default bar is used. If you do not specify a tool bar, no
tool bar appears.
Field Order Lets you specify the default order in which the user
traverses the fields on the form. You can specify the
fields that are allowed to receive values from the user.
Interactive Lets you control how the user interacts with the form at
runtime. For example, you can specify which fields
require input from the user at runtime.
Sort Order Lets you specify the sort order for a selected set. Unify
VISION supplies the names of the columns in the
associated table; you indicate which columns of the
column list should be included in the sort.
Related information The class properties dialogs are described in Panel reference in Unify
VISION: Designer.
VISION Script Editor is a tool that lets you edit a VISION 4GL script or
other file. VISION 4GL is an event-driven language that customizes the
behavior of a class. For graphical classes, the script customizes the
behavior as defined previously by the property panels. Each class is
associated with its own script file.
Method list
Script text
Status line
In VISION Script Editor, you add templates for allowable methods and
then supply VISION 4GL statements and functions to complete the
method. You can access VISION Script Editor from within VISION
Designer or VISION Class Browser.
Methods Sections in a script file that are similar to an if...then construct. When an
event occurs, the statements in the event section are executed. Events can
include accessing a child form, zooming to a form, and clicking on a
field, for example.
Script statements Statements that set up and manage VISION 4GL variables and other
constructs.
Database (SQL) statements ANSI-compliant or vendor-specific SQL statements that are executed by
the underlying DBMS. These statements can be any data definition
language (DDL) statements or data manipulation language (DML)
statements that are recognized by the DBMS.
Even DBMS SQL extensions can be used in scripts and functions. VISION
4GL has a statement block structure in which any SQL statements that are
delimited by BEGIN_SQL and END_SQL are passed to the DBMS to be
executed.
System functions A variety of functions for process control, binary data manipulation,
input and output, string data manipulation, text data manipulation, data
type conversion, and status checking.
Related information The syntax for script and database statements and system functions is
described in Unify VISION: 4GL Reference.
You use VISION Image Editor to create and modify Unify VISION
images. Images are used on form classes and as icons for objects in
VISION Development Environment.
Tool palette
Color palette
Related information For information about VISION Image Editor, see Creating and editing
images in Unify VISION: Developing an Application.
VISION compiler transforms a VISION 4GL script from a text file into
pseudocode that is interpreted by the VISION Runtime Manager.
Because a script is associated (and stored) with a class, you compile the
script by compiling the class. You need to compile a class only if it has
4GL script or functions associated with it.
The Make command also compiles scripts. The Make command can
distinguish which classes have changed since they were last compiled,
and compile only those classes.
When you choose the Compile or Make command from the Tools menu
in VISION Development Environment, VISION compiler is called. You
can specify options to the utility on the Tool and Compiler panels in the
Development Environment Preference dialog.
When you choose the Run command from the Tools menu in VISION
Development Environment, the vision utility is called. You can specify
options to the utility on a Development Environment Preference dialog
panel.
Related information The vision utility is described in Unify VISION: Application Reference.
If your application has produced unexpected results, you can use VISION
Debugger to interactively suspend execution of the application at selected
points. While the application is suspended, you can use the VISION
Debugger window to browse through your application forms and scripts
or to view the values of variables. The following illustration shows a
section of a form script during a Debugger session.
Related information For more information about VISION Debugger, see Unify VISION:
Developing an Application.
When you create a new class, you specify the icon that represents an
instance of the class to Unify VISION and you also specify the allowable
operations on one of the objects. The allowable operations are called
methods. Examples of these methods for the spreadsheet object are edit
and print. By filling in values on a property sheet, you associate the
command that is executed when the method is chosen from a runtime
menu. For example, when you select the edit method on a spreadsheet
object, the associated command line to start an edit session on a
spreadsheet is executed.
Related information For more information about creating a help system for an application, see
the Help system documentation for your platform.
Version control
This chapter describes Unify VISION version control. Version control is a
method of managing changes to objects in an application. This chapter
provides the basic methodology of version control, lists which Unify
VISION objects are eligible for version control, and describes the role that
version archives have in version control.
93
What is version control?
Each version archive contains the latest version of the class or file, as
well as history information leading back to the original version. The
history information in an archive includes the changes made to an item,
descriptions of the changes, information about who made the changes,
and the dates and times that the changes were made.
Through version control you can retrieve and build any version of an
application in a consistent, repeatable manner. You simply retrieve the
revisions of each item that you want from the version archives.
Related information For more information about PVCS Version Manager, see the PVCS
Version Manager documentation.
For more information about using another version control system, see
Using VISION Version Control in Unify VISION: Developing an
Application.
For instance, assume a coding bug appears in the current version only of
a global function that is under version control. You can quickly locate the
lines of code that introduced the bug by comparing the current version of
the function to the prior version.
You can place any class definition into version control; the foundation
classes cannot be placed into version control.
The tasks that you perform to achieve version control in your application
vary as your application development process evolves. Basically, you
check in a class or file to version control, and then check out the item to
view or edit it. After editing the object, you check it in again.
Related to the check-in/check-out cycle are other tasks that you perform
as necessary. You can view the differences between object versions to
learn what is changing in an application. At times, you may need to reset
the lock on an item.
When you check out a copy of an item from a version archive, the copy
of the object appears as the standard object icon. To help distinguish
checked-out copies from non-version control objects, use the Detailed
Listing view.
After you edit the object, you check in the changes to the object. The
changed version becomes the latest revision of the object and is available
for other developers to check out.
Viewing changes
You can compare two revisions of an object that is under version control.
This is useful to verify what has changed between revisions.
Resetting locks
A class or file from a version archive is write-locked when you check it
out for editing. When you check the item back into version control, the
lock is released.
The link allows Unify VISION to access the appropriate version archive
when you check the item in after editing or when you view the
differences between revisions of the item.
Unify VISION has many attributes and external preferences that work
together to create a flexible application development and runtime
environment. This section also describes the general functions of the
attributes and preferences and where they can be set.
101
Organizing an application within VISION Development
Environment
This section briefly describes the relationship among the containers and
windows of VISION Development Environment.
project name
class
library
Preference files contain settings for external preferences that are specific
to your application.
When you double-click on the class library icon, the VISION Class
Browser window appears. This window is titled Class Library.
The class library can reference other classes, that are not within the class
library container. For instance, if a form in the container above specifies a
next form named form5, Unify VISION first searches the current class
library for the form. If the form is not found, Unify VISION begins
searching other containers for the form. The containers it searches are
specified in order in the class library list of the partition. This list is
specified on the Class Libraries panel of the partition profile.
Related information For more information about the Class Libraries panel, see Partition
profile and partition group profile editors in Unify VISION: Developing
an Application.
For more information about creating a project and the other objects
described in this section, see Defining a class in VISION Class Browser
in Unify VISION: Developing an Application.
Rescan command
The Rescan command updates the containers with all new items and
removes items that have been deleted. This is important in a shared
environment where other team members are creating and removing
objects that your application accesses.
When you select the Rescan command from the Project menu on the
top-level window, Unify VISION scans again for new objects throughout
all of the open folders and class libraries. When you select the Rescan
command from within a VISION Class Browser or Folder window, only
that container is scanned again.
The View command allows you to change how items are displayed in
VISION Development Environment. By default, items are displayed by
icon as shown throughout this chapter.
Related information For more information about the View command, see VISION
Development Environment preferences in Unify VISION: Developing an
Application.
Projects
The directory of each project folder determines the parent directory of the
class libraries and all items within the project container. If the project
folder contains any folders, these folders each represent a subdirectory
within the project folder directory.
The class library container is represented as a single file. The file name is
the name of the application container with a .ucl extension. The file
resides in the directory specified for the project container. In this
example, the lib1.ucl file is located in the Home project folder directory:
$HOME/lib1.ucl (UNIX) and C:\HOME\lib1.ucl (Windows).
Class library
$HOME/lib1.ucl
Related information For more information about the VISION Development Environment files,
see File formats in Unify VISION: Application Reference.
Some files that are accessed by more than one user in VISION
Development Environment require access management by Unify VISION.
The access management is performed by a lock file in each directory that
contains one of the following files:
preference files (.uvp files)
class library files (.ucl files)
The lock file is named uvlock.uvk. In general, you do not need to create,
access, or move this file. It is created and maintained by Unify VISION.
However, any directory that contains a lock file must have read and write
permission for all users. Use the lock file only during application
development.
To disable lock files for runtime execution of the application, use the
nolock argument of the vision utility for each partition.
Warning Do not delete a lock file. Because this file manages the shared access to
some Unify VISION files, deleting it can lead to corruption of files (the
.uvp or .ucl file).
Attributes
Attributes define properties of classes that are defined in a Unify VISION
application.
Properties that are controlled by attributes include array dimensions, form
title and background color, field data display format, variable data type,
object name and parent ID, and target column name. Many more
attributes can be set to control the appearance and behavior of an
application.
VISION Designer and VISION Development Environment provide a
default attribute for every graphical class. You modify the defaults by
specifying settings on the dialogs of VISION Designer and VISION
Development Environment. You can override these defaults by setting the
attributes in VISION 4GL through a script.
For example, when you create a field on a form in VISION Designer, you
set the default state of the field to VISIBLE. This means that the field is
visible when the form runs. By using the STIPPLED attribute in a 4GL
script, you can override this default behavior in certain cases. For
example, you could set the field to become disabled (field has a
greyed-out appearance) when a certain variable becomes negative.
vision1.vr
(Windows)
.vision1.vr
(UNIX)
As you select options on the dialogs throughout Unify VISION, you can
choose to apply the preferences as a personal or shared preference.
Shared preferences are settings for your group. A group depends on your
network setup.
Personal preferences are for your personal environment only and take
precedence over shared preferences.
Preference hierarchy When a preference value is needed, Unify VISION first checks for
summary personal preferences then checks for shared preferences. If neither
personal nor shared preferences are defined, Unify VISION uses the
release-wide default value for the preference.
External preferences
External preferences let you customize the Unify VISION tools and the
execution environment for a partition. External preferences are similar to
environment variables.
Preference hierarchy At runtime, VISION Runtime Manager searches first for a local
summary application preference file and then for a site preference file. If neither is
found, the preset release defaults set by Unify VISION are used.
For example, for the DBNAME external preference, you can specify
$DBNAME in a preference file. Then the value $DBNAME as set at the
operating system command level (the environment) at the time the file is
read is used.
The names and default settings of all external preferences are described
in Unify VISION: Application Reference.
Application execution
This chapter describes general aspects of the runtime execution of a
Unify VISION application.
117
VISION Runtime Manager
Related information For a description of the vision utility, see Utilities in Unify VISION:
Application Reference.
Note that multiple database connections under the same DBMS are
possible only if the DBMS allows multiple open databases; Unify
DataServer and INFORMIX do not.
For any form, to indicate the database connection that is to be used, you
use one of these (in order of precedence):
a connection specification clause in a VISION 4GL script or
function script
the forms connection as specified on the Connection panel of the
Form Properties dialog in VISION Designer
the application partition connection as specified on the Database
panel of the Partition Profile Editor.
You must set the external preferences that are used by the DBMS to find
the database, for example, SYBASE and DSQUERY for SYBASE SQL
Server, or ORACLE_HOME and ORACLE_SID for ORACLE. These are
the external preferences that identify the DBMS software location and the
database location.
The easiest way to set the required Unify VISION external preferences is
in the Database Connection Map (DCM) file.
Related information For a list of the optional external preferences used by Unify VISION with
your DBMS and their syntax and usage descriptions, see External
preferences syntax descriptions in Unify VISION: Application Reference.
For information about using DBMS external preferences, see your DBMS
manuals.
For more information about the DCM file, see File formats in Unify
VISION: Application Reference.
Unify VISION can display multiple forms at the same time. When several
forms are displayed, they all are form instances, or unique occurrences of
a form class. The user determines which form instance is the current form
by mouse actions.
If you would like the forms to cascade, you can set the CASCADE
external preference to TRUE, and the forms will be cascaded when the
application is initially opened. The default value for the CASCADE
external preference is FALSE.
Related information For more information about form modes, see Form modes on page 131.
Current form
A current form is the form that has focus on the desktop. Only one form
of the application can be current at any given time. By default, when the
user selects a displayed form or executes a form command, the form
becomes current. On UNIX, you can allow a user to make a form current
simply by moving the cursor over the form. To enable this behavior, you
must modify the Unify VISION preferences file and the .Xdefaults file on
your host machine.
When you change which displayed form is current, the following events
occur:
Related information Only when a form is current may the user perform operations on it. See
the description of form operations on page 126.
For more information about changing how a user makes a form current,
see Working with form classes in Unify VISION: Designer.
Although you can use VISION 4GL statements to update forms, the screen
is not refreshed with the changes until after all the statements in the
user-defined method have been executed. Use the REFRESH DISPLAY
statement in your methods to immediately redraw the display with the
changes.
Related information For more information about the REFRESH DISPLAY statement, see
Unify VISION: 4GL Reference.
The actual location of the form depends on the window manager for the
graphical user interface:
Mwm*clientAutoPlace: False
Mwm*interactivePlacement: False
Windows
When a form class is defined to be at the origin (0,0), the
form is positioned in the lower left corner of the screen.
SCREEN_H attribute
SCREEN_W attribute
SCREEN_X attribute
SCREEN_Y attribute
POSITION clause
To position the current form relative to its parent form, use the form
identifiers FIRST_INSTANCE, PREV_INSTANCE, and
THIS_INSTANCE.
Related information For information about form identifiers, see Identifiers in Unify VISION:
Application Reference.
clear-to-find Places the form in find mode. This mode allows a user to
search the database table associated with the form. A
user can perform this operation by choosing the Clear to
Find button on the system tool bar.
next form Displays the next form of the current form. A user can
perform this operation by choosing the Next Form button
on the system tool bar.
help index Displays the help dialog for online help. A user can
access the help dialog by choosing the Help button on
the system tool bar.
Related information For more information about form modes, see Form modes on page 131.
As a user interacts with the current form, the user can perform field
operations relative to a field on the current form. Field operations are
affected by the field order.
Field operations
next tab Moves the cursor to the next tab-stopped field. Use the
Tab Stop dialog option on the Interactive Behavior panel
to specify whether a field can be tab-stopped. A user can
typically use the tab key to perform the next tab
operation.
context help Displays the help text associated with the field. Use the
Help Tag dialog option on the Interactive Behavior panel
to assign a help tag to the field. A user can access the
help information by choosing the help button on the
system tool bar.
clear field Clears a field so that a value can be entered. A user can
use Field ! Clear on the system menu bar to perform the
clear field operation.
Button and hot spot objects, however, will execute their associated
VISION 4GL regardless of the Focusable attribute setting.
Field order
As a user traverses a form, the field order that the cursor follows is
determined by the settings that you specify in VISION Designer and by
any attribute settings.
Next fields
While traversing the fields on a form, the user can execute the previous
field operation. The previous field is determined by the field order list
specified on the Field Order panel in VISION Designer; the field name
listed prior to the current field is the previous field. The
PREVIOUS_FIELD_NAME form attribute, if specified in the script,
specifies the name of the preceding field in the field order list. Any
attributes specified in the script override values set through VISION
Designer.
Related information For more information about the Interactive panel, see Panel reference
in Unify VISION: Designer.
For more information about form and field attributes, see Unify VISION:
Class Reference.
Tip You can display the form mode by including the form_mode system
information field on the form. This field automatically displays the form
mode as the form mode changes. See the description of system
information fields on page 141.
Find mode
A form enters find mode at creation or after execution of a clear-to-find
operation. In find mode, an interactive find operation can be executed to
search for database rows that match specific search criteria. Rows that
match the search criteria are placed as records in a selected set.
Each record of the selected set is displayed on the form from which the
find operation occurred. A user can scroll through the selected set by
choosing the record commands on the system tool bar or system menu.
Add/update/delete mode
When a selected set is displayed, the user can also perform operations
that manipulate the display of records. For example, the next record
command displays the next record in the selected set.
The SELECT statement is then processed by the DBMS. The row values
returned by the DBMS are copied into records and displayed in the
selected set.
After it adds each subset of records to the selected set, VISION Runtime
Manager suspends the target table search. The search is resumed when
the user moves to the end of the current selected set with the
uv_next_record or uv_next_set user commands. This select and add
process occurs each time the user passes the selected sets end boundary
until there are no more records that satisfy the search criteria. If the user
executes the uv_last_record command, all remaining records are found
and added to the selected set.
Related information For information about setting the find count through the Database panel
of VISION Designer, see Panel reference in Unify VISION: Designer.
As indicated above, some features are valid only for forms that are
associated with a target table. Other features can be used with any
selected set.
Related information For descriptions of the DELETE CURRENT SET and REFRESH
CURRENT statements, see Unify VISION: 4GL Reference.
To clear the selected set, VISION Runtime Manager does not perform any
transaction operations; the current transaction is neither committed nor
restarted.
The actions taken depend upon whether the form is running at record
consistency or set consistency.
If any selected set records were modified or added, their associated target
table rows are write locked. Regardless of the forms consistency level,
VISION Runtime Manager does not release these write locks when it
clears the selected set. The write locks remain locked until the current
transaction is either committed or restarted.
The selected set can also be cleared by using the DELETE CURRENT
SET statement. This statement also deletes the associated target table
rows.
Related information For more information about consistency and locking, see Managing
transactions and locks in Unify VISION: Developing an Application.
For more information about the DELETE CURRENT SET statement, see
Unify VISION: 4GL Reference.
You also need to know whether row ID columns can be modified by the
database and how those changes can affect selected set access. For
example, the database can fire a trigger (SYBASE SQL Server) or a rule
(INGRES) to change the values of the row ID columns, and Unify VISION
cannot detect the changes. If row IDs can be modified, you must have a
way of indicating to Unify VISION when the row ID information has
changed and in what way. (A DB2 database that is accessed through MDI
cannot fire triggers.)
The row ID table is a database table for which you can display
information through the DBMS version of SQL. For example, to display
information about the _aclrowids_ table, execute the SYBASE SQL
Server sp_help stored procedure.
Each database in the server can contain one row ID table, but the table
exists only if you have used the ridutil utility to specify row ID columns
for one of the tables in the database. The row ID information for a table
can span one or more rows of the row ID table.
Row ID Row ID
table 1 table 1
When a table has several indexes, and Unify VISION does not choose the
index that you prefer, you can use the row ID table to specify the columns
to be used. Row IDs specified in the row ID table override indexes that
are defined for the table.
Related information For a list of the database column types that can be used for row IDs, see
the ridutil utility description in Unify VISION: Application Reference.
Table Table
Insert Insert and
delete
Update Update
Delete
Rules/
Triggers
Table Table
Insert and Insert,
update update, and
delete
Delete
System information fields are updated dynamically, that is, the data
displayed in the field changes as the state of the application changes. For
example, the record_number system information field displays the
current row number as you move through the records in a selected set.
The system information fields are predefined by Unify VISION; all of the
logic to generate and display the data is provided.
System information fields have reserved names that cannot be used for
other text field names.
Related information For more information about the individual system information fields, see
Unify VISION: Application Reference.
next form
If you do not want to see the fields being updated on the first form, you
can create an invisible first form of your application. Create a form with
the VISIBLE attribute set to false. Specify the user-visible first form as
the only next form of the invisible form. (In the ON CURRENT method,
put the single command NEXT ACTION is next form.)
The drag and drop feature of Unify VISION allows a user of your
application to move objects on the screen by using the mouse buttons. A
user can select an object by clicking on it, drag the selected object to a
different location, and then release the object by releasing the mouse
button.
You design and implement drag and drop functionality through VISION
Designer and optionally through the class script.
Related information To use a script to control drag and drop behavior, see the following
methods in Unify VISION: Class Reference:
ON DRAG DROP
ON DRAG ENTER
ON DRAG LEAVE
ON DRAG START
To specify drag and drop behavior and icons through Unify VISION:
Designer, see the Drag panel description in Panel reference in Unify
VISION: Designer.
abort
To terminate the application or the application
current transaction without saving A customized set of forms, menu
changes. bars, tool bars, functions, and services
that enables users to perform business
tasks. An application is composed of
one or more application partitions.
accelerator
A sequence of keystrokes that invokes application management event
a command. Any significant change in the state of
See also mnemonic. a system resource or an application.
application partition
add/update/delete mode A collection of Unify VISION
One of two methods of operation for a components that perform logically
form during application execution. In related tasks. Each partition is
add/update/delete mode the user can executed singularly.
add new records to the database,
modify existing records, or remove application preference
existing records. A variable that controls the runtime
See also find mode. properties of an application.
147
array browse area
A variable that consists of multiple An area, usually in a shared project,
elements arranged in one or two that contains read-only copies of
dimensions. objects that are maintained by version
control.
background color
The secondary color visual attribute cache
of an object. An area of memory, such as a buffer,
where data is temporarily stored to
reduce the need to read from disk.
base class
In a class library, the class from which
a particular subclass is created and cancel
associated with. To dismiss the current form, dialog, or
selection without executing any
changes.
binary file
A file that contains code in the format canvas
required by the computer processor. An object that contains an image.
combo box
class library A text object that is combined with a
A collection of class definitions. list box from which the user can select
a value.
clause
command
A discrete portion of a script
A user request that initiates an
statement. For example, the ON
application operation.
CHOOSE NEXT FORM method has a
USING clause. See also developer-defined
command; operation; predefined
command.
clear-to-find expression
An expression specified by the command line
CLEAR_FIND_EXP attribute that The operating system program
sets the initial search criteria for a interface that accepts and executes
target field. system commands.
Glossary 149
commit current record
Terminate a transaction and save all The record in the selected set that is
changes made by that transaction to currently active.
the database, making the changes
visible to other transactions.
current window
The window that has focus and where
compile operations can be performed.
To transform a Unify VISION script
from ASCII source text into an
executable format.
cursor
A pointer on the screen.
concurrence
The ability for multiple transactions to
access a single database custom command
simultaneously. A developer-defined command that is
defined in VISION Development
Environment through the Customize
context-sensitive help menu.
Help text that describes the currently
selected object or dialog item.
custom
Either a graphical class that is built
copy from a collection of other classes and
To duplicate a selected object. appears as a field class on a form, or a
developer-defined class that is defined
in VISION Development Environment
created form through the Customize menu.
A form that has been defined and
initialized.
custom manager
A developer-built version of vision
current field
where the developer has added
The active field on the current form.
customized 3GL function calls.
current form
The form that has user input focus. cut
To remove an object. The most
recently cut object can be pasted back
current object using the paste command.
The object that is selected. See also paste, delete.
deploy
database operation The process of customizing an
A VISION Runtime Manager process application and moving it to another
that affects values or rows in a computer system or environment for
database table. production use.
Glossary 151
dereference operator developer-defined method
A symbol that indicates that the A method whose name and access is
OBJECT_REF value on the left side defined by the developer by using
identifies the object to be referenced VISION 4GL statements.
on the right side, for example, See also predefined method.
text_ref>VALUE
dialog
A window in the Development
descendent form Environment or VISION Designer that
A form created later than, and is a enables the developer to specify
direct chain from, forms higher in the values of attributes.
form tree. See also panel.
See also ancestor form; child form;
dialog controls
parent form.
Options to control a dialogs state
such as Apply, OK, Reset, Default,
Help, and Cancel.
Designer Palette
A window that contains classes that dialog options
you can place on container classes. Settings for an object in a panel or a
The Designer Palette also contains dialog, such as Width. A dialog option
development tools such as the pointer, can be a radio group, check box, list
Label Editor, and Lock tool. box, or text field. The value of the
dialog option can be changed by the
developer.
desktop
The area in any of the windows in dirty data
VISION Development Environment Data that is write-locked by another
used to display icons representing transaction that may be updating the
objects. locked data. As a result, the data
cannot be relied upon to be up to date.
display-only
Data that is read-only, that is data
developer-defined command cannot be edited or modified.
A command class that has been
defined by the developer in a DLL (dynamic link library)
COMMAND section of the script. A library of C functions that can be
See also command; predefined loaded and executed at runtime by
command; custom command. multiple Windows applications.
field variable
dropdown list box A variable that references a form
A dropdown list box from which the field. The field variable has the same
user can select a value; the selected name as its associated form field.
value is displayed in a read-only text Field variables have general variable
field. attributes and field variable attributes.
Glossary 153
find mode form mode
One of two methods of operation for a One of the methods of operation for a
form during application execution. In form: find mode or add/update/delete
find mode the user can search for mode.
existing records that satisfy specific
search criteria. form state
See also add/update/delete mode. In Unify VISION, a form instance can
be in one of three states: defined,
created, and current.
fire
To execute automatically when a See also created form; current
specific event occurs. For example, a form; defined form.
SYBASE SQL Server trigger can be
fired when an update is applied to a form tree
database column. At runtime, defined, created, and
current forms are controlled by a tree
structure, with the first form at the
folder root of the tree.
An object that organizes groups of
other items, such as class libraries, in
VISION Development Environment. format template
A pattern of special characters that
specifies the type of character to be
foreground color displayed in each position of a value.
The primary color of an object. For example, format templates can be
used to specify the positions of triad
separators.
form attribute
A value that describes a characteristic
of a form. general variable
A developer-defined variable that is
not associated with any form field or
form class database column.
A graphical class that represents an See also target variable; variable.
area containing dialog options and
images organized to display and
global function
retrieve information for a user.
A script that contains script functions
See also form instance. or 3GL functions that are defined for
all other scripts in the application.
form instance See also script.
A copy of a form class that is being
executed by VISION Runtime global name domain
Manager. The set of global service object names
See also form class. in a distributed application.
implicit
handles An operation that occurs
Solid squares that appear around a automatically or by default whenever
selected object in VISION Designer a specified condition occurs.
that enable you to resize it visually. See also explicit.
Glossary 155
indexed help list box
An alphabetized list of subjects that A scrolled list of text strings. A list
the user can select and read. box is a type of a view.
See also help server. See also check box; text field; slider.
local function
inheritance
A method defined only within a form
A feature that enables a class to make
or global function.
use of attribute definitions and
methods defined in a class above it in
the class hierarchy.
local name domain
See also class hierarchy. The set of local service object names
in an application partition.
input focus
The object to which keyboard input is local name service
directed. Assigning focus to a form An object that manages the location
instance makes the form current. and object reference of objects in the
local name domain.
keyword
master-detail relationship
A word defined as part of the VISION
A relationship between two forms
4GL script syntax. Keywords are also
which is based on each target tables
reserved words; they cannot be
primary key.
assigned definitions by developers.
menu
label An application-generated list of items
A literal text string used to identify an from which the user can select an
object. option to be executed.
message mouse
A packet of information sent between A device for pointing at and selecting
service and form objects and other information on the screen.
objects in a partitioned application.
name domain
message handle The area within a distributed
An object that uniquely identifies a application in which an object
message and contains status reference is known. See local name
information relating to the message. domain and global name domain.
Glossary 157
notebook occurrences
A collection of pages and their tabs Number of times objects are repeated
within a container class. Notebooks in a repeating group.
are commonly used to organize a
large set of dialog options into display
open
groups to minimize the screen real
Deiconify a GUI object or program.
estate necessary for a container class.
See also page.
OPEN LOOK TM
object
option list
A self-contained packet of attributes
A group of panels available in a
and methods recognized by Unify
dialog.
VISION.
See also dialog.
See also instance.
origin
The base point where the vertical and
object reference horizontal axes of an object intersect.
A handle that uniquely identifies an
object instance in an application. page
Object references are assigned when A rectangle and a tab within a
the object is created, as in form notebook class. Pages can contain
activation. Object references are field classes, non-field classes, and so
stored in the Unify VISION data type on.
OBJECT_REF.
See also notebook.
page-level lock
object reference A lock that is placed on a page of
A unique identifier of an object in a database information, which may
distributed application. See local contain more rows than are in the
object reference and global object selected set. (This is in contrast to a
reference. lock on only the selected rows.)
partition group
A group of one or more partitions that pointer mode
run on the same host platform and When the Designer tool is in pointer
share a common message router and mode, objects can be selected, moved,
message communication area. stretched, and resized.
See also application partition.
popup menu
partition profile A menu for a selected object or for
A class that contains information to the window. A user can usually
develop and run an application display the popup menu by pressing
partition. the menu mouse button. In Unify
See also application partition. VISION, all commands on a popup
menu are also available as commands
on pulldown menus.
partition group profile
A class definition that contains
information to develop and run a predefined command
partition group. A command provided by Unify
See also partition group. VISION that executes a predetermined
sequence of operations when selected
by the user. Predefined commands
password include typical database operations
A code that identifies the current user and record manipulation.
to the operating system or to the See also command;
database. developer-defined command.
Glossary 159
predefined method radio button
A method whose name and access is An element of a radio group which
determined by Unify VISION. represents one value the group may
See also developer-defined method. assume. It is selected by clicking on
it. A radio button is always next to a
label.
preference See also check box
A variable that specifies a value to be
used during application development radio group
or runtime execution. One or more radio buttons in a box
See also attribute. with or without a border. A radio
group is a type of view.
See also check box; list box; slider;
preference file text field.
A text file that contains variables to
configure a users application. raise
Changing the stacking order of a
window so as to hide another window.
press
To hold down the mouse button to read lock
make a selection. An instruction that permits read
access to database rows but prevents
write access by all transactions.
project See also write lock.
A symbolic name for a file system
entry point.
record
A copy of a database row, displayed
in a selected set.
protocol See also row.
A formal set of rules defining how a
message is exchanged.
referential integrity
The rules that govern data
consistency, which guarantees that
pulldown menu
when a table is updated, all related
A menu that is attached to a button
tables and objects agree.
within a menu bar in an application.
When the pointer is clicked on the
button within the menu bar, and then repeating group
dragged downwards, the menu pairs An object (such as a button or field)
and remains displayed as long as the that is repeated one or more times to
pointer button is depressed. display multiple records on a form.
rule
replication registry A special database procedure that is
A list of active replication groups. executed (is fired) when an insert,
update, or delete operation is
executed.
return status
A value returned from a function, a
runtime
database procedure, or a stored
The execution of an application, as
procedure that indicates whether the
opposed to its development.
function or procedure was completed
successfully.
script
A collection of VISION 4GL
revision statements that define the methods of
A specific version of an object that is a class.
maintained by version control and is
identified by a revision number.
script statement
A line in a script. A statement is
associated with an event section that
rollback transaction operation determines when the statement is
An operation that aborts the current executed.
transaction and reverses all operations
performed by the transaction.
scroll bar
A graphical device with arrows.
Moving a scroll bar access data not
row visible in a list box.
The database object that consists of a
unique set of related columns that
constitute a single entry in a table. select
Sometimes called a tuple. A method of indicating which object
See also column; record. or data is available for a subsequent
operation.
Glossary 161
service stippled
A collection of methods in a script Disabled, indicated by shading an
that work together to perform some object with small dots.
non-graphical functionality. Other
objects use the methods to perform a stored procedure
given task. A set of database commands stored in
and executed by the DBMS.
shadow library
A version of a class library that has subclass
external references resolved. A class that is created from and
associated with another class
definition.
share update lock See also base class; inheritance.
An ORACLE lock that is placed on
selected rows to allow concurrent subform
access to the table. A form contained in a form class.
target field
sort A form field that is associated with a
To arrange objects based on an specific column in the target table for
ordering criteria. the form.
See also column.
SQL (structured query language)
A relational database language that target field variable
provides statements for creating, A variable that has general variable
manipulating, or searching tables, attributes, field variable attributes and
based on an English keyword syntax. target variable attributes.
tool
target variable A utility to help you build your
A variable that is associated with a application.
specific column in the target table for
a form. The target variable has the
same name as its associated target tool bar
table column. A row of buttons with frequently used
commands.
See also general variable; variable.
transaction
text field A set of one or more database or
An object used to display one line of transaction operations that must be
text. completed as a single unit.
undefined
text view Uninitialized; a variable that has no
View of a field which displays text. valid value or type associated with it.
See also field; view; text pane; text See also null.
field.
Unify VISION foundation class
A predefined class definition provided
timer with VISION Development
An application event, defined by the Environment. All classes that you
developer, that is executed after a create are subclasses of one of the
specified time period. foundation classes.
Glossary 163
unique index version archive
An access method by which specified An file that stores objects maintained
ordered column values that form a under version control. The version
unique key are used to select database archive is a file that contains the
rows. information needed to reconstruct any
revision of the object.
version control
update System in which revisions of an
An operation that changes an existing object are maintained in version
row in or adds a new row to the archives.
database table.
view
(DBMS) A subset of columns from
one or more database tables.
user
Any person who uses a completed
application. view
(Unify VISION) The visual
representation of an object that
provides a user interface to the object.
user name
The name used by the current user to VISION 4GL
log in to the database. The Unify VISION fourth-generation
language used to create scripts and
global functions.
value parameter
VISION Class Browser
A function parameter that is defined
as a local variable and initialized with The Unify VISION tool that allows
a value when the function is called. you to create and modify the contents
When execution returns to the calling of a class library.
program, the argument value remains
unchanged. VISION client
A Unify VISION application instance
that is acting in a client role.
write lock
VISION Script Editor An instruction that prevents both read
The Unify VISION tool for editing and write access to a specified
scripts. database row or table by all
transactions other than the transaction
that placed the write lock.
See also read lock.
Glossary 165
166 Unify VISION: Concepts