SCC-DLimit reporting - syncsort_scc_monitor - Latest

Syncsort™ Storage Management SCC DLimit Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ software
Product
Syncsort™ Storage Management > Syncsort™ SCC Monitor
Version
Latest
ft:locale
en-US
Product name
Syncsort Storage Management
ft:title
Syncsort™ Storage Management SCC DLimit Guide
Copyright
2021
First publish date
1991
ft:lastEdition
2025-12-05
ft:lastPublication
2025-12-05T05:06:29.654000
L1_Product_Gateway
Integrate
L2_Product_Segment
IBM Infrastructure
L3_Product_Brand
Precisely Syncsort
L4_Investment_Segment
Mainframe
L5_Product_Group
Mainframe Storage Optimization
L6_Product_Name
Syncsort Storage Management

SCC-DLimit reporting In addition to the ISPF interface and the SCC-DLimit TSO commands such as DLLIST and DLSYS, functions such as SCAN, which can be run under DLMAINT, SCC-DLimit can produce customized reports using the reporting facilities of the SCC Monitor. Producing customized reports on the contents of the SCC-DLimit database is a two-step process:

  1. Execute the BACKUP function of DLMAINT to extract the desired accounting records from the SCC-DLimit database. Use the INCLUDE and EXCLUDE statements to specify particular sets of accounts. Specify alternate SCC-DLimit databases via the SET DATABASE statement if needed.
  2. Execute program MONRUN to produce the desired report. MONRUN accepts two inputs:
    • The SYSIN stream contains the control statements for the report (report title, column headings, sort order, etc.).
    • The RULE data set specifies a set of SCC-DLimit rules used to filter the extracted information and to select which fields are included in the report.

By extracting the desired records, specifying which fields are to be included via the RULE data set, and specifying the format via SYSIN, almost any type of report can be created. Control breaks and summarization may be specified in SYSIN, and records for individual SCC-DLimit accounts may be included or excluded as desired. The RULE data set can also define new variables (for example, current percentage of maximum space limit) to be dynamically calculated and included in the report.

The DLimit reporting jobs use SCC Monitor (MONRUN) to create reports.

Note: A Monitor license is not required, but without it the product will be limited to DLimit reporting. For a complete explanation of the SCC Monitor reporting facilities, refer to the MON-Snapshot User’s Guide.

JCL Statements

The following examples show the required JCL statements for SCC-DLimit reporting.

The first step invokes DLMAINT to select the desired records from the SCC-DLimit database. The second step produces the report.


-- Step 1: Extract records with DLMAINT
//BACKDB  EXEC PGM=DLMAINT,REGION=4M
//STEPLIB DD  DISP=SHR,DSN=DTS.R71.LOADLIB
//EXTRACT  DD  DSN=&&EXTRACT,DISP=(,PASS),UNIT=SYSDA,
//             SPACE=(CYL,(1,1),RLSE)
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
  INCLUDE ACCOUNT(*)
  BACKUP TODD(EXTRACT)
*
    

Figure 8-1. Sample report JCL - step 1 - data extraction


-- Step 2: Run MONRUN to generate the report
//REPORT  EXEC PGM=MONRUN,REGION=4M
//STEPLIB DD  DISP=SHR,DSN=DTS.R71.LOADLIB
//EXTRACT  DD  DSN=*.DLMAINT.EXTRACT,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//TOOLMSG  DD  SYSOUT=*
//DFSMSG   DD  SYSOUT=*
//SYSUT1   DD  SPACE=(CYL,(2,1)),UNIT=SYSDA,
//             DCB=(RECFM=FB,LRECL=250,DSORG=PS)
//SYSUT2   DD  SPACE=(CYL,(2,1)),UNIT=SYSDA
//SYSUT3   DD  SPACE=(CYL,(2,1)),UNIT=SYSDA
//SYSIN    DD  *   control statement
//RULE     DD  *   rule statements
*
    
Figure 8-2. Sample report JCL - step 2 - report generation

Statement

Use

JOB

Job statement for the DLimit report job.

EXEC

Specifies the program name for the DLimit reporting program (for example, PGM=MONRUN).

STEPLIB DD

This is required if MONRUN is not in the system linklist concatenation. Defines the load library containing the MONRUN program (by default, DTS.R71.LOADLIB).

Note: All libraries allocated to STEPLIB must be authorized.

SYSPRINT

Specifies the output data set for messages from DLMAINT or MONRUN. Typically a sequential data set specified as SYSOUT=*.

EXTRACT

Specifies the data set holding the records extracted from the SCC‑DLimit database. This is a sequential data set; DCB characteristics are determined by DLMAINT (for example, LRECL=250, RECFM=FB).

SYSOUT

Report output data set. A sequential data set with RECFM=FBA. Record length may vary depending on included fields.

SYSIN

Contains control statements used to generate the report. Typically a sequential data set with LRECL=80 and RECFM=FB.

RULE

Contains SCC‑DLimit rules used to select and reformat records from the extract file for the report writer. May be a PDS member or a sequential data set; the DD name is specified on the DSL statement in SYSIN. Typically LRECL=80, RECFM=FB.

TOOLMSG

Messages data set required by the system sort.

DFSMSG

Messages data set required by the system sort.

SYSUT1

Intermediate work data set used by MONRUN.

SYSUT2

Intermediate work data set used by MONRUN.

SYSUT3

Intermediate work data set used by MONRUN.

DLimit reporting control statements

The following control statements may be specified in the SYSIN stream of the EXEC PGM=MONRUNstep. These control statements specify the location of the RULE data set, the format of the report output, sort and control break summarization fields, column headings, and other information that is needed to produce the report output.

DSL(DDNAME(ddname))
Specifies the DD name of the data set containing SCC-DLimit database records which are input to reporting. These records are created by extracting information on desired accounts via the BACKUP function of DLMAINT.
RULES(NAME(RULE) PARMLIB() LIST))
Specifies the DD name of the RULE data set. The RULE data set contains SCC-DLimit rules that specify which fields are needed in the report. Further filtering may be performed by IF statements in the RULE data set, and new fields may be defined by the rules. If the RULE data set is a sequential data set or included instream, the PARMLIB operand may be empty. If the RULE data set is a member of a PDS, the PARMLIB operand must specify the DDname of the PDS while the RULE operand specifies the member name. The LIST operand is optional and causes the contents of the RULE data set to be displayed on SYSPRINT.
SORT(field_name, A | D, field_name, A | D, ...)
Specifies fields on which report detail records are sorted. Fields must have been included in the DEFREC statement in the RULE data set. Use A for ascending or D for descending order.
FORMAT ( DATE( abcd )
FIELD( field_names )
LINES( num )
MAX( 'text' )
MIN( 'text' )
TIME( abc )
TITLE( 'text' )
TOTAL( 'text' ))

The FORMAT statement defines report output: which fields are included, column headings, titles, and general layout. The following subparameters may be specified in FORMAT:

  • DATE(abcd) — Print the date in the report title. Format is specified by combination of M, D, Y or 4 (each once). 'd' is a separator character. Default: DATE(MD4/).
  • FIELD(field_name, field_name, ...) — Which fields (for example, account name, current space amount) appear in the report. Fields appear in columns in the order specified. If no column heading is specified via HEADER in DEFREC, the field name becomes the heading. Field names must be defined in DEFREC and can be found in the Symbolic Fields chapter.
  • LINES(num) — Number of lines per page. Default: 61.
  • MAX('text') — Identify maximum values in numeric fields and include them in a summary at the end of the report. The parameter text is the title line for the maximum values.
  • MIN('text') — Identify minimum values in numeric fields and include them in an end-of-report summary.
  • TIME(12 | 24 x) — Print time in the report title in 12- or 24-hour format. Separator character x defaults to ':'.
  • TITLE('text') — Specify a report title. Enclose text in quotes if it contains embedded blanks. The title line is printed at the top of each page and includes title string, date, time and page number. A blank line follows the title line.
  • TOTAL('text') — Identify and sum numeric fields and include totals in an end-of-report summary. The parameter text is the title line for the totals.
INCLUDE(ENV(DSL_ACCOUNT))

This statement (FORMAT/DEFREC etc.) is required to inform SCC Monitor that SCC-DLimit records are being processed. The SCC-DLimit rules are examined and a record is written (when a WRITEREC is encountered) for each SCC-DLimit account processed.

Reports using SYNCSORT / SYNCTOOL

If your installation does not run DFSORT and the ICETOOL utility is not available, the SELECT, SORT or FORMAT statements will fail on the #LINK request to ICETOOL. For installations running SYNCSORT, the product provides a similar utility (SYNCTOOL) that can be used for report generation. To use SYNCTOOL, issue the following DIF command to force the #LINK request to use SYNCTOOL instead of ICETOOL:


F DIF,MODULE ICETOOL SYNCTOOL
      

After issuing this command, run the report again. SYNCTOOL control cards have slight differences, so you may receive additional errors. If errors occur, examine sort messages. Date and time formats can be changed on the FORMAT statement to accommodate differences. For example, SYNCTOOL utility in release 3.6 does not support DATE(MD4/). Use DATE(MDY/) on the FORMAT command.

Note: To make the DIF MODULE command persist across DIF restarts, add the following card to the start of the START00 member in DTS.R71.PARMLIB:

MODULE ICETOOL SYNCTOOL
The RULE data set

The RULE data set contains a series of statements used for processing the extracted SCC-DLimit records. The rules are examined for each SCC-DLimit account; a WRITEREC statement creates a new record that will be input to the report writer. The FORMAT statement in SYSIN refers to the fields included in this record when formatting report output.

A sample rule set is shown below. This sample creates a record containing account name, current space used, current percentage of maximum space allowed, etc. Use DEFREC to specify fields included in the record and DEFEQU to specify calculated fields.


DEFEQU &CURR_PCT = &USRFLDN1    /* CALCULATED FIELD */
/* DEFRULE SELRULE CONTINUE(NEXTIF) */
IF &ACCT_NAME = *
THEN SET &CURR_PCT = 0

/*******************************************************/
/* CALCULATE THE PERCENT UTILIZATION FOR THE ACCOUNT */
/*******************************************************/
IF &ACCT_MAX-T NE 0
THEN SET &CURR_PCT = 'EVAL(&ACCT_CUR-T * 100 / ACCT_MAX-T)'
ELSE SET &CURR_PCT = 0

/******************************************************/
/* SELECT THE RECORDS TO BE INCLUDED IN THE REPORT */
/******************************************************/
IF &CURR_PCT GT 100 OR
   &CURR_PCT GT &ACCT_WARN
   THEN ISSUE WRITEREC(RPTREC)

/*******************************************************/
/* IDENTIFY THE SCC-DLIMIT DATABASE RECORD FIELDS */
/* AND THE FIELDS THAT MAY BE USED IN THE REPORT */
/* AND SPECIFY ALTERNATE COLUMN HEADINGS */
/*******************************************************/
DEFREC RPTREC INIT(BLANKS) LEN(300)
FIELD &ACCT_NAME HEADER('ACCOUNT')
FIELD &ACCT_CREDATE
FIELD &ACCT_CRETIME FIELD &ACCT_USEDATE FIELD &ACCT_USETIME
FIELD &ACCT_WARN HEADER('WARN PCT') FIELD &ACCT_MODE
FIELD &ACCT_MAX HEADER('MAX SPACE')
FIELD &ACCT_HWM HEADER('HWM SPACE') FIELD &ACCT_HWMDATE
FIELD &ACCT_HWMTIME
FIELD &ACCT_CUR HEADER('CUR SPACE') FIELD &CURR_PCT HEADER('CUR PCT')
      

Figure 8-3. Sample SCC-DLimit Reporting Rules

The DEFEQU statement defines a new numeric variable CURR_PCT which contains current percentage utilization for the account. This variable is not in the original SCC-DLimit records and is calculated for each account by the first IF statement. The CONTINUE(NEXTIF) parameter on the DEFRULE statement indicates processing continues even when a true condition is encountered (the default SCC rule processing exits on the first true condition).

If the last IF statement evaluates true, a record for reporting is written. The content is defined by the DEFREC statement that follows.

The DEFREC statement specifies fields included in the record used by FORMAT. In this example, account name and current space amount are included, plus the calculated current percentage field. Field names are taken from the Symbolic Fields chapter.

The SYSIN statements necessary to generate a sample report using the above rules, along with sample output, are shown below:


DSL(DDNAME(EXTRACT)) RULES(NAME(RULE) PARMLIB() LIST)
INCLUDE(ENV(DSL_ACCOUNT))
SORT(ACCT_CUR,D,ACCT_NAME,A)
FORMAT(FIELD(ACCT_NAME, ACCT_CUR, CURR_PCT, ACCT_MAX, ACCT_HWM)
       TITLE('SCC-DLIMIT ACCOUNTS OVER WARNING PERCENT REPORT'))
      

Sample report header and column headings:


SCC-DLIMIT ACCOUNTS OVER WARNING PERCENT REPORT   07/18/01 06:05:05 - 1 -  
ACCOUNT              CUR SPACE    CUR PCT   MAX SPACE    HWM SPACE
------------         ---------    -------   ---------    ---------
PAYROLL:VSAM         24.988M           82     30.486M      26.201M
PAYROLL:NONVSAM      157.839M          95    166.147M     162.998M
PAYROLL:TOTAL        182.827M         100    180.000M     185.443M
GENL_LEDGR:TOTAL     472.892M          98    482.543M     472.892M    

Sample reports

Several sample reports are included in the SCC-DLimit Sample Library. These reports provide examples of how to use the SCC-DLimit reporting facilities to produce detail and summary reports that give a clearer picture of DASD space use across the installation.

Account detail report
This is member DSLRPT1 in the Sample Library. For selected accounts, show the current total space assigned to the account, maximum space limit, and other account information.
Accounts over limit report
This is member DSLRPT2 in the Sample Library. Display all SCC-DLimit accounts which have exceeded either their specified limit (MAX) or their warning levels.
High-watermark report

This is member DSLRPT3 in the Sample Library. For selected accounts, show the highest amount of space ever assigned to the account (the high-water mark) and the date on which it occurred.