Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Workspace z/OS
Created by Guest
Created on Dec 22, 2018

SMS SCDS construct comparison tool

With the heavy focus on cyber resiliency, we are looking for a tool to compare SMS constructs between SCDSs--or between the active configuration and a new SCDS. We have excellent testing tools for ACS source code (with test cases and NaviQuest), but lack a simple way to find SMS construct differences. Someone maliciously or mistakenly changing a management class retention value from a high to a low value (like 1 day) could cause a significant data loss issue. NaviQuest has these features:

* ACBJBAIM will list the data classes

* ACBJBAIP will list the management classes

* ACBJBAIV will list the storage classes

* ACBJBAIY will list the storage groups

However, comparing the results is a manual process involving text report parsing. We can build Rexx code (or a similar tool) to run the comparisons, but any changes to the textual output will cause these tools to fail. We are looking for a tool to quickly compare constructs and flag values that are different. Those implementing SMS changes should run the tool at implementation time (and in advance) to validate that the changes were expected.

Comparisons for storage groups should include changes in volume status (ENABLE, QUINEW, DISNEW) as well as volser changes.

Idea priority High
  • Guest
    Reply
    |
    May 19, 2022

    If the ACTIVATE is fully under control of an automated process that does the checking it could be useful. And just as an ad hoc check it would be useful too. But there would still be occasions where a legitimate change to a MGMTCLAS setting has to be made and be authorised somehow by someone, so there's always the potential for it to go wrong.

    Changing the MGMTCLAS settings is probably the highest risk of all SMS change, especially things like reducing Expire Non-Usage and Expire Date/Days values. Once Space Management has run it's almost impossible to retrieve the deleted data, depending on your backup protocol etc. Almost all other SMS changes are reversible.

    Our standard practice is to use save the ACDS to the SCDS before starting an SMS change to ensure they match 100%, including any SG or volume status change by VARY commands in the ACDS. So any construct changes have to be a very conscious decision and would be heavily scrutinised under change control.
    SETSMS SAVESCDS(SCDS.NAME)
    Also save the pre-change ACDS to an alternate name that could be quickly activated if necessary:
    SETSMS SAVEACDS(ACDS.ALTERNATE.NAME)


  • Guest
    Reply
    |
    May 29, 2019

    At the Rabobank we need the functionality to compare the SCDS with the ACTIVE so we can safely execute changes automatically from ZOSMF without having unintended/not-activated changes be activated in a proces where human intervention is eliminated.
    Also see https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=127842

  • Guest
    Reply
    |
    Jan 7, 2019

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - z Systems Software
    Product - z/OS
    Component - DFSMS ISMF/Naviquest
    Operating system - IBM z/OS
    Source - SHARE

    For recording keeping, the previous attributes were:
    Brand - Servers and Systems Software
    Product family - z Systems Software
    Product - z/OS
    Component - DFSMS SMS
    Operating system - IBM z/OS
    Source - SHARE

  • Guest
    Reply
    |
    Jan 2, 2019

    We have been doing this type of compare for years. We have it integrated into our automation for activating a new SMS configuration, but the actual compare can be done at any time using a batch job with three steps.

    //STEP001 EXEC PGM=IDCAMS
    //SYSPRINT DD SYSOUT=*
    //DCOUT DD DSN=DSM.DCOLLECT.ACDS.SMSDATA,
    // DISP=(NEW,CATLG,DELETE),
    // SPACE=(TRK,(50,20),RLSE),
    // DSORG=PS,RECFM=VB,LRECL=932
    //SYSIN DD *
    DCOLLECT OUTFILE(DCOUT) SMSDATA(ACTIVE)
    //STEP002 EXEC PGM=IDCAMS
    //SYSPRINT DD SYSOUT=*
    //DCOUT DD DSN=DSM.DCOLLECT.SCDS.SMSDATA,
    // DISP=(NEW,CATLG,DELETE),
    // SPACE=(TRK,(50,20),RLSE),
    // DSORG=PS,RECFM=VB,LRECL=932
    //SYSIN DD *
    DCOLLECT OUTFILE(DCOUT) SMSDATA(SCDSNAME(SMS.PROD.SCDS))
    //STEP003 EXEC PGM=IKJEFT01,
    // PARM='%SMSCOMPR'
    //SYSEXEC DD DSN=DSM.REXX.EXEC,DISP=SHR
    //ACDS DD DSN=DSM.DCOLLECT.ACDS.SMSDATA,DISP=SHR
    //SCDS DD DSN=DSM.DCOLLECT.ACDS.SMSDATA,DISP=SHR
    //REPORT DD DSN=DSM.SMS.CHANGES(+1)
    // DISP=(NEW,CATLG,DELETE),
    // DATACLAS=EXTENDED,
    // SPACE=(TRK,(10,10),RLSE),
    // DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=0
    //SYSTSPRT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //SYSOUT DD SYSOUT=*
    //SYSTSIN DD DUMMY
    //SYSIN DD DUMMY

    A compare of the volumes in each storage group can also be done by adding VOLUMES(*) NODATAINFO to the DCOLLECT commands (unfortunately, STORAGEGROUP(*) or STORAGEGROUP(ALL) is not allowed).

    We currently do not check every field in each DATACLAS, STORCLAS, MGMTCLAS, and STORGRP, but it would be easy enough to add code to do that.

    Perhaps IBM could utilize this approach to speed up the delivery of a tool everyone could use.

  • Guest
    Reply
    |
    Dec 24, 2018

    An idea to consider:

    Build the following jobstream.

    1. ACBJBAO7 - DCOLLECT against target SCDS(s)
    DCOLLECT +
    VOLUMES(*) +
    OFILE(OUTDST) +
    SMSDATA(SCDS(your.scds1))
    DCOLLECT +
    VOLUMES(*) +
    OFILE(OUTDSP) +
    SMSDATA(SCDS(your.scds2))

    2. ACBJBAR2 - Generate SMS Config Report against your.scds1
    Choose record type(s) to collect

    3. ACBJBAR2 - Generate SMS Config Report against your.scds2
    Choose record type(s) to collect

    4. SuperC compare ACBJBAR2 output for scds1 & scds2