SchemaDraw
SchemaView
GENX
TEDIT/TEW
SOL
OUG


SOL - Sort OnLine

Sort-On-Line (SOL) is an online sorting facility for the IDMS-DC/UCF environment. SOL provides a significant extension to traditional transaction processing by enabling online application programs to efficiently sort data in any order. End-users can obtain online answers to their queries in their required order, rather than being constrained by what others think they ought to have.

Many times, the order of data in the database does not meet the demands of the end-users and the applications. Without an online sort facility, there are a few options:

Acquire the sorted report by running a batch job. Such an alternative is time-consuming, and the report is therefore not as up-to-date and not immediately available to view.

Program specialized internal sortsin the application programs. This alternative requires highly professional programmers, is time-consuming and creates maintenance problems.

Define alternate indexes to maintain the data in the desired order. This alternative is very costly and has many complications. It takes time (to create the indexes), disk space (for the indexes), I/O and CPU time (for updating the index). Also, the operational complexity rises because the additional indexes need to be maintained, backed-up and restored.

The process, starting with the user's requests and ending with their implementation or rejection, is long and inefficient with any of the above alternatives.

SOL provides another alternative - online sort.

When sorting online a single access to the database can generate many of the desired reports. System performance is enhanced - no need for updating and maintaining all those indexes; required disk space is reduced; new sorted screens can easily be added or modified without changing the database structure.

Furthermore, through its user-request option, SOL allows end-users to dynamically define their required sort order at program run time. This eliminates the need to code all the possible sort sequences in advance, saving time and work, and adding flexibility.

SOL also helps in creating a site standard for performing sorts and displaying field selection lists.

The data to be sorted can reside in IDMS-DC/UCF scratch/queue files, or as tables in virtual storage.

SOL is capable of sorting scratch/queue files containing records arranged in either of the following ways:

  • Record - each scratch/queue record includes one sort entry.
  • Page - each scratch/queue record is defined as a one-dimensional array of sort entries. In general, each page comprises a collection of records consecutively input and consecutively displayed to end users.

When the sort operation is completed, data is stored in the desired order, in the same scratch/queue file, or in a new scratch/queue file, as specified in the SOL command.

SOL is also capable of sorting tables in memory. A table is defined as a record whose first field, on the highest level, is an occurs field, and no other field exists on that level. Table record structure is identical to that of a page record. After completing the sort operation, table entries are arranged in the desired order.

SOL enables definition of sort keys for file/table sorting in either of the following ways:

  • Pre-defined specification of sort keys and order: the keys and order are specified as part of the SOL command in the application program.
  • User-request definition: the keys and order are defined by the user at run time. When SOL is invoked, the user is displayed a menu of all field names (OLQ header or symbolic name) valid as potential sort keys. After the end-user selects the desired sort keys and order, sorting is carried out as requested. In that way, the sort parameters can be dynamically set by the user as needed.

In either case, up to 15 sort keys may be defined, each in ascending or descending order.

SOL may be invoked by applications written in ADS/OnLine, COBOL or PL/I. In order to do so effectively and be easy-to-use, SOL supplies a SOL command that can be embedded in the host language and an online facility (SOLG) for the translation of IDD source modules containing SOL command(s). The result of this translation process is a source module, in the host language, which contains the commands needed to invoke SOL.

Acknowledgments
Copyright Cogito Ltd. 2006. All rights reserved