IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SUBSYS Statement Question


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
lokesh vasanthi

New User


Joined: 19 Aug 2005
Posts: 17
Location: Chennai, India

PostPosted: Wed Aug 23, 2006 8:23 pm
Reply with quote

Hi,

My shop in most of the Jcl SYSIN statements like below

Example1:

//SYSIN DD SUBSYS=(PIPE,LINEIN1,STAR,
// ' DELETE TSTDH.C022126.TEST.VDRIN ',
// ' SET MAXCC = 0 ')

Example2:
//SYSIN DD SUBSYS=(PIPE,LINEIN1,STAR,
// ' SORT FIELDS=(5,72,A,81,36,A,77,4,A,117,100,A),FORMAT=CH')

Can anyone explain what are the SUBSYS parameters and why it is used for? Is it any advantage to use this.

Thanks,
Nanda
Back to top
View user's profile Send private message
ofer71

Global Moderator


Joined: 27 Dec 2005
Posts: 2358
Location: Israel

PostPosted: Wed Aug 23, 2006 11:56 pm
Reply with quote

You can find full explanation in the fine manual.

O.
Back to top
View user's profile Send private message
MainframeHelp4_u

New User


Joined: 15 Aug 2006
Posts: 25

PostPosted: Wed Aug 23, 2006 11:57 pm
Reply with quote

3.1.1 SUBSYS Subparameters

The subsystem-name and DDNAME are required subparameters on the SUBSYS
parameter. However, other subparameters may be specified on the

[color=blue]SUBSYS
parameter:[/color] //VSAMDD DD SUBSYS=(subsystem-name,'DDNAME=value',
// 'subparm1=value',....,'subparmn=value')

The SUBSYS subparameters can be specified in either of two ways:

subparm=value
subparm(value)

and must be separated by either commas, blank spaces, or both. The
following are equivalent:

subparm1=value1,subparm2(value2)
subparm1(value1) subparm2=value2
subparm1(value1) , subparm2=value2
subparm1(value1) , , subparm2=value2

If you code a subparameter without specifying a value, for instance:

subparm1=,
subparm1()

batch LSR takes the default value for the subparameter. If there is no
default value, batch LSR ignores the subparameter.

Note: Although the JCL SUBSYS parameter cannot be used with SMS-managed
data sets, there is no such restriction on the batch LSR SUBSYS parameter.
Batch LSR can be used with SMS-managed data sets.

The following subparameters are allowed on the batch LSR SUBSYS parameter:

Subparameter Meaning and Range

subsystem-name The name of the subsystem. The subsystem-name is 1 through
4 alphanumeric or national ($,#,@) characters; the first
character must be alphabetic or national ($,#,@). The
subsystem must be available in the installation. This
subparameter is required.

DDNAME The name of the JCL command statement that points to the
VSAM data set. This subparameter is required.

Note: DDNAME should not be confused with the system
parameter, DDNAME.

BUFND The number of virtual buffers to create in the data buffer
pool. If not specified, it defaults to the:

? Number of buffers that fit in 5 megabytes if the
buffers are acquired above 16 megabytes.

? Number of buffers that fit in 250 kilobytes if the
buffers are acquired below 16 megabytes.

The value can range from 10 to 32000.

Note: The default number of data and index buffers will
be created even if BUFND and BUFNI are omitted and HBUFND
and HBUFNI are specified.

For both BUFND and BUFNI, the decision of whether to
acquire buffers above or below 16 megabytes is based on
the value specified for the RMODE31 SUBSYS subparameter,
if any. If the RMODE31 SUBSYS subparameter is not
specified, the residency location defaults to the RMODE31
specification on the MACRF parameter of the user's ACB.
If RMODE31=ALL or RMODE31=BUFF is specified in either the
SUBSYS subparameter or the user's ACB, buffers are
acquired above 16 megabytes.

BUFNI The number of virtual buffers to create in the index
buffer pool. If not specified, it defaults to the:

? Number of buffers that fit in 5 megabytes if the
buffers are acquired above 16 megabytes.

? Number of buffers that fit in 250 kilobytes if the
buffers are acquired below 16 megabytes.

The value can range from 10 to 32000.

For both BUFND and BUFNI, the decision of whether to
acquire buffers above or below 16 megabytes is based on
the value specified for the RMODE31 SUBSYS subparameter,
if any. If the RMODE31 SUBSYS subparameter is not
specified, the residency location defaults to the RMODE31
specification in the MACRF parameter of the user's ACB.
If RMODE31=ALL or RMODE31=BUFF is specified in either the
SUBSYS subparameter or the user's ACB, buffers are
acquired above 16 megabytes.

HBUFND The number of hiperspace buffers in the data buffer pool.
If not specified, a hiperspace data buffer pool is not
created.

Hiperspaces are created as follows:

? If the Resource Access Control Facility (RACF)
resource CSR.BLSRHIPR.subsystem-name in the FACILITY
class is not defined, a hiperspace is created.

? If the RACF resource CSR.BLSRHIPR.subsystem-name in
the FACILITY class is defined, a hiperspace will not
be created, unless the user is also authorized to use
this resource.

If the user cannot create a hiperspace, LSR processing is
still used. Only the buffer pool in the address space is
created. If a hiperspace is used, the size of a data
buffer is rounded up to a multiple of 4K.

The value can range from 5 to 32000.

HBUFNI The number of hiperspace buffers in the index buffer pool.
If not specified, a hiperspace index buffer pool is not
created.

Hiperspaces are created as follows:

? If the RACF resource CSR.BLSRHIPR.subsystem-name in
the FACILITY class is not defined, a hiperspace is
created.

? If the RACF resource CSR.BLSRHIPR.subsystem-name in
the FACILITY class is defined, a hiperspace will not
be created, unless the user is also authorized to use
this resource.

If the user cannot create a hiperspace, LSR processing is
still used. Only the buffer pool in the address space is
created. If a hiperspace is used, the size of an index
buffer is rounded up to a multiple of 4K.

The value can range from 5 to 32000.

RMODE31 Specifies whether control blocks and/or buffers associated
with the LSR pool will be located above 16 megabytes.
Values specified here override the equivalent parameters
in the user's ACB and the batch LSR defaults. Allowable
values are:

ALL Buffers and control blocks are to be located above
16 megabytes.

BUFF Buffers but not control blocks are to located
above 16 megabytes.

CB Control blocks but not buffers are to be located
above 16 megabytes.

NONE Neither buffers nor control blocks are to be
located above 16 megabytes. Both will be placed
below 16 megabytes.

If RMODE31 is not specified, control blocks will be placed
above 16 megabytes by default and buffers will be placed
as specified by the RMODE31 subparameter of the MACRF
parameter of the user's ACB. See "Controlling Buffer and
Control Block Residency" in topic 3.2 for a detailed
explanation of buffer and control block residency
considerations and implications.

STRNO Indicates the number of concurrent strings to be used when
establishing the LSR pool. The allowable values range from
1 to 255 using a maximum of three digits. The default
value is 16.

IBM(*) recommends that you use the default number of
strings. If the number of strings is insufficient, you
will receive a return code of 8 in register 15 with a
reason code of 64 (X'40') in the feedback word of the
request parameter list (RPL) on your VSAM operation. See
MVS/DFP Macro Instructions for Data Sets for more
information. Programs coded in high-level languages
generally only require a STRNO value of 1. However, a
larger number might be needed if you are using alternate
indexes. Using a STRNO value of 16 only requires 4K of
storage, so there is little value in specifying a STRNO
value smaller than 16. If you are using alternate indexes,
you can calculate an appropriate STRNO value by adding the
number of concurrent strings needed to the number of
alternate indexes being used.

Some assembler language programs may have STRNO
requirements that vary according to the path executed or
the environment in which the processing is taking place.
In this situation, the program will work on some occasions
and fail on others when the same STRNO value is specified.
For more information about the STRNO parameter, refer to
the ACB and BLDVRP macros in MVS/DFP Macro Instructions
for Data Sets.

DEFERW Indicates whether VSAM deferred write (DFR) is to be used.
With non-deferred write (NDF), VSAM immediately writes a
CI, for which a direct PUT is issued, to DASD. With DFR
and shared resources, VSAM does not do the write until the
buffer occupied by the CI is needed for another request.
The benefit of DFR is that it can avoid I/O, particularly
in cases where there are multiple updates to the same CI
(multiple PUTs that resolve to the same CI). The use of
DFR, however, may be prohibitive in certain environments.
See "VSAM Deferred Write (DFR)" in topic 3.3 for more
information about deferred write.

Note: If you specify SHAREOPTIONS 4 with DEFERW=YES on a
DEFINE or ALTER IDCAMS statement for the cluster, the data
set will be processed using batch LSR but not using DFR.
If you have specified MSG=I as a subparameter on the
SUBSYS parameter, you will also receive message CSR008I
stating that deferred write is not supported with
SHAREOPTIONS 4. See MVS/ESA SP V5 System Messages, Vol 2
(ASB-ERB) for more information about this message.

Allowable values are:

YES Use DFR
NO Do not use DFR

The default is to use the value specified in the ACB
(which is usually non-deferred write).

SHRPOOL The identifier of the LSR pool to be used. Pool
identifiers range from 0 to 15. If you do not specify an
identifier, the system attempts to assign an unused pool
for the request. If none are available, you will receive
message CSR023I and LSR processing will not be used.

Note: The system considers a pool to be available if both
of the following are true:

? The DATA buffer pool associated with the chosen pool
identifier is not already in use

? The INDEX buffer pool (if there is one) associated
with the chosen pool identifier is not already in use.

If the LSR pool you specify already exists at the time of
the OPEN, you will receive message, CSR024I, stating that
you have specified an existing LSR pool and that batch LSR
will use it. The OPEN request will fail, however, if the
characteristics of the specified LSR pool, such as buffer
size, are not compatible with those of your request.

BUFSD The size of the data buffer to acquire. If not specified,
the size of the data set's data component is used.

The value can range from 1 to 32768.

BUFSI The size of the index buffer to acquire. If not
specified, the size of the data set's index component is
used.

The value can range from 1 to 32768.

MSG Indicates if informational, warning, or error messages are
placed in the user's job log. Allowable values are:

E Only error messages
W Warning and error messages
I Informational, warning and error messages

The default is "W".
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Question for file manager IBM Tools 7
No new posts question for Pedro TSO/ISPF 2
No new posts JOIN STATEMENT PERFORMANCE. DFSORT/ICETOOL 12
No new posts question on Outrec and sort #Digvijay DFSORT/ICETOOL 20
No new posts Relate COBOL statements to EGL statement All Other Mainframe Topics 0
Search our Forums:

Back to Top