UltraQuest DB2 Interface for z/OS


The UltraQuest Interface for DB2 for OS/390 maximizes your investment in DB2 with:


UltraQuest Reporter for end-user reporting

UltraQuest Applications for Web-based application development

Product Highlights

With the UltraQuest Interface for DB2 you can take full advantage of all the power in DB2 by supplementing its basic query and updating facilities with UltraQuest's comprehensive fourth-generation language and relational database management capabilities.

UltraQuest's interface to DB2 has been cited by industry experts as providing the tightest coupling of a fourth-generation language productivity tool with the DB2 engine. As a result, the UltraQuest Interface for DB2 offers the functionality, power and efficiency to meet the complete range of reporting and application development needs, including production-level application requirements.

Application developers quickly benefit from UltraQuest's complete non-procedural language for fast prototyping, its built-in decision-support functions and its fully integrated programming language with functionality comparable to PL/I and COBOL. In addition, the product offers an array of tools and templates for quickly generating report requests, forms, menus and maintenance procedures.

The UltraQuest Interface for DB2 provides you with the ability to use both dynamic and static SQL access to DB2 data. This makes it equally well suited for highly generalized, ad hoc applications, as well as production applications where performance and program authorization are key requirements.

The UltraQuest Interface for DB2 enables users to access DB2 data from both TSO and MVS batch. Additionally, when used with the NOMAD Session Manager, non-TSO access is available from CICS and VTAM.

Integration with the DB2 Engine

When used to access DB2 dynamically, the interface translates UltraQuest commands into SQL requests, passing off as much work as possible to DB2. Sorting and aggregation triggered by UltraQuest's LIST command for reporting are performed by DB2, with only the columns needed to fulfill the data request shipped back to UltraQuest.

Selective data listing can be handled efficiently through SELECT and LIST WHERE commands. Global data maintenance is handled by passing set calls for CHANGE and DELETE as a single transaction. Access rights are granted directly through DB2. Additional security can be provided with UltraQuest passwords, database profiles, retrieval and update procedures.

Concurrent access by multiple users and data sharing are handled by DB2. DB2 tables can be created by UltraQuest's data definition language using a single command, SCHEMA NEW. Conversely, SCHEMGEN provides an automated facility for describing DB2 tables to UltraQuest. SCHEMGEN can also be used to describe DB2 system catalog information to UltraQuest. The database administrator (DBA) can then easily report from catalog information, which helps to provide better control over data resources.

Relational Enhancements

UltraQuest interfaces efficiently with DB2 because UltraQuest itself is designed on a relational model. In addition, UltraQuest provides important relational features not found in DB2:

Complete Outer Join Support

UltraQuest's MERGE MATCHING for outer joins and EXTRACT ALL MATCHING for left-hand outer joins provide this support. There is no limit on the number of tables that can be joined using UltraQuest.

Extended Data Type Support

UltraQuest has additional data types for fixed and varying arrays, time-series and text data.

Enhanced Referential Integrity

Complete support for referential integrity was available in UltraQuest more than two years before it was provided by DB2. UltraQuest continues to offer additional features in this area that are still not provided in DB2, including:


A warning option, which requests user approval before a cascading action takes place.

UPDATE options of CASCADE and NAVIT allowed in addition to DENY.

Other relational features in UltraQuest include:

Null Support

UltraQuest supports null values by handling missing values in a column differently from values of zeros or blanks. Nulls are disallowed for any item by specifying NOTNAV in the Schema. Additionally, UltraQuest always disallows nulls for primary keys.

Using the Interface to DB2

Accessing the Data

With the UltraQuest Interface for DB2 a database can include data stored in DB2 tables, NOMAD's native relational database and in external files such as ISAM, VSAM and QSAM. (With additional UltraQuest interfaces, it can also include data in other DBMSs.

The TYPE parameter on the MASTER statement indicates how data is stored. DB2 tables can be maintained using all of UltraQuest's navigation and maintenance commands. Data stored in multiple files can be drawn together using UltraQuest's relational facilities such as DEFINE EXTRACT and MERGE MATCHING.

UltraQuest reporting and file creation work exactly as if the data were stored in UltraQuest. UltraQuest retains its concept of position, despite the fact that DB2 does not support such a concept. Thus, you have the ability to move backward and forward through the data.

Moving the Data

Moving data from a NOMAD database to a DB2 table is accomplished simply by adding the TYPE DB2 parameter to UltraQuest's Schema, or data-definition file, and issuing the SCHEMA REORG command. There is no need to worry about dumping and reloading data. The UltraQuest Interface for DB2 does the work of creating a new DB2 table for you.

Using the Data

To use UltraQuest with existing DB2 tables, you use SCHEMGEN, a menu-assisted Schema generator, which produces a basic UltraQuest Schema from selected tables. This Schema can be edited to take advantage of UltraQuest's extensive data-definition language to add headings, masks, limits, member checks, defined items, passwords and multiple data types. In addition to fixed and varying arrays and time series, UltraQuest data types include DATE, TIME, DATETIME and TEXT. Additional display formats include NAME, FORMAT and PICTURE. After the Schema is compiled, all of UltraQuest's command language is available for application development, reporting and analysis.

Additional Unique Features

UltraQuest also provides commands that enable the user to dynamically:


Change the isolation level

Control the connection to DB2


Explicitly connecting to a non-default DB2 subsystem

Disconnecting from a DB2 subsystem, thus freeing up DB2 resources

Temporarily disconnecting from a DB2 subsystem to free DB2 resources for a period of time, and automatically repositioning when the connection is later re-established

Static SQL Access to DB2

For the variable inquiries often associated with ad hoc reporting and analysis, the names of tables, columns and views to be accessed are often unknown until the request is made. UltraQuest's use of dynamic SQL allows the user to specify the objects at the time of request. The entire UltraQuest language is available to the user, who may not even know the data is stored in DB2 tables. These characteristics are also ideal for the application developer, where this flexibility is especially desirable.
For applications where the referenced DB2 objects are known and can be fully described during the application development phase, as is frequently the case with production systems, static SQL access provides the needed control and efficiency. Here, static SQL queries passed to DB2 can be generated, precompiled and bound into a DB2 application plan in advance. At run time it is only necessary for UltraQuest to execute the pre-bound SQL query. This also provides tighter control over the data, as the application user only needs authorization to execute the application plans generated by UltraQuest.

To facilitate the design of applications with static SQL, UltraQuest provides an automated Plan Generator.

The Plan Generator is a windowed pick-and-choose environment for selecting the DB2 objects for which static access is desired, and the operations to go against the data. The tool generates a UltraQuest description of the objects, as well as the Assembler source code with embedded SQL. The Plan Generator also produces the JCL for the program preparation (precompile, assemble, link-edit) and for binding the application plan.

DRDA Support

The UltraQuest Interface for DB2 supports IBM's Distributed Relational Database ARchitecture (DRDA), allowing transparent access to data across multiple DRDA-compliant DB2 subsystems. DRDA allows access to remote tables as if they were local. SQL becomes the standard language that provides compatibility across environments.

The DB2 Interface supports two levels of DRDA:


Remote unit of work

Distributed unit of work

Supported Environments

UltraQuest facilities look and function consistently in all its environments, which include:



Interactive System Productivity Facility (ISPF)

MVS Batch Facility (Native or TSO Batch)

NOMAD Session Manager (for access via TSO, CICS or VTAM)



To find out more about how Select Business Solutions can help you either Contact Us, or visit our Product Resources area for all the latest related downloads.

Product Resources
Want to learn more about this product? Every download relating to a particular product can now be accessed in one location. Click here to continue
Useful Links
IBM Mainframe servers
Velocity Software