4 SMC Utilities

This chapter describes the following SMC utilities:

  • Unified User Interface utility (SMCUUUI)

    This utility enables you to issue HSC Unified User Interface (UUI) commands, VTCS commands, or SMC commands from a batch job.

  • POLicy and TAPEREQ Batch Test utility (SMCUTRQ)

    This utility enables you to test POLicy and TAPEREQ lookup behavior.

  • Tape Management Extract utility (SMCUDBX)

    This utility supports scratch synchronization between the SMC client host and the HSC CDS.

  • UUI Simulation utility (SMCUSIM)

    This utility enables you to issue SMC UUI commands in a test environment. Changes to SMC command settings, tape policies, and allocation user exits can be tested before they are put into production without affecting existing SMC clients and HSC servers.

  • Trace Format utility (SMCUGTF)

    This utility supports scratch synchronization between the SMC client host and the HSC CDS.

  • VSM console SMF Offload utility (SMCUSMF)

    This utility enables you to offload SMF records from a VSM console server.

Unlike HSC and VTCS utilities, all SMC utilities are packaged as standalone utility programs. SMC utilities are not initiated using SMC operator commands.

SMC Utility Return Codes and Messages

The following table describes SMC utility return codes:

Table 4-1 SLUADMIN Return Codes

Return Code Description

0

All utility functions completed normally.

4

At least one utility function encountered an abnormal situation, but it did not cause termination of that utility function or any subsequent utility functions.

8

At least one utility function encountered an error condition that prevented continuation of that utility function, but any subsequent utility functions represented by control statements were attempted.

12

An error condition was detected that either prevented the start of any utility functions, or terminated the active utility function and prevented processing of subsequent utility functions.


Refer to the publication ELS Messages and Codes for a listing of SMC messages that may be returned by SMC utilities. These messages are identified by the SMCU prefix.

Unified User Interface Utility (SMCUUUI)

The SMCUUUI utility enables you to issue SMC and HSC Unified User Interface (UUI) commands, or VTCS requests from a batch job. The commands can be routed to a local or remote HSC TapePlex.

Several types of output can be received for a UUI command, including:

  • Plain text output

    This type of output is written to TEXTOUT, and corresponds to the normal output produced by the HSC or VTCS command or report utility. If plain text output is requested for an HSC or VTCS report, the report headings are not produced by the UUI.

  • Structured XML

    This type of output is written to XMLOUT. Structured XML is a well formed XML data stream with XML header tags and XML data tag elements, and XML data element content. Refer to the ELS Programming Reference for a complete list of SMC, HSC and VTCS XML tag names and types.

  • Comma Separated Values (CSV)

    This output type is optional and is generated only if the CSV command is specified. See "CSV Command" for more information.

    This type of output is written to CSVOUT. An input template of XML data tag names defines the format of the CSVOUT corresponding to a particular request. The output data for each request is a CSV header line that contains a comma-separated list of the XML data tags requested, followed by CSV detail lines. Each CSV detail line contains one comma-separated entry for each requested XML data tag. This type of output is readily adaptable as input into spreadsheets or customized report writers. Refer to the ELS Programming Reference for more information about the format for specifying CSV.

The type of output received is controlled by the data set definition statements (DD) defined in the JCL to execute the SMCUUUI utility

Note:

  • In general, error messages are not produced for CSV output. To view error messages produces by the UUI process, you must include either a TEXTOUT or XMLOUT DD statement.

  • If the SMCUUUI utility is directing utility functions that may include SORT (such as VOLRPT, MVCRPT, and so on) to a remote TapePlex, caution should be exercised to run a limited number of these jobs simultaneously for a single SMC HTTP server. The exact number depends on the region size of the SMC running the HTTP server and the amount of data being processed.

Sample JCL

The following example shows sample JCL that executes the SMCUUUI utility.

Example 4-1 JCL to Execute the SMCUUUI Utility

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI,PARM='pgmparms'
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//STDOUT   DD DSN=yourstd.printout.dataset,DISP=SHR
//UUIIN    DD *
 CSV and uui commands
//******************************************************************
//* Specify at least one of the following output data sets:        *
//******************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR

Parameters

The following SMCUUUI utility parameters may be specified for pgmparms in the sample JCL:

SSYS(subsystem-name)

Specifies the SMC subsystem name (one to four characters in length)

TAPEPlex(name)

Specifies the name of the SMC TapePlex to which the UUI commands will be directed. If omitted, the first active TapePlex found is used.

Use TAPEPlex(SMC) to indicate that the input commands are to be issued directly to the SMC, and not to a TapePlex (such as the SMC Display Volume and Display DRive command).

XMLCASE

Specifies the case of alphabetic data fields in XML and CSV output. Valid case formats include the following:.

  • M indicates mixed uppercase and lowercase. This is the default.

  • U indicates uppercase.

XMLDate(format)

Specifies the format of date fields in XML and CSV output. Valid date formats include the following:

  • YYYYMONDD

  • YYYY-MM-DD

  • YYYY-MON-DD

  • HEXSTCK (hex character STCK format)

The default format is yyyymondd. For example, 2005Oct14.

NOHDR

optionally, specifies that STDOUT and TEXTOUT report headings and pagination carriage control are not produced. NOHDR and LINECNT are mutually exclusive.

LINECNT

optionally, specifies STDOUT and TEXTOUT report pagination line count setting. LINECNT and NOHDR are mutually exclusive.

nn is the number of lines per page. Valid values are 10-99.

Note:

Settings for STDOUT report headings and pagination can only be specified in the EXEC statement program parameters. Settings for TEXTOUT report headings, while initially specified by the EXEC statement program parameters, can later be modified by specifying TEXTOUT UUI control statements in the UUIIN command stream.

For example:

In the following figure, the EXEC statement program PARM='LINECNT(55)' sets the report pagination to 55 lines per page for both STDOUT and TEXTOUT output.

However, the UUI command TEXTOUT NOHDR in the UUIIN command stream alters the TEXTOUT report parameters to disable report headers and pagination.

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI,PARM='LINECNT(55)'
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//UUIIN    DD *
  TEXTOUT NOHDR
  UUI commands
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR
NOCC

optionally, indicates that no printer carriage control is to be included. When this option is selected, any non-filled pages will be appended with blank lines for the specified LINECNT.

Required Data Set Definition (DD) Statements

This section describes data sets.

UUIIN Data Set

You must specify the UUIIN data set definition. The UUIIN data set can contain the following:

  • SMCUUUI utility control statements

  • SDD command (See "SDD Command".)

  • SMC UUI commands

  • HSC UUI commands

  • VTCS PGMI requests

Native SMC UUI commands include the following:

  • Display DRive

  • Display Volume

  • POLicy

  • SIMulate

Refer to the ELS Programming Reference for a list of supported HSC UUI commands and VTCS PGMI requests.

Syntax rules

The following syntax rules apply:

  • Input must be 80 byte card images.

  • Only columns 1-72 of the 80 byte card image may contain actual command input. Columns 73-80 may be used for sequence numbers if desired.

  • If the last non-blank character in columns 1-72 is a ”+”, the logical command is continued on the next physical card.

  • Comments begin with ”/*” (in column 2 or beyond) and end with ”*/”.

  • The maximum logical command length is 32000 bytes

Control Statements

Utility control statements allow the report pagination for TEXTOUT output and the target TapePlex to be altered for subsequent SMC, HSC, and VTCS UUI and PGMI commands.

PLEXDest

optionally, sets the destination TapePlex for subsequent commands to the specified tapeplex-name. Any communication error occurring during a subsequent SMC, HSC, or VTCS command after execution of the PLEXDest control statement results in the bypassing of all subsequent SMC, HSC, or VTCS commands until another PLEXDest control statement is encountered.

tapeplex-name is the TapePlex name of the target system for subsequent commands.

If ”SMC” is specified, all subsequent commands are assumed to be SMC UUI commands and are directed to the simulated SMC environment.

If a valid HSC TapePlex (as defined through a SMC TAPEPlex command) is specified, all subsequent commands are assumed to be HSC or VTCS commands and are directed to the specified tapeplex-name through the simulated SMC environment.

TEXTOUT

optionally, sets the report pagination parameters for TEXTOUT output. If any errors are encountered on the TEXTOUT command, all subsequent UUI commands are bypassed until a correct TEXTOUT command is encountered.

  • NOHDR optionally, specifies that TEXTOUT report headings and pagination carriage control are not produced. NOHDR and LINECNT are mutually exclusive.

  • LINECNT(nn) optionally, specifies TEXTOUT report pagination line count setting. LINECNT and NOHDR are mutually exclusive.

    nn is the number of lines per page. Valid values are 10-99.

Note:

  • Settings for STDOUT report headings and pagination can only be specified in the EXEC statement program parameters. Settings for TEXTOUT report headings, while initially specified by the EXEC statement program parameters, can later be modified by specifying TEXTOUT UUI control statements in the UUIIN command stream.

  • If multiple TEXTOUT statements are input before a single UUI command, the last TEXTOUT statement controls the TEXTOUT report pagination.

  • PLEXDest and TEXTOUT commands can be specified along with CSV commands to alter the destination TapePlex, and the CSV and TEXTOUT output characteristics of subsequent UUI commands. See "CSV Command".

The following example shows SMCUUUI parameter specifications:

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI
//UUIIN DD *
PLEXDEST SMC                      /* Statement #1 */
D DRIVE                           /* Statement #2 */
PLEXDEST HSCN                     /* Statement #3 */
DISPLAY SCRATCH                   /* Statement #4 */
PLEXDEST HSCQ                     /* Statement #5 */
DISPLAY SCRATCH                   /* Statement #6 */
...other JCL statements

This example is described as follows:

  • Statement #1 sets the destination for subsequent commands to the local SMC subsystem.

  • The D DRIVE Statement #2 is directed to the local SMC subsystem.

  • Statement #3 resets the destination TapePlex for subsequent commands to TapePlex HSCN.

  • The DISPLAY SCRATCH Statement #4 is directed to HSCN.

  • Statement #5 resets the destination TapePlex for subsequent commands to HSCQ.

  • Finally, DISPLAY SCRATCH Statement #6 is directed to HSCQ.

The next example shows additional SMCUUUI parameter specifications:

//yourstd JOB card//STEP EXEC PGM=SMCUUUI...other JCL statements//UUIIN DD *                      PLEXDEST HSCN                     /*Statement #1 */CSV ...csv parameters             /*Statement #2 */SCRATCH VOL ACT001-ACT002         /*Statement #3 */SCRATCH VOL PAY001-PAY002         /*Statement #4 */SCRATCH VOL REC001-REC002         /*Statement #5 */PLEXDEST HSCQ                     /*Statement #6 */SCRATCH VOL Q00001-Q00002         /*Statement #7 */CSV ...csv parameters             /*Statement #8 */DISPLAY SCRATCH                   /*Statement #9 */...other UUI commands...other JCL statements

This example is described as follows:

  • Statement 1 sets the destination TapePlex for subsequent commands to TapePlex HSCN.

    If HSCN is not available, or communication errors occur while processing statements 3-5, then subsequent UUI commands are bypassed until the next PLEXDest command is encountered (statement 6 in this example).

  • Statement 2 sets the CSV output parameters for subsequent UUI commands.

    If an error occurs on the CSV command, then any subsequent UUI commands are bypassed until a subsequent valid CSV command is read. In this case, if the CSV command in statement #2 is invalid, not only are statements 3-5 bypassed, but also statement #7. Statement #6 is still processed to direct subsequent commands to HSCQ.

  • Statement #8 sets new CSV output parameters to be used by statement #9.

STDOUT Data Set

The STDOUT data set is where the SMCUUUI utility reports the input and final completion code for each UUI request. The STDOUT DD statement is not required. However, Oracle recommends that it be included in case any utility errors occur.

Output Data Set Definition (DD) Statements

You must specify at least one of the XMLOUT, CSVOUT, or TEXTOUT output data set definition statements, as follows:

  • XMLOUT

    The XMLOUT data set is where the SMCUUUI utility outputs the structured XML output corresponding to the UUIIN command, as shown in the following example:

    //yourstd JOB card
    //STEP EXEC PGM=SMCUUUI
    ...
    //UUIIN  DD *
    SCRATCH VOL(400720)
    //XMLOUT DD DSN=yourxml.output.dataset,DISP=SHR
    ...
    

    The XMLOUT DD would contain the following output:

    <scratch request>
    <header>
    <hsc_version>7.2.0</hsc_version>
    <date>2008Apr19</date>
    <time>13:54:34</time>
    <host_name>MSPB</host_name>
    </header>
    <volume_data>
    <volser>400720</volser>
    <result>success</result>
    <reason>SLS0167I Volume 400720 successfully added to library as scratch
    </reason>
    </volume_data>
    </scratch_request>
    
  • CSVOUT

    The CSVOUT data set is where the SMCUUUI utility writes the CSV output for the requested UUIIN commands that specified corresponding CSV formatting. Refer to the ELS Programming Reference for more information about the Comma Separated Value (CSV) specification. The maximum logical CSV input length is 4096 bytes.

  • TEXTOUT

    The TEXTOUT data set is where the SMCUUUI utility outputs plain text UUI responses. This is the same output that would be received from the corresponding SMC, HSC or VTCS command, or written to the SLSPRINT DD by the SLUADMIN or SWSADMIN utility, except that page and column headings are not produced. This data set is optional

Remote UUI Input and Output

A new XAPI/UUI interface supports remote UUI input and output. To enable this support, Include the SDD command in the SMCUUUI utility.

Note:

Remote UUI input and output may also be requested using the NCSCOMM interface. Refer to the ELS Programming Reference for more information.

Remote UUI Input

A data set is transmitted from the client to a remote server for input, without the data set needing to be resident on the server.

Remote UUI input is required for commands that require large amounts of input data from sources other than the command line. Commands include VTCS CONFIg, IMPORT, and MERGMFST.

Remote UUI Output

A remote command produces an output data set that is transmitted and physically written on the requesting client without it being physically written on the server.

Remote UUI output is required for commands that produce non-text, non-XML, non-CSV output data sets. Commands include VTCS EXPORT and MERGMFST.

SDD Command

The SDD command defines an input or output data set to be associated with a ”real” HSC or VTCS command that immediately follows it.

In the following example, the SDD command is associated with the IMPORT command, but not the subsequent VTVRPT command:

SDD DDNAME(MAININ) INPUT BINARY
IMPORT MANIFEST(MANIIN)
CSV FIELD(VOLSER,DATE_MIGRATED),BREAK(VTV_DATA)
VTVRPT VTV(SA2000-SA2999)

The SDD command can be used in either the SLUADMIN or SMCUUUI utility. However, only the SMCUUUI utility supports remote UUI command execution.

Syntax

The following figure shows the syntax for the SDD command:

Figure 4-1 SDD command syntax

Surrounding text describes Figure 4-1 .
Parameters
DDname(dddddddd)

the name of the JCL DD that either contains the additional non-command line input, or will contain the output data set upon command completion.

INput|OUTput

optionally, specifies whether the data set specified by the DDname parameter is an input or output data set.

INput specifies that the data set is read to supply additional non-command line input to the command. This is the default if neither INput or OUTput are specified.

OUTput specifies that the data set is written to contain the non-XML, non-text, non-CSV output produced by the command.

BInary|TEXT

optionally, specifies whether the data read or produced contains Binary (that is, non display) characters, or is in SLSIN TEXT command format.

If you specify TEXT along with the INput parameter, this specifies that the input data is in SLSIN format. Only the first 72 characters are read and continuation characters may be present. Comment statements are not passed to the HSC or VTCS command that follows.

BInary is the default if neither BInary or TEXT is specified.

Note:

You must specify TEXT when the SDD control statement is to be associated with the VTCS CONFIG command.
MAXSIZE(nnnnnnnn)

optionally, specifies the maximum size (in K units) of the input or output file. If MAXsize is not specified, there is no limit to the maximum size.

CONFIg Command Example

Without the SDD command, the VTCS CONFIg command is only supported under the SLUADMIN utility. Under SLUADMIN without the SDD command, SLUADMIN CONFIg reads the remainder of the SLSIN data set and assumes that the remaining input cards are CONFIg control statements.

The SDD command enables you to specify VTCS CONFIg under either the SMCUUUI or SLUADMIN utility. Additionally, it enables other commands to execute in the same input stream after the VTCS CONFIG command, as shown in the following examples:

SLUADMIN:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SLUADMIN,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Optional UUI output definition DD(s)                       *
//**************************************************************
//SLSCSV   DD DSN=yourcsv.output.dataset,DISP=SHR
//SLSXML   DD DSN=yourxml.output.dataset,DISP=SHR
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//CONFIGIN DD DSN=your.config.dataset,DISP=SHR
//**************************************************************
//* Required SLUADMIN output and input DDs                     *
//**************************************************************
//SLSPRINT DD SYSOUT=A
//SLSIN    DD *
SDD DDNAME(CONFIGIN) INPUT TEXT
.CONFIG CDSLEVEL(V61ABOVE)
DISPLAY CLINK
/*

SMCUUUI:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//CONFIGIN DD DSN=your.config.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(CONFIGIN) INPUT TEXT
CONFIG CDSLEVEL(V61ABOVE)
DISPLAY CLINK
/*

Note:

  • The CONFIGIN data set is read and internally packaged for possible transmittal before the CONFIg command is read. The TEXT parameter results in any SLSIN formatting to be resolved as part of the internal packaging (that is, '+' concatenated statements are resolved).

  • If any SDD command errors are encountered (that is, the CONFIGIN DD is missing in the JCL or the data set cannot be read), then the succeeding CONFIg statement is bypassed.

  • In either of the above examples, the SDD command TEXT parameter is required when associated with the CONFIg command. The SDD command INPUT parameter is the default and may be omitted.

IMPORT Command Example

Without the SDD command, the VTCS IMPORT command is only supported for local processing under either the SLUADMIN or SMCUUUI utility.

The SDD command enables you to execute VTCS IMPORT on a remote server using the SMCUUUI utility, as shown in the following example:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//MANIIN   DD DSN=your.manifest.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(MANIIN) MVCS(volser) INPUT BINARY
.IMPORT REPLACE=ALL MANIFEST(MANIIN)
/*

Note:

  • The MANIIN data set is read and internally packaged for possible transmittal across the network before the IMPORT command is read. The BINARY parameter results in the transmittal of record images.

  • In the above example, both the SDD command BINARY and INPUT parameters are the defaults and may be omitted.

  • While a similar SLUADMIN job with the SDD command could be constructed, it would still be limited to local execution. Only the SMCUUUI utility supports remote UUI command execution.

EXPORT Command Example

Without the SDD command, the VTCS EXPORT command is only supported for local processing under either the SLUADMIN or SMCUUUI utility. The SDD command enables you to execute VTCS EXPORT on a remote server using the SMCUUUI utility, as shown in the following example:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//MANIOUT  DD DSN=your.manifest.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(MANIOUT) OUTPUT BINARY
EXPORT MVC(volser) MANIFEST(MANIIN)
/*

Note:

  • The MANIOUT data set is written on the client when remote output is received. However the MANIOUT DD will be validated before the EXPORT command is read.

  • In the above example, the SDD command parameter OUTPUT must be specified for EXPORT. However, BINARY is the default and may be omitted.

  • While a similar SLUADMIN job with SDD command could be constructed it would still be limited to local execution. Only the SMCUUUI utility supports remote UUI command execution.

MERGMST Command Example

The MERGMFST process uses a combination of input and output SDD commands in the SMCUUUI utility, as shown in the following example:

//jobname job (account),programmer,REGION=0M//S1 EXEC  PGM=SMCUUUI,PARM=MIXED//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR//**************************************************************//* Specify as least one of the following output definitions   *//**************************************************************//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR//TEXTOUT  DD SYSOUT=A//**************************************************************//* SDD associated DD(s)                                       *//**************************************************************//MANIIN   DD DSN=your.mergein.dataset1,DISP=SHR//         DD DSN=your.mergein.dataset2,DISP=SHR. . . //         DD DSN=your.mergein.datasetn,DISP=SHR//MANIOUT  DD DSN=your.mergeout.dataset,DISP=SHR//**************************************************************//* Required SMCUUUI input DD                                  *//**************************************************************//UUIIN    DD *SDD DDNAME(MANIIN) INPUT BINARYSDD DDNAME(MANIOUT) OUTPUT BINARY.MERGMFST MERGEIN(MANIIN) MERGEOUT(MANIOUT)/*

Note:

  • The MANIOUT data set is written on the client when remote output is received. However, the MANIOUT DD will be validated before the MERGMFST command is read.

  • In the above example, the SDD MANIOUT command OUTPUT parameter must be specified for the MERGEOUT associated DD. However, BINARY is the default and may be omitted.

  • While a similar SLUADMIN job with SDD commands could be constructed, it would still be limited to local execution. Only the SMCUUUI utility supports remote UUI command execution.

POLicy and TAPEREQ Batch Test Utility (SMCUTRQ)

The SMCUTRQ utility enables you to test SMC tape policy lookups. The program accepts control cards containing the same type of information that is extracted by the SMC during tape allocation and mount processing.

After you input the jobname, stepname, program name and other attributes on the control cards, this utility formats those attributes and requests SMC tape policy lookups from the SMC subsystem as if it were a job with those simulated characteristics.

Next, the utility generates a report indicating what policy was matched, or what TREQDef TAPEREQ statements, if any, were matched for the specific criteria. If the currently active TREQDef file is accessible, as indicated by the TREQDef LIst command, the actual TAPEREQ statements matching each lookup are listed.

The SMCUTRQ utility requires an active SMC subsystem on the same host. If SMC is not active, an error message is produced and the program terminates.

Sample JCL

Execute load module SMCUTRQ in the SMC linklib to produce the report. The following example shows sample JCL that executes the SMCUTRQ utility:

Example 4-2 JCL to Execute the SMCUTRQ Utility

//yourstd JOB card
//STEP    EXEC PGM=SMCUTRQ
//STEPLIB DD   DSN=your.sea.linklib,DISP=SHR
//STDOUT  DD   DSN=yourstd.printout.dataset,DISP=SHR
//SYSOUT  DD   SYSOUT=*
//SMCIN   DD   *
POL1 jobname stepname pgmname ddname nnnn yyyy/ddd mgmtclas
POL2 C volser dataset.name

Control Cards

Each TAPEREQ POLicy lookup requires that you enter at least one control card (POL1), and optionally one or two control cards (POL2, POL3) specifying the job step characteristics to be simulated. The control card format is as follows:

Card 1:

The following table lists information for control card 1:

Table 4-2 Control Card 1 Information

Column Length Field Format

1

4

ID

POL1” required identifier

6

8

jobname

1-8 character non-generic jobname

15

8

stepname

1-8 character non-generic stepname

24

8

program name

1-8 character non-generic program name

33

8

ddname

1-8 character non-generic ddname

43

4

retention period

4 digit retention period

47

8

expiration date

yyddd, yyyyddd, or yyyy/ddd format expiration date

56

8

management class

1-8 character non-generic SMS management class name


Card 2:

The following table lists information for control card 2:

Table 4-3 Control Card 2 Information

Column Length Field Format

1

4

ID

POL2” required identifier

6

1

volume type

S” for specific or ”N” for non-specific (scratch)

8

6

volume serial

6 character volser

15

44

data set name

44 character non-PDS MSP dataset name


Card 3:

The following table lists information for control card 3:

Table 4-4 Control Card 3 Information

Column Length Field Format

1

4

ID

POL3” required identifier

6

8

actual RECTECH

Valid recording technique

15

3

label type

Values SL, NL, AL, NSL

19

8

JCL esoteric

Esoteric name


Note:

  • All variable length fields must be left justified.

  • Retention period and expiration date fields are mutually exclusive. When both are specified, retention period is used.

  • The management class field enables you to simulate a returned SMS ACS MGMTCLAS and assumes that the SMC SMSDEF MGMTPol(ALL) or (IDAX) policy has been specified. If the SMC finds a matching policy name, then the remaining tape policy lookups are bypassed.

  • If a policy name matching the specified management class name is not found, or if the management class field was not specified, then a series of TAPEREQ lookups is performed using the remaining input criteria.

  • You may ignore the lookup fields that are not important to your lookup. This is determined by looking at what selection criteria you actually use on your TAPEREQ statements. However, it is recommended that you specify all non-mutually exclusive fields.

  • "POL1" control card is required, even if no input fields are coded. Both "POL2" and "POL3" control cards are optional.

  • You can input multiple sets of control cards.

Sample Input

The following are examples of TAPEREQ lookup scenarios:

Example 1

The following example simulates the TAPEREQ lookup that would occur when:

  • Specific volume 123456 for DSN ABC.QUAL1.QUAL2.TEST

  • Allocated to DD MYTAPE1 for job TSTNEWPG, step STEP1, executing program TESTPGM.

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1
POL2 S 123456 ABC.QUAL1.QUAL2.TEST

Example 2

The following example simulates the TAPEREQ lookup that would occur when:

  • Scratch volume for DSN ABC.QUAL1.QUAL2.TEST

  • Allocated to DD MYTAPE1 with a retention period of 99 days

  • For job TSTNEWPG, step STEP1, executing program TESTPGM.

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1  0099
POL2 N        ABC.QUAL1.QUAL2.TEST

Example 3

The following example simulates the TAPEREQ lookup that would occur when:

  • Scratch volume for DSN ABC.QUAL1.QUAL2.TEST

  • Allocated to DD MYTAPE1

  • For job TSTNEWPG, step STEP1, executing program TESTPGM, when the DFSMS ACS routine returns a management class of MCLASS01.

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1  MCLASS01
POL2 N 123456 ABC.QUAL1.QUAL2.TEST

Sample Output

The following example shows output from the SMCUTRQ utility:

Example 4-3 SMCUTRQ Utility Output

SMCUTRQ 7.2.0    SMC POLICY/TAPEREQ TEST
Time 11:25:49    POLICY/TAPEREQ Lookup Report

SMCU0019 SMC subsystem=SMC0

Card 0001: *OL1|JOBNAME |STEPNAME|PGMNAME |DDNAME |RETP|EXPDT |SMSMGMT
Card 0002: *OL2|T|VOLSER|DSN
Card 0003: POL1 ANYJOB   STEP1    TESTPGM  DD1
Card 0004: POL2 S 123456 ABC.QUAL1.QUAL2.TEST

TAPEREQ lookup keys:
        JOBname=ANYJOB   STEPname=STEP1    PROGname=TESTPGM DDname=DD1
        VOLType=S        VOLSer=123456     DSN=ABC.QUAL1.QUAL2.TEST

        Lookup for POLICY         not matched
        Lookup for RECTECH/MEDIA  matched TREQDEF record 5
        Statement: TAPEREQ DSN(ABC.**.TEST) MEDIA(VIRTUAL)
        Lookup for SUBPOOL        not matched
        Lookup for ESOTERIC       not matched
        Lookup for MGMTCLAS       not matched
        Lookup for DEVTPREF       not matched

Card 0005: POL1 ANYJOB   ANYSTEP  ANYPGM   DD1
Card 0006: POL2 S 123456 ABC.D11.XYZ.ABC

TAPEREQ lookup keys:
        JOBname=ANYJOB   STEPname-ANYSTEP  PROGname=ANYPGM   DDname=DD1
        VOLType=S        VOLSer=123456     DSN=ABC.D11.XYZ.ABC

        Lookup for POLICY         not matched
        Lookup for RECTECH/MEDIA  matched TREQDEF record 10
        Statement: TAPEREQ DSN(**.XYZ.**) MEDIA(VIRTUAL)
        Lookup for SUBPOOL        not matched
        Lookup for ESOTERIC       not matched
        Lookup for MGMTCLAS       not matched
        Lookup for DEVTPREF       not matched

Processing complete; RC=0

Tape Management Extract Utility (SMCUDBX)

The SMCUDBX utility supports scratch synchronization between the SMC client host and the HSC CDS. Using common Tape Management System interface (SLUDR*) routines with HSC, SMC accesses the client tape management system to produce an extract file that can be read as input by the HSC Scratch Conversion Utility (SLUCONDB).

Note:

See Appendix C, "Tape Management System Interface (SLUDR*) Routines" for more information about these routines.

The following figure shows The SMCUDBX process:

Figure 4-2 Scratch Synchronization Between SMC Client Host and HSC CDS

Surrounding text describes Figure 4-2 .

figure

If the client and server share a tape management system, the HSC utility SLUCONDB may be run directly using the common tape management system database as input.

If, however, the client host has a tape management system that is not accessible to the HSC host, the SMC utility SMCUDBX can be used to extract scratch volumes from the tape management system using label and date parameters. SMCUDBX output can then be used as input on the HSC host to the SLUCONDB utility. The SMC process supports timing synchronization by comparing the GMT time of the SMCUDBX run with the last select time of the HSC CDS volume record. If the volume was selected after the SMC scratch run, it is not eligible for scratch by SLUCONDB.

Running the SMC Scratch Extract Utility

You can run the SMC scratch extract utility regardless of whether the SMC is executing on the host.

SMCUDBX processes the CA-1 Tape Management Catalog (TMC), the CA-DYNAM/TLMS Volume Master File (VMF), the DFSMSrmm report extract file, or the Zara database, and selects the volume serial numbers for processing based on information specified on the PARM parameter of the JCL EXEC statement.

For CA-1, CA-DYNAM/TLMS, and DFSMSrmm, SMCUDBX calls the appropriate Tape Management System interface routine. For Zara, SMCUDBX invokes the SLUDRZAR routine, which in turn invokes an application programming interface (API) to read Zara's database. The data returned from these routines is used to format the SMC scratch extract file. See Appendix C, "Tape Management System Interface (SLUDR*) Routines" for more information about these routines.

If your installation uses a different tape management system, you can develop a program modeled on one of the supplied examples SLUDRCA1, SLUDRRMM, SLUDRTLM, SLUDRSMC, SLUDRTLM, or SLUDRZAR, or you can write your own program to produce an extract file in the following format:

Table 4-5 Tape Management Subsystem Extract File Format

Position Field Format

1

Scratch volume

CL6

7

GMT of run

XL8

15

Unused

CL2


The time filed in the SMC scratch extract file is a character representation of the first four bytes of the output of the MSP STCK macro. For example, if the STCK macro produces a result of X'B0912345 6789ABCD', the GMT field of the SMC extract contains the character value C'B0912345'.

SMCUDBX, SLUDRCA1, SLUDRTLM, SLUDRRMM, and SLUDRZAR are provided as load modules. You can use the current versions of these load modules with CA-DYNAM/TLMS Release 5.4 and above, CA-1 Release 5.0 and above, DFSMSrmm 1.1, and Zara 1.2. The ELS MACLIB file on the ELS installation tape contains the sample source code.

Note:

  • If there are local modifications to your tape management system, you must reassemble the associated TMS interface routine.

  • If your tape management system is CA-1 Release 4.9 or below, you must modify and reassemble the SLUDRCA1 routine. See "Using SMCUDBX with CA-1 Release 4.9 or Below" for information about modifying and reassembling this routine.

  • If your tape management system is Zara, the SMCUDBX utility must be able to access the data set that contains the Zara API module (ZARAAPI1). You can either store this module in the LINKLIST, or include a JOBLIB or STEPLIB DD statement in the SMCUDBX JCL that points to the library containing the module.

  • Any routine that you modify and reassemble must be re-linked as non-reentrant (NORENT parameter) with AMODE=24 and RMODE=24.

Using SMCUDBX with CA-1 Release 4.9 or Below

To use SMCUDBX with CA-1 Release 4.9 or below, you must modify and reassemble the SLUDRCA1 routine. The CA-1 MACLIB containing the TMRECORD MACRO must be accessible during the assembly.

Perform the following steps for CA-1 Release 4.9:

  1. Delete the asterisk in column 1 of the following line:

    TMRECORD
    
  2. Add an asterisk in column 1 of the following line:

    TMMTMREC
    
  3. Reassemble the SLUDRCA1 routine.

Syntax

SMCUDBX uses program parameters to determine the Tape Management System interface (SLUDR*) routine to invoke and method of operation. See Appendix C, "Tape Management System Interface (SLUDR*) Routines" for more information about these routines.

You can specify the following values for the PARM parameter on the JCL EXEC statement when running the SMCUDBX utility:

Note:

You must enter parameters in the specified order and include commas for omitted parameters.

The following figure shows syntax for the SMCUDBX utility:

Figure 4-3 SMCUDBX PARM parameter syntax

Surrounding text describes Figure 4-3 .

Parameters

PARM=

specifies the parameters that follow can be accessed by the program indicated in the PGM parameter in the JCL.

TMS

optionally, specifies the CA-1 tape management system (TMS). This is the default.

TLMS

optionally, specifies the TLMS: CA-DYNAM/TLMS tape management system.

RMM

optionally, specifies the DFSMSrmm tape management system.

ZARA

optionally, specifies the ZARA tape management system.

SL

optionally, specifies standard label type for the scratch volume selection. This is the default.

NL

optionally, specifies nonlabeled type for the scratch volume selection.

AL

optionally, specifies ANSI label type for the scratch volume selection.

NSL

optionally, specifies nonstandard label type for the scratch volume selection.

SUL

optionally, specifies standard user label type for the scratch volume selection.

Note:

The following date-related parameters specify the date or date range when a volume became scratch in the TMC.

Date Related Parameters

The following date-related parameters specify the date or date range when a volume became scratch in the TMC.

1900001

optionally, specifies January 1, 1900 as the date. This is the default.

TODAY

optionally, indicates the current system date. Only volumes placed in scratch status on this date are processed.

yyyyddd1

optionally, the "from" date. The "to" date defaults to the current system date. All specified dates are in Julian notation.

All volumes placed in scratch status starting on day yyyyddd1 through today's date are processed.

yyyyddd1-yyyyddd2

optionally, the date range in which the volumes became scratch. Neither of these dates can be greater than the current system date.

All volumes placed in scratch status starting on day yyyyddd1 through day yyyyddd2 are processed.

zara-subsys-name

Specifies the subsystem name for the Zara tape management system, where zara-subsys-name is the four-character name. The default subsystem name is ZARA.

JCL Requirements

The following definitions apply to the SMCUDBX JCL:

DBTMS

Input to the Scratch Extract utility in the form of the CA-1 TMS, the CA-DYNAM/TLMS VMS, or DFSMSrmm report extract file. This DD statement is not required for Zara.

STDOUT

Output messages from the Scratch Extraction utility. This DD statement is required.

DBEXTFIL

Output file from the Scratch Extract Utility. If a DCB LRECL is specified, it must specify a 16-byte value.

If Zara is the tape management system, the Zara API module must either reside in the MSP LINKLIST, or you must include one of the following JCL statements to access the module.

//STEPLIB DD DISP=SHR, DSN=your.zaraapi1.library
             DISP=SHR, DSN=your.tmsextract.library
//JOBLIB DD DISP=SHR, DSN=your.zaraapi1.library

The following example shows sample JCL that invokes the Scratch Extraction utility to process the CA-DYNAM/TLMS VMF for all tapes scratched in 2003.

Example 4-4 Sample JCL for Scratch Extraction Utility

//yourstd JOB card
//STEP0 EXEC PGM=SMCUDBX,PARM='TLMS,,2003001-2003365'
//STEPLIB DD DISP=SHR,DSN=your.sea.linklib
// DD DISP=SHR,DSN=your.SLUDRxxx.linklib
//DBTMS DD DISP=SHR,DSN=your.tlms.database
//DBEXTFIL DD DISP=(NEW,KEEP),DSN=scratch.extract.file,
// SPACE=(TRK,(5,1)),UNIT=SYSDA
//STDOUT DD SYSOUT=*
/*

Output Description

SMCUDBX output includes the following:

  • Messages associated with error conditions resulting from an unsuccessful attempt to execute scratch extraction processing

  • Messages indicating errors or actions occurring during processing

  • Output data set containing Scratch Update utility control statements

The following example shows sample output from the SMCUDBX utility.

Example 4-5 Scratch Extraction Utility Sample Output Messages

SMCUDBX 7.2.0    SMC TMS DB SCRATCH EXTRACT                                     Page 0001
TIME 15:26:41                                                             Date 2015-08-14

Total records extracted for scratch volumes = 977

SMC UUI Simulation Utility (SMCUSIM)

The SMCUSIM utility enables you to issue SMC UUI commands, including the SMC SIMulate command, in a test environment. Changes to SMC command settings, tape policies, and allocation user exits can be tested before they are put into production without affecting existing SMC clients and HSC servers.

SMCUSIM code executes similarly to the SMC subsystem, with the following exceptions:

  • It does not initialize the MSP SSI allocation interfaces.

  • It does not set up any command or message handling intercepts.

  • It does not use any CSA storage for processing.

The SMCUSIM utility runs as a batch program, and can execute on the same host as the existing SMC subsystem without interfering with SMC client operations. SMCUSIM processing occurs in two phases.

Phase 1 Processing

In this phase, the utility operates similarly to the SMC subsystem startup routine. SMC modules are loaded and the SMCPARMS and SMCCMDS data sets are read.

Similarly to SMC subsystem startup, the SMCPARMS and SMCCMDS data sets are optional. However, as SMCUSIM does not include the SMC subsystem command intercept, you must specify any commands required to set up your test environment during this phase.

Note:

The SMCUSIM utility processes TAPEPLEX and SERVER commands as if it were an active SMC subsystem, and TCP/IP services may be required. Therefore, the security administration considerations for communication described in Oracle's ELS publication Configuring and Managing SMC do apply.

The following SMC commands are disabled by the SMCUSIM because they may interfere with the actual SMC subsystem or HSC server:

  • CMDDef

  • HTTP

  • LOG

  • Route

These commands can be included in the SMCPARMS or SMCCMDS data sets, but are ignored by the utility.

Phase 2 Processing

In this phase, the utility reads and processes the UUIN data set similarly to the SMCUUUI utility, except that only SMC commands are permitted. These commands are targeted to the SMCUSIM simulated environment, and have no effect on the actual SMC subsystem.

You can include SMC SIMulate commands, or any other SMC command in the UUIN data set to test how a job with the specified parameters would be processed using the SMCPARMS and SMCCMDS data sets configured in phase 1. HSC UUI commands are not valid, and are flagged in error. Several types of output can be received, including:

  • Plain text output

    This type of output is written to TEXTOUT, and corresponds to the normal output produced by the SMC command.

  • Structured XML

    This type of output is written to XMLOUT. Structured XML is a well formed XML data stream with XML header tags and XML data tag elements, and XML data element content. Only specific SMC commands produced structured XML. Refer to the ELS Programming Reference for a complete list of SMC XML tag names and types.

  • Comma Separated Values (CSV)

    This type of output is written to CSVOUT. An input template of XML data tag names defines the format of the CSVOUT corresponding to a particular request. The output data for each request is a CSV header line that contains a comma-separated list of the XML data tags requested, followed by CSV detail lines. Each CSV detail line contains one comma-separated entry for each requested XML data tag. This type of output is readily adaptable as input into spreadsheets or customized report writers. Refer to the ELS Programming Reference for more information about the format for specifying CSV.

The type of output received is controlled by the data set definition statements (DD) defined in the JCL to execute the SMCUSIM utility.

Sample JCL

The following example shows sample JCL that executes the SMCUSIM utility:

Example 4-6 JCL to Execute the SMCUSIM Utility

//yourstd JOB card
//STEP EXEC PGM=SMCUSIM,PARM='pgmparms'
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//         DD DISP=SHR,DSN=your.sea.exitlib
//***************************************************************************
//* The following data sets are input to phase 1 and are optional
//***************************************************************************
//SMCPARMS DD DISP=SHR,DSN=parmlib_name(parm_member_name)
//SMCCMDS  DD DISP=SHR,DSN=cmdlib_name(cmd_member_name)
//***************************************************************************
//* The following data set is required
//***************************************************************************
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//***************************************************************************
//* The following data set is input to phase 2 and is required
//***************************************************************************
//UUIIN    DD *
CSV and UUI commands
//***************************************************************************
//* At least 1 of the following data sets must be specified
//***************************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR

Parameters

The following SMCUSIM utility parameters may be specified for pgmparms in the sample JCL:

SSYS(subsystem-name)

Specifies the SMC subsystem name (one to four characters in length)

TAPEPlex(name)

Specifies the name of the SMC TapePlex to which the UUI commands will be directed. If omitted, the first active TapePlex found is used.

Use TAPEPlex(SMC) to indicate that the input commands are to be issued directly to the SMC, and not to a TapePlex (such as the SMC Display Volume and Display DRive command).

XMLCASE

Specifies the case of alphabetic data fields in XML and CSV output. Valid case formats include the following:.

  • M indicates mixed uppercase and lowercase. This is the default.

  • U indicates uppercase.

XMLDate(format)

Specifies the format of date fields in XML and CSV output. Valid date formats include the following:

  • YYYYMONDD

  • YYYY-MM-DD

  • YYYY-MON-DD

  • HEXSTCK (hex character STCK format)

The default format is yyyymondd. For example, 2005Oct14.

NOHDR

optionally, specifies that STDOUT and TEXTOUT report headings and pagination carriage control are not produced. NOHDR and LINECNT are mutually exclusive.

LINECNT

optionally, specifies STDOUT and TEXTOUT report pagination line count setting. LINECNT and NOHDR are mutually exclusive.

nn indicates the number of lines per page. Valid values are 10-99.

Note:

Settings for STDOUT report headings and pagination can only be specified in the EXEC statement program parameters. Settings for TEXTOUT report headings, while initially specified by the EXEC statement program parameters, can later be modified by specifying TEXTOUT UUI control statements in the UUIIN command stream.

For example:

In the following figure, the EXEC statement program PARM='LINECNT(55)' sets the report pagination to 55 lines per page for both STDOUT and TEXTOUT output.

However, the UUI command TEXTOUT NOHDR in the UUIIN command stream alters the TEXTOUT report parameters to disable report headers and pagination.

//yourstd JOB card
//STEP EXEC PGM=SMCUSIM,PARM='LINECNT(55)'
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//         DD DISP=SHR,DSN=your.sea.exitlib
//SMCPARMS DD DISP=SHR,DSN=parmlib_name(parm_member_name)
//SMCCMDS  DD DISP=SHR,DSN=cmdlib_name(cmd_member_name)
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//UUIIN    DD *
  TEXTOUT NOHDR
  UUI commands
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR
MAXRC

specifies whether SMCUSIM initialization is to be terminated when the specified command return code is exceeded. If MAXRC is not specified, then the SMCUSIM always attempts to complete its initialization regardless of any SMCPARMS or SMCCMDS command failure(s). This is the default behavior.

nn specifies the highest allowed return code. If an SMC command executed from the SMCPARMS or SMCCMDS data set exceeds this value, then SMC0236 and SMC0237 messages are produced, and the SMCUSIM utility terminates before any commands are read from the UUIIN DD. Allowable values are 0, 4, 8, and 12.

Note:

  • Certain SMC commands, such as CMDDef, HTTP, LOG, and Route, that are allowed in the SMC subsystem environment, but are not allowed in the SMCUSIM environment are merely ignored under SMCUSIM and do not affect MAXRC processing, if specified.

  • Only commands executed as part of the simulated SMC subsystem startup (that is, those read from the SMCPARMS and SMCCMDS data sets) are evaluated as part of MAXRC processing. Commands read from the UUIIN DD which result in a return code greater than the specified MAXRC value do not automatically terminate the SMCUSIM utility

PLEXRC

specifies whether SMC subsystem initialization is to be terminated based on the status of TapePlexes returned from the automatically issued RESYNC command.

If PLEXRC is not specified, then the SMC subsystem will complete its initialization regardless of the outcome of the RESYNC command. This is the default behavior.

n specifies the highest allowed return code from the RESYNC command. Valid values are 0 and 4.

The SMC RESYNC command sets a return code of 8 if SMC cannot communicate with any defined TapePlex, and a return code of 4 if SMC can communicate with one or more, but not all, defined TapePlexes.

NOCC

optionally, indicates that no printer carriage control is to be included. When this option is selected, any non-filled pages will be appended with blank lines for the specified LINECNT.

Required Data Set Definition (DD) Statements

You must specify the UUIIN and STDOUT data set definitions.

UUIIN Data Set

The UUIIN data set can include:

  • SMC UUI commands

  • HSC UUI commands

  • VTCS PGMI requests

Native SMC UUI commands include:

  • Display Drive

  • Display Volume

  • POLicy

  • SIMulate

Refer to the ELS Programming Reference for a list of supported HSC UUI commands and VTCS PGMI requests.

Syntax Rules

The following syntax rules apply:

  • Input must be 80 byte card images.

  • Only columns 1-72 of the 80 byte card image may contain actual command input. Columns 73-80 may be used for sequence numbers if desired.

  • If the last non-blank character in columns 1-72 is a ”+”, the logical command is continued on the next physical card.

  • Comments begin with ”/*” (in column 2 and beyond) and end with ”*/”.

  • The maximum logical command length is 32000 bytes.

Control Statements

Utility control statements allow the report pagination for TEXTOUT output and the target TapePlex to be altered for subsequent SMC, HSC, and VTCS UUI and PGMI commands.

TEXTOUT

optionally, sets the report pagination parameters for TEXTOUT output. If any errors are encountered on the TEXTOUT command, all subsequent UUI commands are bypassed until a correct TEXTOUT command is encountered.

  • NOHDR optionally, specifies that TEXTOUT report headings and pagination carriage control are not produced. NOHDR and LINECNT are mutually exclusive.

  • LINECNT(nn) optionally, specifies TEXTOUT report pagination line count setting. nn is the number of lines per page. Valid values are 10-99. LINECNT and NOHDR are mutually exclusive.

Note:

  • Settings for STDOUT report headings and pagination can only be specified in the EXEC statement program parameters. Settings for TEXTOUT report headings, while initially specified by the EXEC statement program parameters, can later be modified by specifying TEXTOUT UUI control statements in the UUIIN command stream.

  • If multiple TEXTOUT statements are input before a single UUI command, the last TEXTOUT statement controls the TEXTOUT report pagination.

  • PLEXDext and TEXTOUT commands can be specified along with CSV commands to alter the destination TapePlex, and the CSV and TEXTOUT output characteristics of subsequent UUI commands.

STDOUT Data Set

The STDOUT data set is where the SMCUSIM utility reports the input and final completion code for each UUIIN request.

SMCUSIM Utility Sample CSV

The following CSV sample displays Y/N values for major sources of tape policy for the specified simulated job step. Refer to the ELS Programming Reference for a complete list of XML tags and their structure.

csv field=(jobname,dsname,idax_matched_policy_flag,            +
idax_matched_tapereq_flag,idax_policy_esoteric_flag,           +
idax_storgrp_esoteric_flag,sms_info_flag,                      +
policy_info_flag,tapereq_info_flag,                            +
userexit_info_flag,owning_tapeplex),                           +
break(simulate_request) notitle fixed

Trace Format Utility (SMCUGTF)

The SMCUGTF utility converts SMC GTF output created with the "compact" format (the default format) into the original SMC trace format.

Sample JCL

The following example shows sample JCL that executes the SMCUGTF utility.

Example 4-7 JCL to Execute the SMCUGTF Utility

// yourstd jobcard
//STEP     EXEC PGM=SMCUGTF
//STEPLIB DD DSN=your.sea.linklib,DISP=SHR
//GTFIN DD DSN=your.compact.gtftrace.dsn,DISP=SHR
//GTFOUT DD DSN=your.formatted.gtftrace.dsn,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(space parameters)

Note:

Space required for the output GTF trace is approximately 6 times the size of the COMPACT input file.

VSM console SMF Offload utility (SMCUSMF)

The SMC SMCUSMF utility enables you to offload SMF records from a VSM console server. The SMF records are placed in a z/OS data set with the following DCB attributes:

  • recfm - VB

  • lrecl - 27990

  • blksize - 27994

Refer to the ELS publication ELS Programming Reference for information about these HSC/VTCS SMF records.

Sample JCL

The following JCL sample executes the SMCUSMF utility:

Example 4-8 JCL to Execute the SMCUSMF Utility

//jobname JOB (account),REGION=0M
//S1 EXEC PGM=SMCUSMF,PARM='pgmparms'
//STDOUT DD SYSOUT=*
//SMCSMF DD DISP=SHR,DSN=yoursmf.output.dataset

Parameters

The following SMCUSMF utility parameters may be specified for pgmparms in the sample JCL:

NOHDR

optionally, specifies that the STDOUT report headings and pagination carriage control are not produced.

LINECNT(nn)

optionally, specifies STDOUT report pagination line count setting.

nn indicates the number of lines per page. Valid values are 10-99.

SERVer(ssss)

specifies the name of the VSM console server from which SMF records are to offloaded.

ssss indicates the server name. The specified server must be the active server for the VSM console TapePlex. SERVer is a required parameter.

BEGIN(begin-date:begin-time)

specifies the beginning of the period of SMF record creation. This is the server date and time.

begin-date indicates the starting date, expressed in yyyymmdd format.

yyyymmdd

the beginning date.

TODAY

specifies TODAY as the beginning date.

YESTERDAY

specifies YESTERDAY as the beginning date.

begin-time indicates the starting time-of-day (24-hour value, expressed in hhmmss format. The allowable range for begin-time is 000000 to 235959. The default value is 000000.

END(end-date:end-time)

optionally, specifies the end of the period of SMF record creation. This is the server date and time.

end-date indicates the ending date, expressed in yyyymmdd format.

yyyymmdd

the ending date.

TODAY

specifies TODAY as the ending date.

YESTERDAY

specifies YESTERDAY as the ending date.

end-time indicates the ending time-of-day (24-hour value, expressed in hhmmss format. The allowable range for the end-time parameter is 000000 to 235959. The default value is 235959.

SMFTYPE(nnn)

optionally, specifies the SMF record type for the output records.

nnn indicates the record type. Valid values are 128 to 255. The default is 255.

Required Data Set Definition (DD) Statements

The following DD statements are required:

STDOUT

The SMCUSMF utility reports final completion code and any error messages in the STDOUT data set.

SMCSMF

The SMCUSMF utility places SMF records in the SMCSMF data set. This is a variable blocked file. The DCB attributes must be:

DCB=(RECFM=VB,LRECL=27990,BLKSIZE=27994)

SMCUSMF Usage

If the VSM console TapePlex is defined with two servers and each server has functioned as the active server for that TapePlex since the last run of SMCUSMF, you must run the following procedure to collect all SMF records from both servers.

With SERVER1 active and SERVER2 inactive:

  1. Run SMCUSMF with SERVER(SERVER1).

  2. Disable SERVER1:

    SERVER NAME(SERVER1) DISABLE

    This command makes SERVER2 active.

  3. Run SMCUSMF with SERVER(SERVER2).

  4. Re-enable SERVER1:

    SERVER NAME(SERVER1) ENABLE

SERVER2 remains active but SERVER1 is eligible to become the active server if SERVER2 becomes inaccessible. To make SERVER1 the active server once again (if desired), disable SERVER2 and then enable it once SERVER1 has become the active server for the TapePlex.