MVT/VSE Release 9.5

System Control Statements Summary


Librarian

Table of Contents

Introduction

Beginning with MVT/VSE Release 9.5, support was added for the both types of libraries supported by VSE operating systems. This chapter addresses the different facilities used to support these libraries.

It is important to note that an individual site may not combine these two types of libraries on the same system. Once a library format is selected, that format must be used to the exclusion of the other format.

LIBR Format Libraries

Librarian Command Summary

COMMAND DESCRIPTION
/* Signal end of input on SYSIPT.
/. Label for GOTO or ON action.
/+ Indicate end of data for the CATALOG command.
Access Specify a sublibrary for use.
Backup Backup libraries, sublibraries, SYSRES to tape.
Catalog Catalog data to a library member.
Change Change reuse attribute of a sublibrary.
COMpare Compare libraries, sublibraries, members.
CONnect Specify sublibraries for COPY, MOVE or COMPARE.
COPy Copy libraries, sublibraries or members.
DEFine Create SYSRES, private libraries and sublibraries.
DELete Delete libraries, sublibraries or members.
END Signal the end of input on SYSLOG.
GOTO GOTO a specific librarian label.
Input Force input to be read from SYSIPT.
List List contents of members on SYSLST or SYSLOG.
LISTDir Display the contents of a directory.
Move Move libraries, sublibraries or members.
ON Test for a conditional action.
Punch Punch members to SYSPCH.
RELease Override the AUTOMATIC library or sublibrary attribute.
REName Rename sublibraries, libraries.
REStore Restore backed-up libraries, sublibraries or members.
Test Check the contents of a library, sublibrary or member.
Update Modify the contents of a member.

Specifying Libraries

Prior to using any of the Librarian functions, you must use JCL or a Librarian command to specify the libraries/sublibraries that you wish to use. In some instances this is done using the JCL DLBL and EXTENT statements. In other situations, it is done using a combination of these JCL statements and Librarian statements. In the case of Librarian statements, the libraries are referred to as "targets". Targets will be one of the following types:
  1. Multiple Targets: This is the situation when a librarian command is to perform an operation on one or more libraries, When using multiple targets, any of the following formats may be used:

    LIB=libname1
    LIB=libname1 libname2 ...
    LIB=libname1, libname2, ...
    LIB=(libname1 libname2 ...)
    LIB=(libname1, libname2, ...)

  2. From-To Targets: This is the situation when the librarian must know which library to use as input (the "from" target) and which library or libraries to use as the "to" target. the formats available for this use are:

    LIB=libname1:libname2
    LIB=libname1 libname2
    LIB=libname1..libname2

    These examples indicate that the "from" library is libname1. The "to" library is libname2.

Specifications which include a sublibrary name require that it be fully qualified. That is, you may not specify a sublibrary name only, you must also include the library name in which the sublibrary resides. The format for this specification is:

SUBLIB=libraryname.sublibraryname

EXEC Statement

The librarian function is invoked with the used of the EXEC statement. The format is:

[//] EXEC LIBR[,parmlist]
Parmlist:
   PARM='...'
   'MSHP'
   'MSHP;...'


Pass valid LIBR commands
Allow MSHP member use by librarian
Allow MSHP member use by librarian and pass valid LIBR commands

/*

OBJECT: None

The /* command is valid for SYSIPT only when a librarian job is being processed in batch mode. It is used to signal the end of input and that no other librarian command will follow.

The format of the /* command is:

/*

/.

OBJECT None

The /. statement is used to indicate a label that may be used as a branch target for the GOTO command or the GOTO operand of the ON statement.

The format of the /. statement is:

/. label

label

1 to 8 position label

/+

OBJECT: None

The /+ statement is only valid when used in conjunction with the CATALOG statement. It indicates the end of data input to the CATALOG command.

/+

ACCESS

OBJECT: Sublibrary

The ACCESS command is only valid for existing libraries and sublibraries. It is used to specify:

  1. A sublibrary, qualified by the library name, to be used on any following librarian command which has a member-name.member-type specification as its operand.
  2. Before a RESTORE member command to specify the default sublibrary.
The format of the ACCESS command is:

Access Sublib=lib.sublib
Access ?

BACKUP

OBJECT: Library, Sublibrary

The BACKUP command is used to copy libraries, sublibraries or SYSRES files to tape.

The format of the BACKUP command is:

Backup Lib=lib ...,Tape=op[,option-list]
Backup Sublib=lib.sublib ...,Tape=op[,option-list]
Lib=
   lib...
   IJSYSRn...
   IJSYSRS
Library/libraries to dump
Libraries to dump
Dump this SYSRES (1 through 9) file
Dump the IPL'd system SYSRES
Tape={SYSxxx | cuu} Output tape specification
Options:
   Restore=
      Online
      Standalone
   Include=Historyfile
   ID=[']name[']
   Header=fileid
   TAPELabel=fname
   Tlabel=fname

Stand-alone/online restore specification
(Default)

Also backup History File
Backup file ID
First file header information
Standard label tape ID
Standard label tape ID

CATALOG

OBJECT: Member

Use the CATALOG command to catalog data in the input stream to a specified member name and member type.

You may not catalog an empty dataset.

The format of the CATALOG command is:

CAtalog member [Eod={/+ | xx [Data={NO | YES} [Replace={NO | YES}]]]

CHANGE

OBJECT: Sublibrary

Use the CHANGE command to change the REUSE attribute of a sublibrary.

The format of the CHANGE command is:

CHange Sublib=lib.sublib ... [REUse={Automatic | Immediate}]

COMPARE

OBJECT: Library, Sublibrary, Member

Use the COMPARE command to:

  1. Compare the directories of one library/sublibrary with another library/sublibrary.
  2. Compare one member name and member type with another member name and member type.
The format of the COMPARE command is:

COMpare Lib=lib1 [:] lib2 ... [option-list]
COMpare Sublib=lib1.sublib1 [:] lib2.sublib2 ... [option-list]
COMpare member1 member2 ... [option-list]
Lib= Compare libraries
Sublib= Compare sublibraries
member Member name/member type to compare
: Optional library separation delimiter
Options:
   Data=
   Directory
   Member
   Punch=
   No
   Yes

Comparison control type
Default, compare directories
Compare members record for record
Generate COPY statements on SYSPCH
Default, Do not generate COPY statements
Generate COPY statements on SYSPCH

CONNECT

OBJECT: Sublibrary

The CONNECT command is used to specify the "from" and "to" libraries and sublibraries prior to the use of a COPY, MOVE, or COMPARE command.

It provides the name(s) of the sublibraries in which the members may be located or where they are to be placed.

The CONNECT command is required for the above commands where two sublibraries are required to properly complete the command.

The format of the CONNECT command is:

CONnect Sublib=lib1.sublib1 [:] Sublib=lib2.sublib2
CONnect ?
? Display current connect information

COPY

OBJECT: Library, Sublibrary, Member

The COPY command is used to copy data between libraries.

The format of the COPY command is:

COPy Lib=lib1 [:] lib2 ... [option-list]
COPy Sublib=lib1.sublib1 [:] lib2.sublib2 ... [option-list]
COPy member ... [Replace=op] [LISt=op]
: Optional library separation delimiter
Options:
   Replace={NO | YES}
   LISt={NO | YES}

Conditional replacement Print control

DEFINE

OBJECT: Library, Sublibrary

Use the DEFINE command to create:

The format of the DEFINE command is:

DEFine Lib=lib ... [option-list]
DEFine Sublib=lib.sublib ...[option-list]
Options:
   Replace={NO | YES}
   REUse={Automatic | Immediate}

Conditional replacement
Reuse control

DELETE

OBJECT: Library, Sublibrary, Member

Use the DELETE command to delete:

  1. A single or multiple libraries
  2. A single sublibrary or multiple sublibraries
  3. A single member or multiple members of a sublibrary.
The format of the DELETE command is:

DELete Lib=lib ...
DELete Sublib=lib.sublib ...

END

OBJECT: None

The END command is only valid for SYSLOG when a librarian job is being processed interactively, on a console. It signals the end of input and that no other librarian commands will follow.

The format of the END command is:

END

GOTO

OBJECT: None

The GOTO command is used for batch processing only. It specifies a label to where an unconditional branch is to be made.

The format of the GOTO command is:

GOTO label

INPUT

OBJECT: None

The INPUT command is used to change the reading of commands from SYSLOG to SYSIPT. This change will remain in effect until the end of the current job step.

The format of the INPUT command is:

Input SYSIPT

LIST

OBJECT: Member

The LIST command is used to list the contents of one or more members on SYSLST or SYSLOG.

The format of the LIST command is:

List member ... [option-list]
Options:
   Unit={SYSLST | SYSLOG}
   Format=Hex

Unit for output
Output in hex format

LISTDIR

OBJECT: Library, Sublibrary, Member

The LISTDIR command is used to display the contents of a specified library, sublibrary directory, a member(s) or the System Directory List.

The LISTDIR command can also be used to check if a library, sublibrary or member actually exists. If the item exists, $RC is set to 0. If the item does not exist, $RC is set to 4. You may then use the ON command to take appropriate action.

The format of the LISTDIR command is:

LISTDir Lib=lib ... [option-list]
LISTDir Sublib=lib.sublib ... [option-list]
LISTDir member ... [option-list]
LISTDir SDL [Unit=op]
SDL Use the System Directory List
Options:
   OUTPUT={FULL | NORMAL | SHORT | STATUS}
   Unit={SYSLST | SYSLOG}
Output information display
Output device

MOVE

OBJECT: Library, Sublibrary, Member

The MOVE command is used to move libraries, sublibraries of members. When sublibraries or members have properly completed the move, they are deleted from the "from" library.

The format of the MOVE command is:

Move Lib=lib1 [:] lib2 ... option-list]
Move Sublib=lib1.sublib1 [:] lib2.sublib2 ... option-list]
Move member. [.option-list]
: Optional separator
Options:
   Replace={No | Yes}
   LISt={No | Yes}

Conditional replacement
List move members and sublibrary

ON

OBJECT: None

The ON command is only valid in batch processing of the librarian. It allows conditional branching within the job stream. The $RC return code is tested with the specified operator and a branch made to a label or processing continues with the next step.

The format of the ON command is

ON $RC operator n{ GOTOlabel | CONtinue}
ON $RC operator n
Operators:
   >
   <
   =

Greater than operator
Less than operator
Equal to operator
n Compare $RC against this number

PUNCH

OBJECT: Member

The format of the PUNCH command is:

PUnch member ... [Format={Old | Noheader} [EOF={Yes | No}]]

RELEASE

OBJECT: Library, Sublibrary

Use the RELEASE command to specifically release freed space when members of a library or sublibrary have been deleted and the library or sublibrary:

  1. Is shared by two or more regions or
  2. Resides on a DASD device that is shared by two or more systems.
If two or more systems are accessing the library or sublibrary, the RELEASE command must be issued for each system to ensure that the library is properly used by all systems.

The format of the RELEASE command is:

RELease [SPace] Lib=lib ...
RELease [SPace] Sublib=lib.sublib ...

RENAME

OBJECT: Sublibrary, Member

The RESTORE command is used to change:

  1. The name and/or type of one or more members, or
  2. The names of one or sublibraries.
The format of the RENAME command is:

REName Sublib=lib1.sublib1 [:] lib1.sublib2 ...
REName member1 [:] member2 ...

RESTORE

OBJECT: Library, Sublibrary, Member

The RESTORE command is used to restore:

from a backup tape that was created using the BACKUP command.

The DLBL, EXTENT and ASSGN information for restoring libraries is determined by reading the Standard Label Area. If no information exists for the library, it will not be restored.

You can not restore a library which is currently in use.

The format of the RESTORE command is:

REStore Lib=libname [:newlibname ...] Tape={SYSxxx | cuu} [optionlist]
REStore Sublib=lib.sublib [:newlibname ...] Tape={SYSxxx | cuu} [optionlist]]
REStore member [:lib.sublib ...] Tape={SYSxxx | cuu} [optionlist]
REStore Oldlib=oldlib [:lib.sublib ...] Tape={SYSxxx | cuu} [optionlist]
REStore * Tape=SYSxxx | cuu} [optionlist]
Options:
   Date={New | Old}
   LISt={Yes | No}
   SCan={Yes | No}
   ID={name | *}
   Replace={Yes | No}
   {TAPELabel= | Tlabel=}

Member date control
Restored library listing
Scan tape for dataset information
Backup file name to search for
Restore replace existing files
Input tape standard label check

TEST

OBJECT: Library, Sublibrary, Member

The TEST command is a diagnostic command and should only be used at the request of Technical Support personnel.

The TEST command checks the structure and contents of a library, sublibrary or member for consistency and correctness and to provide a trace function for librarian functions at different levels.

The format of the TEST command is:

Test Lib=lib ... [optionlist]
Test Sublib=lib.sublib ... [optionlist]
Test member ... [optionlist]
Options:
   Area={Space | All}
   Repair={Yes | No)
   Trace={All | Buffer | IO | LEVELx | OFF | Space}
   Unit={SYSLST | SYSLOG}

LIB= only
LIB= only
Tracing
Output unit

UPDATE

OBJECT: Member

The UPDATE command is used to modify the contents of members. You may add, delete or replace records in a member.

The UPDATE command may be used for any member that may be created using the CATALOG command.

The format of the UPDATE command is:

Update member[optionlist]
Options:
   SAve=
   SEquence={10 | n | FS | NO}
   Column=

Unaltered copy save member
Sequence number specification
Start/end columns of sequence number

Update Subcommands

The following is a summary of those subcommands that may be used with the librarian UPDATE command.

SUBCOMMAND DESCRIPTION
)ADD Add a line to a member.
)DEL Delete a line from a member.
)END End of input to the UPDATE command.
)REP Replace lines in a member.

)ADD Subcommand

OBJECT: Member

The )ADD UPDATE subcommand is used to add a line or lines to a specified member.

The )ADD command inserts the included data line(s) immediately after the specified line.

The format of the )ADD subcommand is:

)ADD seq-num

)DEL Subcommand

OBJECT: Member

The )DEL UPDATE subcommand is used delete a line or lines from a specified member.

The )DEL command acts on the specified line(s) only.

The format of the )DEL subcommand is:

)DEL seq1[,seq2 | ,*]
seq1 Member starting sequence number
seq2 Last sequence number to delete
* Delete from seq1 to end of member

)END Subcommand

OBJECT: Member

The )END UPDATE subcommand indicates that input for the UPDATE is complete. It must immediately follow all input to the UPDATE process.

The format of the )END subcommand is:

)END

)REP Subcommand

OBJECT: Member

The )REP UPDATE subcommand is used to replace one or more lines in a member. The line or lines that are being used as the replacement(s) must immediately follow the )REP subcommand.

The )REP command acts on the specified line(s) only.

The format of the )REP subcommand is:

)REP seq1[,seq2 | ,*]
seq1 Replace starting with this sequence number
seq2 Last sequence number to replace
* Replace from seq1 to end of member

MVT/VSE Standard Format Libraries

Dataset Formats

MVT/VSE supports three types of datasets. These are:
  1. VSAM datasets: This type of dataset is controlled with the use of the VSE/VSAM function.
  2. Sequential files: This type of dataset is contains data in a pre-determined order and is generally accessed and controlled via user written programs or applications.
  3. Library datasets: This type of library is controlled via the functions provided by the combined librarian functions.
The last type of dataset is being discussed. These types of libraries are:
  1. System Residence (SYSRES) files: This includes the System core image, relocatable, source statement, and procedure libraries.
  2. Private core image, relocatable and source statement libraries: Note that MVT/VSE does not support the use of private procedure libraries.
Each of the supported libraries is further divided into sublibraries and elements (members) within a sublibrary.

The format for specifying the sublibrary and member names is:

sublib.membername

Where:

sublib The sublibrary identification. This may be any alphanumeric character (A-Z, 0-9, #, $, and @). Any other character is invalid.
membername The member or element name. This may be from 1 to 8 alphanumeric characters in length. The same characters allowed for the sublibrary name are also allowed for the member name.

When creating members of a library, the first four positions of the member name are special. All members that contain the same first four characters are treated as a multiprogram group. This special treatment is used within several of the librarian programs. For example:

DDA1001
DDA1002
DDA1010
DDA1020
DDA1023

are all considered as part of a program group (DDA1).

Logical Unit and Library Definitions

Prior to the execution of any librarian service, the logical units and libraries that will be used must be defined. Two methods of providing these definitions are allowed.

LIBDEF This method uses the DLBL, EXTENT and LIBDEF statements for the definitions.
ASSGN This method uses the DLBL, EXTENT and ASSGN statements for the definitions.

Only one of these methods is allowed for each service and they may not be mixed. The actual method used depends on the type of function being performed and if a given service supports that method of definition.

The following rules apply to the use of the librarian services:

  1. An ASSGN statement can not be used for a Private procedure library.
  2. The LIBDEF statement can not be used for the COPYSERV program.
  3. SYSRDR is only required for Job Control use.
  4. SYSIPT may be assigned to a card reader, tape unit, DASD, or a diskette. For the MAINT program, if SYSIPT is assigned to a tape unit, the tape is assumed to be positioned at the first input record and the tape is not rewound at the end of the job.
  5. SYSLST may be assigned to a printer, tape unit, DASD, or a diskette.
  6. With the exception of the MAINT program, SYSLOG .may not be assigned to a printer.
  7. When SYSRDR and SYSIPT are assigned to the same device, you may use SYSIN for both.

Logical Unit Definitions and Use

The following table summarizes the logical units used by the different librarian services. Optional logical units are dependent on the function being performed.

SERVICE REQUIRED OPTIONAL
COPYSERV SYSRDR, SYSLST
CORGZ SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN
CSERV SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN, SYSPCH
DSERV SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN
ESERV SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN, SYSPCH
MAINT SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN
PSERV SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN, SYSPCH
RSERV SYSRDR, SYSIPT, SYSLST SYSIN, SYSPCH
SSERV SYSRDR, SYSIPT, SYSLST, SYSLOG SYSIN, SYSPCH

LIBDEF Definitions

The following table summarizes the use of LIBDEF for the different librarian services. Optional indicates that the LIBDEF is dependent on the function being performed.

SERVICE REQUIRED OPTIONAL
COPYSERV    
CORGZ   LIBDEF FROM
LIBDEF TO
LIBDEF NEW
CSERV   LIBDEF FROM
DSERV   LIBDEF FROM
ESERV   LIBDEF FROM
MAINT LIBDEF TO  
PSERV   LIBDEF FROM
RSERV   LIBDEF FROM
SSERV   LIBDEF FROM

ASSGN Definitions

The following table summarizes the use of the ASSGN statement for the different librarian services. Optional indicates that the ASSGN statement is dependent on the function being performed.

SERVICE REQUIRED OPTIONAL
COPYSERV SYS003 SYSCLB, SYSRLB, SYSSLB
CORGZ   SYSCLB, SYSRLB, SYSSLB, SYS000, SYS001, SYS002, SYS003
CSERV   SYSCLB
DSERV   SYSCLB, SYSRLB, SYSSLB
ESERV SYS001, SYS002 SYSSLB
MAINT   SYSCLB, SYSRLB, SYSSLB
PSERV    
RSERV   SYSRLB
SSERV   SYSSLB

Functions/Programs Summary

SERVICE USE
COPYSERV Service aid for merging the contents of two libraries.
CORGZ Create and move elements between libraries.
CSERV Display/punch members of a core Image library.
DSERV Display directory entries of a library.
ESERV Display, punch, update edited macros.
MAINT Perform maintenance on libraries.
PSERV Display/punch members of a procedure library.
RSERV Display/punch members of a relocatable library.
SSERV Display/punch members of a Source Statement library.

COPYSERV

The librarian COPYSERV program is a service aid which assists in the merging of two system or private libraries. COPYSERV:
  1. Compares the directories of two libraries to determine which library members are to be copied from one library to the other.
  2. Provides a listing of the results of the comparison.
  3. Produces the CORGZ job stream required to perform the transfer on the device assigned to SYSPCH.
The COPYSERV program does not support: If you are creating a new library, the CORGZ COPYx NEW statements may be used in place of COPYSERV. You must ensure that the new library is of sufficient size to contain all of the members to be copied.

Executing COPYSERV

The COPYSERV program is executed with the use of the EXEC statement. For example:

// EXEC COPYSERV

Note: You may not use more than one (1) source (input) and target (output) library for each execution of COPYSERV.

All system libraries of the current system residence (SYSRES) may be compared against the libraries on a new system residence in a single execution of the COPYSERV program. Note however, that if a private library is involved in the comparison, a separate execution of

COPYSERV is required for each library type. For example, if a new private core image or relocatable library was to receive the contents of the current system libraries, two separate COPYSERV job steps would be required.

Library Assignments

COPYSERV uses source (input) and target (output) libraries for the copy operation. These libraries are defined with the use of the DLBL, EXTENT and ASSGN job control statements.

Source (Input) Libraries

COPYSERV supports input from the following library types: The following table outlines the job control assignments allowed for a source (input) library:

LIBRARY FILENAME SYSxxx
System Residence (SYSRES) IJSYSRS SYSRES
Private core image IJSYSCL SYSCLB
Private relocatable IJSYSRL SYSRLB

Target (Output) Libraries

Any target (output) library must be assigned to SYS003. For example:

// JOB COPY
...
...
// ASSGN SYS003,130
// DLBL IJSYSNR,'NEW.OUTPUT.FILE'
// EXTENT SYS003,...
...

Indicating Merge Direction

Indicating the direction of a merge operation may be done with the use of an UPSI statement when a private library is involved. The following table summarizes the source/target libraries and the required UPSI settings.

SOURCE LIBRARY TARGET LIBRARY UPSI SETTING SOURCE LOGICAL SOURCE FILENAME TARGET LOGICAL TARGET FILENAME
RES NRS None SYSRES   SYSRES  
RES PRV 00001000 SYSRES   SYS003 IJSYSNR
RES PRV 00000100 SYSRES   SYS003 IJSYSNR
PRV NRS 10000000 SYSCLB IJSYSCL SYS003 IJSYSNR
01000000 SYSRLB IJSYSRL SYS003 IJSYSNR
PRV PRV 10001000 SYSCLB IJSYSCL SYS003 IJSYSNR
PRV PRV 10000100 SYSRLB IJSYSRL SYS003 IJSYSNR
00100010 SYSSLB IJSYSSL    

These specifications allow you to merge from:

Example

The following serves as an example of the use of the COPYSERV program and the resulting output that is used as input to the CORGZ program.

// JOB COPY
// DLBL IJSYSRS.'MVT/VSE.SYSRES.FILE'
// EXTENT SYSRES
// ASSGN SYS003,cuu
// DLBL IJSYSNR,'MVT/VSE.SYSRES.FILE'
// EXTENT SYS003
// EXEC COPYSERV
/&

The output produced on SYSPCH for this COPYSERV run would be:

// EXEC CORGZ
MERGE RES,NRES
COPYC statements... See note below
COPYR statements...
COPYS statements...
COPYP statements...

Note: $$A$SUPx phases will not be included. These phases apply to the system supervisor and should be re-compiled on the new system. The COPYC statements will always include $$BFCBx, $$BUCBxx, $JOBACCT, $JOBEXIT, and $SYSOPEN phases. It is assumed that the new system contains dummy members for these phases.

In addition, output on SYSLST would show:

Prior to actually executing the CORGZ program, you should:
  1. Check the output and verify the members being merged and
  2. Add the appropriate library assignment and label information.
It is recommended that any resulting SYSPCH output be placed in a SPOOL class that will not be immediately released for processing. This will allow you time to check and verify the resulting output prior to any actual processing of the CORGZ program.

CORGZ

The CORGZ function are:

ALLOC Create a new SYSRES pack
MERGE Transfer elements between existing libraries
NEWVOL Create private libraries
COPY ALL Copy all of a SYSRES device
COPYC Copy Core Image library members
COPYI Copy IPL retrievel program
COPYP Copy procedures
COPYR Copy relocatable modules
COPYS Copy Source Statement books

Only one ALLOC or NEWVOL statement is allowed with each execution of CORGZ. Multiple MERGE statements are allowed.

You may use multiple substatements with each ALLOC, NEWVOL or MERGE statement.

Note: If an:

// UPSI 1

is coded prior to invoking CORGZ for a MERGE and COPYx operation, the names of all copied members will be printed on SYSLST.

ALLOC

The CORGZ ALLOC statement is used to:
  1. Allocate a new SYSRES file, and
  2. Allocate the system libraries on the new SYSRES pack.
The format of the ALLOC statement is:

ALLOC CL=nn(dd),RL=nn(dd),SL=nn(dd),PL=nn(dd)
nn Number of library tracks/blocks
(dd) Number of library directory blocks

MERGE

The CORGZ MERGE statement is used to merge the contents of one library to another library of the same type (CL, SL, RL or PL).

The actual merge of the elements is controlled with the use of the COPYx statements. If an element being copied exists in the destination library, it is deleted and replaced with the element in the from library. This is avoided with the use of the COPYx NEW statement.

The format of the MERGE statement is:

MERGE {RES | NRES | PRV},(RES | NRES | PRV}

IJSYSCL/SYSCLB NEWVOL

The CORGZ NEWVOL statement is used to create a new private library. In addition to the required DLBL and EXTENT statements, NEWVOL may be used with:
  1. LIBDEF statement, or
  2. ASSGN statements using the following filenames an symbolic units:
    • For a core Image library: IJSYSPC and SYS003
    • For a relocatable library: IJSYSRL and SYSRLB
    • For a Source Statement library: IJSYSSL and SYSSLB
The ASSGN statement can not be used for a private procedure library.

The format of the CORGZ NEWVOL statement is:

NEWVOL {RL | CL | SL | PL},nn(dd)[,...]
nn Number of cylinders/blocks
(bb) Number of directory control blocks

COPY ALL

The CORGZ COPY ALL statement is used to copy all of a SYSRES device. This combines all of the functions of COPYC, COPYR, COPYS, and COPYP ALL statements.

This statement may only be used when a SYSRES contains all four of the specified library types.

The COPY ALL statement is only valid when preceded by an ALLOC or MERGE statement.

The format of the COPY ALL CORGZ statement is:

COPY ALL

COPYC

The CORGZ COPYC statement is used to indicate the elements of a core Image library that are to be copied.

The format of the CORGZ COPYC statement is:

COPYC {name[,...] | ALL | NEW}

COPYI

The CORGZ COPYI statement is used to copy the IPL Retrieval Program from SYSRES (RES) to SYS002 (NRS). For CKD devices, this is $$A$PLBK.

For FBA devices, this is $$A$PLBF.

The format of the COPYI CORGZ statement is:

COPYI {$$A$PLBK | $$A$PLBF}

COPYP

The CORGZ COPYP statement is used to specify the procedures that are to be copied from one procedure library to a target procedure library.

The format of the CORGZ COPYP statement is:

COPYP {pname[,pname...]| ALL | NEW}

COPYR

The CORGZ COPYR statement is used to copy modules that are to be copied from an input relocatable library to a target library.

The format of the COPYR CORGZ statement is:

COPYR {/B>name[,name...] | name.ALL[,name.ALL...] | ALL | NEW}

COPYS

The COPYS CORGZ statement is used to specify Source Statement books that are to be copied.

The format of the COPYS statement is:

COPYS {s.name[,s.name...] | s.ALL[,s.ALL...] | ALL | NEW}

CSERV

The CSERV program is used to:

The source library (input) must be defined:

SYSPCH must be assigned when the PUNCH function is being used. When SYSPCH is assigned to a tape, disk or diskette unit, each card image is preceded by a stacker select character.

The substatements that may be used with the CSERV program are:

DSPLY operand-list
PUNCH operand-list
DSPCH operand-list
Operands:
   name
   name.ALL
   ALL

1 or more phases to be displayed/punched
Program group to be displayed/punched
All phases are to be displayed/punched

DSERV

The DSERV program is used to display the directories for a core Image, relocatable, source statement, or procedure library in: A private library must be defined: The substatements that may be used with the DSERV program are:

DSPLY operand-list
DSPLYS operand-list
Operands:
   dir[,dir...]
      ALL
      CD
      PD
      RD
      SD
      SDL
      TD
   CD(name[,nn])

Directories to be displayed
Display all directories
Core image directory
Procedure directory
Relocatable directory
Source statement directory
System directory list
$ phases in the core image directory
Phase detail display

ESERV

The ESERV program is used to: edited assembler macros from a Source Statement library.

A private source statement library must be defined:

SYSPCH must be assigned when the PUNCH function is being used. When SYSPCH is assigned to a tape, disk or diskette unit, each card image is preceded by a stacker select character.

The substatements that may be used with the ESERV program are:

GENEND

The GENEND subcommand is used to cause an END or /* card to be placed immediately after the de-edited macro on SYSPCH so that it may be used as SYSIPT to the assembler.

If used, the GENEND substatement must immediately follow the // EXEC ESERV statement.

GENEND

GENCATALS

The GENCATALS subcommand is used to cause:
  1. A CATALS statement to precede the de-edited macro. This statement will have one of the following formats:
    1. A.bookname: If SUBLIB=DF was specified in an OPTION statement or
    2. A.bookname: For all other cases.
  2. A /* statement to be placed immediately after each de-edited macro.
This allows the resulting output to be used as SYSIPT input to the MAINT program for cataloging the de-edited macro(s) into the A sublibrary.

GENCATALS

DSPLY

The DSPLY substatement is used to de-edit and display the macro(s) on SYSLST.

DSPLY [s].name[,s.name...]

DSPCH

The DSPCH substatement is used to de-edit, display and punch the indicated macro(s).

DSPCH [s].name[,s.name...]

PUNCH

The PUNCH substatement is used to de-edit and punch the macro(s).

PUNCH [s].name[,s.name...]

Control Statements

) ADD

The ) ADD control statement is used to add source statements following the ) ADD control statement to the macro being processed.

The format of the ) ADD control statement is:

) ADD seq[+rel]
seq Start adding statements after this sequence number
+rel Sequence number relative displacement

) COL

The ) COL statement is used to specify the location of the sequence number in the macro definition. If used, the ) COL statement must immediately follows the DSPLY, PUNCH or DSPCH statement o which it applies.

If omitted, the default ) COL definition is:

) COL 73,6

The format of the ) COL control statement is:

) COL start,n
start Sequence start column
n Length of sequence number

) DEL

The ) DEL control statement is used to delete one or more statements from a source macro definition.

The format of the ) DEL control statement is:

) DEL fseq[+rel][,lseq[+rel]]
fseq First sequence number
lseq Last sequence number
+rel Statement relative position

) END

The ) END control statement is used to indicate the end of the update statements on SYSIPT.

The ) END statement is required for each update processing.

The format of the ) END statement is:

) END

) REP

>The ) REP control statement is used to indicate that the source statement(s) following it are to replace one or more statements in the macro.

The format of the ) REP control statement is:

) REP fseq[+rel][,lseq[+rel]]
fseq First sequence number
lseq Last sequence number
+rel Statement relative position

) RST

The ) RST control statement indicates that the sequence numbers of the macro restart at a lower number after the statement number indicated.

If an ADD, DEL or REP operation is performed on the last statement in a sequence number series, then the ) RST statement must reference the first statement after the statement being added, deleted or replaced.

The format of the ) RST control statement is:

) RST seq[+rel]
seq Sequence number after which new sequence starts
+rel RELATIVE.sequence number position

) VER

The ) VER control statement specifies a specific source statement that is to be verified against the contents of the statement following the ) VER statement on SYSIPT.

The format of the ) VER control statement is:

) VER seq[+rel],len
seq Sequence number for verification
+rel Relative position from sequence number
len field length to verify

MAINT

The MAINT program is used to maintain the MVT/VSE libraries. It is used to: The statements used with the MAINT librarian service are:

STATEMENT USE
BKEND Indicate beginning and end of a book in a Source Statement library.
CATALP Add a procedure to a procedure library.
CATALR Add a module to a relocatable library.
CATALS Add a book to a sublibrary of a Source Statement library.
CONDL Set the condense threshold for a library.
CONDS Condense a core Image, source statement, relocatable or procedure library.
DELETC Delete a phase in a core Image library.
DELETP Delete a procedure in a procedure Library
DELETR Delete a module in a relocatable library.
DELETS Delete a book in a Source Statement library.
RENAMC Rename a phase in a core image Library.
RENAMP Rename a procedure in a procedure library.
RENAMR Rename a module in a relocatable library.
RENAMS Rename a book in a Source Statement library.
UPDATE Update a book in a Source Statement library.

BKEND

The MAINT BKEND statement is used to indicate the beginning and end of books in a Source Statement library. Note that macro definitions do not require BKEND statements, however, the BKEND statement may be used for this type of book.

The format of the MAINT BKEND statement is:

BKEND S.name[,{DEQNFS | SEQNCE}[,count[,CMPRSD]]]
s.name Required sublibrary and bookname
count Number of cards in the book

CATALP

The MAINT CATALP statement is used to add a procedure to the system or private procedure library.you may use more than one CATALP statement in a single processing to catalog several procedures. Each procedure must immediately follow the CATALP statement to which it applies.

The format of the MAINT CATALP statement is:

CATALP name[,VM=v.m[,EOP=cc[,DATA=op]]]
name The name of the procedure being cataloged

CATALR

The MAINT CATALR statement is used to add a module to a relocatable library.

The format of the MAINT CATALR statement is:

CATALR modulename[,v.m]

CATALS

The MAINT CATALS statement is used to add a book to a source statement library.

The format of the MAINT CATALS statement is:

CATALS s.name[,v.m[,C]]

CONDL

The MAINT CONDL statement is used to set minimum free space that may remain in a library during an update process. If, during an update, this threshold is reached, a message is posted to the system operator.

The format of the MAINT CONDL statement is:

CONDL {CL | PL | RL | SL}=n
n Block condense limit

CONDS

The MAINT CONDS statement is used to condense a library. The condense process makes available any blocks that has been freed during a delete or update process.

The format of the CONDS MAINT statement is:

CONDS {CL | PL | RL | SL}

DELETC

The MAINT DELETC statement is used to delete one or more phases or programs from a core image library.

The format of the DELETC MAINT statement is:

DELETC phasename[,phasename...]
DELETC phasename.ALL[,phasename.ALL...]
DELETC ALL

DELETP

The MAINT DELETP statement is used to delete one or more procedures from a procedure library.

The format of the MAINT DELETP statement is:

DELETP procname[,procname...]
DELETP ALL

DELETR

The MAINT DELETR statement is used to delete one or more modules form a relocatable library.

The format of the MAINT DELETR statement is:

DELETR modulename[,modulename...]
DELETR modulename.ALL[,modulename.ALL...]
DELETR ALL

DELETS

The MAINT DELETS statement is used to delete:
  1. One or more or all books from a source statement library,
  2. An entire sublibrary.
The format of the MAINT DELETS statement is:

DELETS s.name[,s.name...]
DELETS s.ALL
DELETS ALL

RENAMC

The MAINT RENAMC statement is used to rename a phase(s) in a core image library.

The format of the MAINT RENAMC statement is:

RENAMEC oldmodulename,newmodulename[,oldmodulename,newmodulename...]

RENAMP

The MAINT RENAMP statement is used to rename a procedure in a procedure library.

The format of the MAINT RENAMP statement is:

RENAMP oldprocname,newprocname[,oldprocname,newprocname...]

RENAMR

The MAINT RENAMR statement is used to rename a module in a relocatable library.

The format of the MAINT RENAMR statement is:

RENAMR oldmodulename,newmodulename[,oldmodulename,newmodulename...]

RENAMS

The MAINT RENAMR statement is used to rename a book is a source statement library.

The format of the MAINT RENAMS statement is:

RENAMs s.oldbookname,s.newbookname[,s.oldbookname,s.newbookname...]

UPDATE

The MAINT UPDATE statement is used to update (Change, add, delete) the contents of a book in a source statement library.

The format of the MAINT UPDATE statement is:

UPDATE s.bookname[,s.tempbookname[,v.m[,{nn | FS | NO}]]]
nn Resequence by number 1 through 10

PSERV

The PSERV program is used to display and/or punch members from a procedure library.

The procedure library being used as input, must be defined:

SYSPCH must be assigned when the PUNCH function is being used. When SYSPCH is assigned to a tape, disk or diskette unit, each card image is preceded by a stacker select character.

You may specify one or more of the functions within a single processing of PSERV.

The control statements used with the PSERV program are:

DSPLY {procname | ALL}
PUNCH {procname | ALL}
DSPCH {procname | ALL}

RSERV

The RSERV program is used to display and/or punch modules from a relocatable library.

A private relocatable library being used as input, must be defined:

YSPCH must be assigned when the PUNCH function is being used. When SYSPCH is assigned to a tape, disk or diskette unit, each card image is preceded by a stacker select character.

You may specify one or more of the functions within a single processing of RSERV.

The format of the RSERV control statements are:

DSPLY [{modulename | modulename.ALL | ALL}]
PUNCH [{modulename | modulename.ALL | ALL}]
SPCH [{modulename | modulename.ALL | ALL}]

SSERV

The SSERV program is used to display and/or punch modules from a Source Statement library.

A private source statement library being used as input, must be defined:

SYSPCH must be assigned when the PUNCH function is being used. When SYSPCH is assigned to a tape, disk or diskette unit, each card image is preceded by a stacker select character.

The format of the SSERV control statements is:

DSPLY operand-list
PUNCH operand-list
DSPCH operand-list
Operands:
   s.book...
   s.ALL
   ALL
   HEX
   CMPHEX
   CMPRSD

Display/punch the indicated book(s)
Display/punch all books in this sublibrary
Display/punch all books in the library
Display book in hexadecimal
Punch book in library compressed and display in hex
Punch book in library compressed format

  1500 Fashion Is. Blvd., Suite 205
San Mateo, CA 94404
Phone: 650-372-0900
Fax: 650-372-2912

Copyright © 2000 by Software Pursuits, Inc.
All rights reserved