Multi-Threaded HLI/SU Reporting Facility

How to:

Use the Multi-Threaded HLI/SU Reporting Facility

Reference:

Usage Note for the Multi-Threaded HLI/SU Reporting Facility

You can use the Multi-Threaded HLI/SU Reporting Facility to process report requests. With this facility, your source machine directly accesses the FOCUS database, bypassing the sink machine and IUCV.

Note that this facility is used in read-only mode and that all modifications to the database are routed through the sink machine. In addition, a single multi-threaded SU program cannot open a file simultaneously in both read-only and read/write mode. Different FCBs must be written in order to report from and update the centrally controlled database.

In the following illustration, User 1 is using multi-threaded processing and has read-only access to the central database. Users 2 and 3 have read/write access to the central database via the sink machine.

With Multi-Threaded HLI/SU Reporting for CMS, the central database is accessed by each user as a local machine when performing operations, and as a sink machine when performing modifications. In the HLI environment, the FCB is modified to denote the parallel configuration.

In the FOCUS environment, a USE command accomplishes this. Each database must be declared twice in the USE command for multi-threaded reporting. In the example below, although the CAR database and the SALES database are accessed on different sink machines, both are available for multi threaded reporting.

USE
CAR FOCUS A ON sinkid1
CAR FOCUS B LOCAL
SALES FOCUS A ON sinkid2
SALES FOCUS C LOCAL
.
.
.
END

The keyword LOCAL indicates that the Multi-Threaded HLI/SU Reporting Facility will read the databases without going through their associated sink machines for TABLE requests. (MODIFY and Maintain requests continue to go through sink machines as if this facility had not been used.) Note that you still must tell FOCUS what sink machine controls the database, even if you plan to read the database locally with the Multi-Threaded HLI/SU Reporting Facility.


Top of page

Procedure: How to Use the Multi-Threaded HLI/SU Reporting Facility

  1. Rename the SU FOCUS files with a filemode number of 6 (instead of the usual 1). For example, if a database resides on the sink machine as CARSU FOCUS A1, you must rename it as CAR FOCUS A6. Filemode number 6 causes CMS to rewrite FOCUS pages "in place," overwriting previous pages, and is needed by the Multi-Threaded HLI/SU Reporting Facility because the source machine does not re-read the disk directory of the sink minidisk every time a new page is needed.

  1. The source machine user must issue commands to link and access the central database as a local machine. For example, if the sink machine is running on user ID SINKMA, and the database is stored on disk 191, you could issue the following CMS commands to make the sink's 191 disk your local D disk:

    CP LINK SINKMA 191 201 RR
    ACCESS 201 D
  2. Set up the FCB in the HLI program according to the following steps:

    1. In FCB word 5 (FM), set byte 1 to the filemode of the sink machine and set byte 3 to the filemode of the local machine. Note that bytes 2 and 4 must remain blank.
    2. Set FCB word 6 (SU) to SULO.
    3. Set FCB words 9-10 (SINKID) to the user ID of the sink machine.
  1. Generate the HLI load module, issuing the GENHLI command using the BOTH option.

Note:


Top of page

Reference: Usage Note for the Multi-Threaded HLI/SU Reporting Facility

While you are reading the database with this facility, you will not know if someone else is changing it with a MODIFY or Maintain request. Since any report you generate will be affected by another user's changes, keep the following in mind:

If a root segment instance (or root segment of an alternate view) is deleted and re- inserted while your report is in progress, your report may show the segment instance appearing twice.


Information Builders