Was this helpful?
Vision System Catalogs
Vision requires the following catalogs. These catalogs comprise the APPLICATION_DEVELOPMENT_3 module.
ii_framevars
ii_menuargs
ii_vqjoins
ii_vqtabcols
ii_vqtables
ii_framevars Catalog
The ii_framevars catalog describes the local variables and hidden table fields of a frame:
Column Name
Data Type
Description
object_id
integer
Object ID of the frame.
fr_seq
smallint
Sequence number (for ordering).
var_field
varchar(32)
Field name.
var_column
varchar(32)
Column name (if field is a table field).
var_datatype
varchar(105)
Data type of the field.
var_comment
varchar(60)
Comment for the variable.
ii_menuargs Catalog
The ii_menuargs catalog describes the arguments to be passed to a called frame for a given menu choice:
Column Name
Data Type
Description
object_id
integer
Object ID of frame.
mu_text
varchar(32)
Menu item text.
mu_seq
smallint
Sequence number beginning at 0 (for argument ordering).
mu_field
varchar(32)
Field name in called frame to assign value to. If field name is of the form X.Y, this contains the X portion only.
mu_column
varchar(32)
Portion of field name in called frame to assign value to. Only used when field name is of form X.Y, in which case this contains the Y portion.
mu_expr
varchar(240)
4GL expression (field, constant, byref(), etc.) in the parent frame to assign to field in the called frame.
ii_vqjoins Catalog
The ii_vqjoins catalog describes the joins involved in a visual query:
Column Name
Data Type
Description
object_id
integer
Object ID of the frame.
vq_seq
smallint
Sequence number (for ordering).
join_type
smallint
Type of join specified by this row.
0 = Master/Detail join.
1 = Master/Lookup join.
2 = Detail/Lookup join.
join_tab1
smallint
Index to table 1 of the join. Relative table number in visual query beginning with 0.
join_tab2
smallint
Index to table 2 of the join. Relative table number in visual query beginning with 0. (table 2 is always below table 1 in visual query).
join_col1
smallint
Join column for table 1. Index into array of columns for table 1. (Same as ii_vqtabcols.vq_seq).
join_col2
smallint
Join column for table 2. Index into array of columns for table 2. (Same as ii_vqtabcols.vq_seq).
ii_vqtabcols Catalog
The ii_vqtabcols catalog describes the columns of the tables involved in a visual query:
Column Name
Data Type
Description
object_id
integer
Object ID of the frame.
vq_seq
smallint
Column sequence number (for ordering).
tvq_seq
smallint
Sequence number of table in visual query from ii_vqtables.
col_name
varchar(32)
Column name.
ref_name
varchar(32)
Name used on the form for field containing data.
adf_type
smallint
Type information for column. See description of iicolumns. column_ingdatatype for details.
adf_length
integer
Column size in bytes.
adf_scale
integer
Currently not used.
col_flags
integer
This column contains multiple pieces of information about the column in a bitmap format. The following values are present (expressed in Hex):
1 = Column is to be used on form/report.
2 = Column is joined to a detail table and must be displayed.
4 = Column is joined to a lookup table and must be displayed.
8 = Column is a subordinate join field; therefore it cannot be displayed.
0x10 = Column is sequenced (generate new surrogate key value for INSERT statements).
0x20 = Column is descending (for sort).
0x40 = Column is part of the table's unique key.
0x100 = Set if column allows defaults.
col_sortorder
smallint
Sort order for this column. Set to 0 if not part of sort sequence. For lookup tables, this gives the order of the column in the lookup screen.
col_info
varchar(240)
Information entered by developer for this column in visual query. For Browse & Update frames, this is a query restriction and is added to the WHERE clause of the SELECT statement. For Append frames, this gives default value information and is either used in 4gl assignment statements for a displayed column, or in the INSERT statement for a not-displayed column.
ii_vqtables Catalog
The ii_vqtables catalog describes the tables involved in a visual query:
Column Name
Data Type
Description
object_id
integer
Object ID of the frame.
vq_seq
smallint
Order of table in visual query.
vq_mode
smallint
This column contains multiple pieces of information about the frame as a whole, in a bitmap format (although note that the first 4 entries below are mutually exclusive; only one of them can appear). Can contain the following values (in Hex):
0 = Frame has no tables (menu frame).
1 = Master/Detail frame.
2 = Master only in a table field.
3 = Master only in simple fields.
0x10 = If set, the Qualification Processing frame behavior is Disabled (can only be set for Browse & Update frames)
0x20 = If set, the Next Master Menuitem frame behavior is Disabled (can only be set for Browse & Update frames)
0x40 = If set, the“Hold Locks on Displayed Data frame behavior is set to Yes (can only be set for Update frames).
tab_name
varchar(32)
Table name.
tab_owner
varchar(32)
Table owner.
tab_section
smallint
Visual query section table is in.
0 = table is in master section.
1 = table is in detail section.
tab_usage
smallint
How this table is used in the visual query.
0 = Append table.
1 = Update table.
2 = Browse table.
3 = Lookup table.
tab_flags
integer
Bitmap flag that indicates the frame behaviors in the visual query. Valid values (in Hex):
0x1 = For lookup table: lookup requires a qualification screen. For update table: insertions are allowed into the table field (only relevant to the detail table, and to masters in table field)
0x2 = OK to Delete data in this table.
0x4 = If set: update of join field cascades to detail; if clear: update of join field not allowed if details exist.
0x8 = If set: delete of master cascades to detail; if clear: delete of master not allowed if details exist.
0x10 = Table does not have a unique key.
0x20 = DBMS handles referential integrity on details when join field is changed. Generated code updates master table only.
0x40 = DBMS handles referential integrity on details when master is deleted.
Last modified date: 11/28/2023