High-speed sequential processing control statements

Use HSSP control statements to set up the environment in which you process a selected PCB with HSSP, create an image copy of a designated DEDB area, restrict access of a specific HSSP or non-HSSP application program to only designated DEDB areas, and specify where to allocate the private buffers for HSSP processing.

This topic describes the syntax, keywords, and values of the three high-speed sequential processing (HSSP) control statements: SETO, SETR, and SETU.

HSSO, HSSR, and HSSD control blocks are built from SETO and SETR statements. These control blocks—specifically those that represent image copy data sets and those that are used for UOW locking—are formatted for offline dumps. These control statements are in the DFSCTL data set.

Syntax of HSSP control statements

Each HSSP control statement must begin on a new line. IMS considers the first nonblank character the start of the statement. You must leave one or more blanks following the statement name. Keywords follow the statement name. Keywords must be followed immediately by an equal sign (=) and a value. If you specify multiple keywords, separate them with commas. If you specify multiple values, enclose them in parentheses.

A blank or a closing parenthesis signals the end of a statement. You can continue HSSP control statements on multiple records. Use a comma at the end of a line to indicate continuation.

An asterisk (*) in the first position on a record indicates a comment. Elsewhere on a record, comments begin with a slash and asterisk (/*). You can include comments on each line with at least one blank between the keyword, value, or comma and the comment.

Set Options (SETO) control statement

The SETO control statement allows you to specify the options in processing a PCB with HSSP. With SETO, you can:
  • Deactivate the HSSP option for a particular PCB
  • Make an image copy of an updated area
  • Specify the processing options in case of image copy failure

IMS interprets SETO when a region is started. After the region is active, you cannot alter the options.

Set Options syntax

Read syntax diagramSkip visual syntax diagramSETODB= dbname,PCB= label,NOPROCH,NOIC=(, Area name),IC=A
A
Read syntax diagramSkip visual syntax diagram( ,Area_name ,1,2,0,CONTINUE,1ABEND,2ABEND ,LOGALL )

Set Options keyword parameters

DB=
Specifies the name of the database to which SETO applies. Because HSSP is only applicable to DEDBs, only the names of these DEDBs are valid.
PCB=
Specifies a one- to eight- character label that identifies the PCB to which SETO applies. It must be identical to the label on the associated DEDB PCB. If you use the same PCB label more than once for the same database name, only the first SETO statement with that label is used.
NOPROCH
Specify NOPROCH if you want to deactivate the HSSP option that was initialized in PSBGEN (PROCOPT=H). If you specify this keyword, PROCOPT=P is set, and the IC option is ignored. You can only specify one HSSP PCB per database per PSB. If more than one HSSP PCB points to the same database, you should use the NOPROCH keyword to deactivate additional PCBs before the SETO statements are processed. If more than one HSSP PCB exists after the SETO statements have been processed, the region is not scheduled.
NOIC=
Specifies that no image copy should be made for all or some of the areas listed in DBDGEN. If you specify NOIC= without any area names, no image copy is made for any area in the database. You can use the option NOIC= with area names several times per SETO statement; however, you can specify a particular area only once. NOIC is the default if you do not specify IC=.
IC=
Specifies that an image copy should be made of all or some of the areas listed in DBDGEN. Allocation information about the image copy data sets is obtained from DBRC.

Values: The following values control the use of HSSP:

Area name
Lists the names of the areas to be image copied. If you need the areas to be processed in a specific order (other than the order in the DBDGEN), you must list them in the desired order and separate them with a comma. If the sequence of areas required is the same sequence as that in the DBDGEN, you only need to list the first and the last area names of the series and separate them with a hyphen. You can specify an area name only once. For example, A4,A1-A3,A5-A8 is valid, but A4,A1-A8 is invalid, because A4 is repeated.

If you specify IC= without any area names, an image copy of all areas in the database occurs. You can specify IC= without area names only once per SETO statement. You can use the option IC= with area names several times per SETO statement; however, you can specify an area only once.

Commas and parentheses are optional if you specify only one parameter on the IC= parameter. You must register the area in DBRC in order for image copying to take place.

1
Specifies that one image copy data set should be made. The default is one.
2
Specifies that two image copy data sets should be made. If you specify IC=2, two image copy data sets must be registered with DBRC for an area; otherwise, no image copy is done for that area.
0
Specifies that no image copy data sets should be made. IC=0 is the same as specifying NOIC.
CONTINUE │ 1ABEND │ 2ABEND
These keywords describe the action a program should take in the event of an image copy failure.

CONTINUE specifies that the program continues processing if the image copy option cannot be performed. Under this circumstance, messages are sent to the MTO console and the job log (WTP). CONTINUE can be abbreviated as C.

1ABEND specifies that if image copying cannot be completed for one data set, the program must abend. 1ABEND can be abbreviated as 1A.

2ABEND specifies that if image copying cannot be completed for two data sets, the program must abend. If you request IC=2 and one of the data sets is still usable, HSSP continues to write to it. 2ABEND can be abbreviated as 2A.

LOGALL
Specifies that X'5950' log records are to be logged for DEDB updates in an HSSP environment. If LOGALL is not specified, only the X'5947' log record is logged.

If you specify only one parameter on the IC= keyword, you do not need to include the parentheses or the commas. Trailing commas for those parameters you do not include are also not required. For example, IC=1 is equivalent to IC=(,1,,), and IC=1,LOGALL is equivalent to IC=(,1,,LOGALL).

Set Range (SETR) control statement

The SETR control statement specifies the processing range of PCBs to a database during scheduling of an application program. If a PSB has several PCBs pointing to the same database, you can restrict the access of each PCB to that database. Each program can only access data in the DEDB within the range defined.

Syntax

Read syntax diagramSkip visual syntax diagramSETRDB= dbname,PCB= label,SE,AL=(,Area name)

Keyword parameters

DB=
Specifies the name of the database to which the SETR statement applies.
PCB=
Specifies a one- to eight-character label that identifies the PCB to which the SETR statement applies. This label must be identical to the label on the associated DEDB PCB. If you use the same PCB label more than once for the same database name, only the first SETR statement with that label is used.
SE
An optional keyword that instructs IMS to skip processing empty areas when SETR is in effect and the area is within the specified range.
AL=
Specifies the areas to which the PCB has access. The SETR area list does not have to match the SETO area list. (The SETR area list determines which areas can be processed. The SETO area list indicates which of the processed areas must have an image copy.) If you specify the SETR statement without a matching SETO statement (that is, the same DB= and PCB= values), the SETR statement processes the specified area list (AL=) values according to the PROCOPT option in PSBGEN.

Set Buffer Storage Area (SETU) control statement

The SETU control statement specifies whether the utility private buffers for HSSP processing are to be allocated in 31-bit extended common storage (ECSA) or 64-bit common storage. If the SETU control statement is not specified, the buffers are allocated in ECSA by default.

Syntax

Read syntax diagramSkip visual syntax diagramSETUFPBP64U=YN

Keyword parameters

FPBP64U=
Specifies where to allocate the utility private buffers in storage.
Y
Specifies that the buffers are allocated in 64-bit common storage. FPBP64U=Y cannot be specified if IC= is specified on the SETO control statement.
N
Specifies that the buffers are allocated in 31-bit extended common storage (ECSA).

HSSP control statement examples

The following are examples of SETO, SETR, and SETU statements in the DFSCTL data set with their associated PCBs.

Sample PSBGEN:
L1 PCB TYPE-DB,DBDNAME=DEDB1,PROCOPT=A
L2 PCB TYPE-DB,DBDNAME=DEDB2,PROCOPT=HI
L3 PCB TYPE=DB,DBDNAME=DEDB3,PROCOPT=HRD
L4 PCB TYPE=DB,DBDNAME=DEDB4,PROCOPT=HA
L5 PCB TYPE=DB,DBDNAME=DEDB5,PROCOPT=HG

First sample of DFSCTL set option statements:

SETO DB=DEDB1,PCB=L1,IC=1               /* Example 1
SETO DB=DEDB2,PCB=L2,IC=(1,CONTINUE)    /* Example 2
SETO DB=DEDB3,PCB=L3,IC=(A1,A3-A6,2,1A) /* Example 3
SETR DB=DEDB3,PCB=L3,AL=(A1-A5)
SETO DB=DEDB4,PCB=L4,IC=(2,2ABEND)      /* Example 4
SETO DB=DEDB5,PCB=L5,NOIC=(A4-A5)       /* Example 5
SETO DB=DEDB5,PCB=L5,IC=1,LOGALL

Second sample of DFSCTL set option statements:

SETU FPBP64U=Y                          /* Example 6
SETO DB=DEDB5,PCB=L5                    

Example 1

This SETO statement matches the PCB with label L1. However, the PROCOPT=A defines it as a non-HSSP PCB. The SETO statement is ignored.

Example 2

This SETO statement matches the PCB with label L2. The PROCOPT=HI defines it as an HSSP PCB.
IC=
Indicates a list of values for the image copy option.
1
Requests one image copy of all referenced areas. A referenced area is an area for which a DL/I call has been issued.
CONTINUE
Indicates that processing should continue if image copying cannot be performed.

Example 3

This SETO statement matches the PCB with label L3.
A1,A3–A6
Requests an image copy of each indicated area when referenced by the application.
2
Requests two image copies of all referenced areas.
1ABEND
Requests that the program must abend if one image copy fails.

This SETR statement matches the PCB with label L3. The AL=(A1=A5) sets the range of areas to which PCB L3 has access.

Example 4

This SETO statement matches the PCB with label L4.
2
Requests two image copies of all referenced areas
2ABEND
Requests that the program must abend if both image copies fail. If one image copy data set is usable, the program continues to write on it.

Example 5

This SETO statement matches the PCB with label L5.
NOIC=
Excludes the areas for which HSSP image copying is to be done.
A4–A5
Indicates the areas for which no image copies are requested.
IC=
Indicates a list of values for the image copy option.
1
Requests one image copy of all referenced areas. A referenced area is an area for which a DL/I call has been issued.
LOGALL
Indicates that updates are logged in X'5950' log records.

Example 6

The SETU statement does not require any associated PCB definitions. Because the utility private buffers are going to be allocated in 64-bit common storage, image copies cannot be made of any of the areas. If IC= were specified on the SETO statement, an error message would be issued.