z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SYSLMOD DD statement

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

The following SYSLMOD information applies only to the batch interface of the binder:
  • The SYSLMOD DD statement is required. It describes the output program library, which must be a partitioned data set, a PDSE, or a z/OS UNIX file. If it is a z/OS UNIX file, you must specify the PATH parameter. z/OS UNIX supports the use of an alternate ddname for SYSLMOD.
  • A member name can be specified on the SYSLMOD DD statement. If a member name is specified, it is used only if a name was not specified on a NAME control statement. This member name must conform to the rules for the name on the NAME control statement (see NAME statement).
  • If SYSLMOD is referenced by an INCLUDE statement, a member name on the DD statement must be the name of an existing member.
    Note: If you specify the PATH parameter on this DD statement, but do not specify PATHOPTS or PATHMODE, the binder assigns attributes for the created file that allow only the file owner to have read, write, and execute authority.
  • When a NAME statement is not used and a member name is supplied on the SYSLMOD DD statement, the behavior is to REPLACE (just as when using NAME with (R), or SAVEW with REPLACE=YES).
The following SYSLMOD information applies to both the batch interface and the Application Programming Interface of the binder:
  • If the member replaces an identically named member in an existing library, the disposition should be OLD or SHR.
  • If the member is added to an existing library, the disposition should be MOD, OLD, or SHR.
  • If no library exists and the member is the first added to a new library, the disposition should be NEW or MOD.
  • If the member is added to an existing library that can be used concurrently by other users in the system or in other systems sharing the library, the disposition should be SHR.
  • Programs which call the binder can specify a different DD name to replace SYSLMOD. All references here to SYSLMOD also apply to that replacement name.
  • If SYSLMOD defines a NEW data set, do not specify the RLSE subparameter because the binder closes the data set after saving each member.
  • Do not specify the FREE=CLOSE parameter on the SYSLMOD dataset, whether it is NEW or OLD.
  • The binder writes data to a PDS or PDSE in RECFM=U format.
    • If the data set is being created in this step without an explicit RECFM, or already exists but has no record format, the binder will set its record format to U.
    • If the data set already has a record format other than U, the binder will not write to it unless you provide an explicit override of RECFM=U.
      • A PDSE cannot contain a mixture of program objects with other data, so an explicit override of RECFM=U is likely to fail in that case.
      • A PDS can contain a mixture of load modules with other data, but overriding the data set record format may interfere with access to other data in the PDS.
  • The binder always assigns a block size of 4 KB to a program object. Procedures used by the binder to assign block size to a load module are:
    1. If the data set is new:
      1. When the DCBS option is not specified
        • When the data set is created without a block size, the block size is the maximum supported by the access method for that device type.
        • When the data set is created with a block size, the block size specified on the DD statement is used if it is smaller than the maximum block size supported by the device.
        • Certain of the binder options can restrict the blocksize. The block size is:
          • 1KB if the DC option is specified,
          • the value specified on the MAXBLK option,
          • one-half the value specified for value2 on the SIZE option,
      2. When the DCBS option is specified, the block size is the smaller of:
        • The maximum block size for the device
        • The value of the BLKSIZE parameter on the SYSLMOD DD statement
        • The actual output buffer length.
      3. The minimum block size is 256 bytes.
    2. If the data set already exists:
      • When the DCBS option is not specified, the larger of the existing block size or 256 bytes is used.
      • See DCBS option for the block size determination when the block size exists and the DCBS option is specified.
In the following example, the SYSLMOD DD statement specifies a permanent partitioned data set library on an IBM® 3390 direct access storage device:
//SYSLMOD    DD     DSNAME=USER.USERLIB(TAXES),DISP=NEW,UNIT=3390,...
The binder assigns a record format of U and a block size of 32760 bytes. However, consider the following example:
//LKED       EXEC   PGM=IEWBLINK,PARM='XREF,DCBS'
⋮
//SYSLMOD    DD     DSNAME=USER.USERLIB(TAXES),DISP=SHR,UNIT=3390,
//   DCB=BLKSIZE=8000

The binder still assigns a record format of U, but the block size is 8000 bytes rather than 32760 bytes because of the use of the DCBS option.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014