Using the Multi-Threaded SU Reporting Facility

In this section:

The Multi-Threaded SU Reporting facility enables you to issue TABLE requests against shared data sources without using a FOCUS Database Server. Before using this facility, you must allocate the centrally controlled data sources in SHR mode in the client address space. For example:

ALLOC F(CAR) DA('SINKID.CAR.FOCUS') SHR

This is the only case in which a source machine can allocate a centrally controlled database.

This feature may only be used in read-only mode, and all modifications to the data source must go through the FOCUS Database Server. In addition, a single Multi-Threaded HLI/SU program cannot simultaneously open a file in both read-only and read/write modes. Separate FCBs are required for locally reporting from and updating centrally controlled data sources.

When performing Multi-Threaded HLI/SU Reporting operations, the central database is accessed locally, bypassing the FOCUS Database Server. But for all modifications, central data sources are accessed through the FOCUS Database Server. In the HLI environment, the FCB is modified to denote the parallel configuration (accomplished in the FOCUS environment with a USE command).

The steps for allocating the database are as follows (these assume that the communication data set for the FOCUS Database Server and the database are catalogued under high level qualifier SINKMA):

  1. Allocate the database in the sink job using DISP=SHR. For example:
    //CAR     DD DSN=SINKMA.CAR.FOCUS,DISP=SHR
  2. Allocate the database for the HLI program using DISP=SHR. For example:
    ALLOC F(CAR) DA('SINKMA.CAR.FOCUS') SHR 

    or

    //CAR     DD DSN=SINKMA.CAR.FOCUS,DISP=SHR
  3. Set up the FCB as follows:
    1. Set FCB word 6 (SU) to SULO.
    2. Set FCB word 9 (SINKID) to the ddname of the server communication data set.

For example, assume FOCSU is the communication data set and the following is the COBOL HLI FCB:

01  FCB.
  05 FCB_FN         PIC X(08)  VALUE SPACES.    
  05 FCB_FT         PIC X(08)  VALUE SPACES.
  05 FCB-FM         PIC X(04)  VALUE SPACES.
  05 FCB_SU         PIC X(04)  VALUE SPACES.
  05 FCB_DN         PIC X(08)  VALUE SPACES.
  05 FCB_SINKID     PIC X(08)  VALUE SPACES.
  05 FILLER         PIC X(28)  VALUE SPACES.
  05 FCB-ECHO       PIC X(04)  VALUE "ECHO".
  05 FILLER         PIC X(20)  VALUE SPACES.
  05 FCB_STATUS     PIC S9(5)  COMP-3 VALUE +0.
  05 FILLER         PIC X(104) VALUE SPACES.

The FCB would be set up as follows:

IOS-SET-UP-FCB-HLI-SU-MVS.
   MOVE "CAR"     TO FCB_FN.
   MOVE "SULO"    TO FCB_SU.
   MOVE "FOCSU"   TO FCB_SINKID.

In the USE command for using the Multi-Threaded SU Reporting Facility, each database must be declared twice, once with the ON option and once with the LOCAL option. For example:

USE
CAR ON FOCSU
CAR LOCAL
EMPLOYEE ON FOCSU2
EMPLOYEE LOCAL
.
.
.
END

In the example, the two FOCUS databases, CAR and EMPLOYEE, reside on different FOCUS Database Servers. The keyword LOCAL indicates that the Multi-Threaded SU Reporting Facility will access them without going through their associated FOCUS Database Servers for TABLE requests, while MODIFY/Maintain requests will go through the FOCUS Database Servers as usual.

Note that you must still provide a USE command to tell FOCUS which FOCUS Database Server controls the database, even when planning to read the data source locally with the Multi-Threaded SU Reporting Facility.


Top of page

x
Special Considerations for Using Multi-Threaded SU Reporting

While reading data with this facility, you will not know if someone else is changing the data source with a MODIFY or Maintain request. During a TABLE request, if FOCUS detects that a record it is retrieving has been affected by changes made by another user, it re-requests the changed record from the FOCUS Database Server. This is why you must declare the FOCUS Database Server in the USE command. Since reports you generate could be affected by changes submitted by other users, keep the following in mind:


Information Builders