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
- 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
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 toIC=(,1,,)
, andIC=1,LOGALL
is equivalent toIC=(,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
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
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.
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
- 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
- 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
- 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
- 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.