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
Categories DFSMS SMS
Created by Guest
Created on Jul 19, 2023

Use of a filtlist in the exclude statement

We would like to be able to use a filltlist in the exclude statement of another filllist.

Often we have a long list of datasets that are allocated with custom constructs. So that the general filtlist does not unintentionally take effect, we also enter this in the Exclude statement of the general filtlist.
If we could refer to another filtlist here, we could shorten the routines significantly, since we don't enter the data twice. The risk of changing the list would also be significantly lower, since it only has to be changed in one place.

Idea priority Medium
  • Guest
    Reply
    |
    Jul 21, 2023

    It would be useful if FILTLIST's could be externalised from the main ACS routine into separate members that are referenced from the FILTLIST statement in the main routines. That would simplify the main ACS code and make maintenance easier where the same FILTLIST is used in multiple routines or different parts of one routine.

    e.g.
    In your ACS library have a member called XYX that has all the dataset names/masks

    In the ACS routine reference that as FILTLIST INCLUDE(&XYZ) while allowing an EXCLUDE for specific datasets
    EXCLUDE(Z*.SOME.THING)

  • Guest
    Reply
    |
    Jul 20, 2023

    Hi,

    Thanks for the quick feedback.

    But the thinking behind the idea was different. I try to make it clearer with an example.

    Our ACS routines currently look like this in many places:

    FILTLIST TEST1 INCLUDE(ABC.**)

    EXCLUDE(ABC.T1.**,

    ABC.T2.**,

    ABC.T3.**,

    ....

    ABC.T25.**)

    FILTLIST TEST2 INCLUDE((ABC.T1.**,

    ABC.T2.**,

    ABC.T3.**,

    ....

    ABC.T25.**)

    WHEN(&DSN = &TEST1)

    SET &STORCLAS = 'SCTEST1'

    WHEN(&DSN = &TEST2)

    SET &STORCLAS = 'SCTEST2'


    If the FILTLIST TEST2 is now expanded, the exclude part of TEST1 must always be adjusted, or we must ensure that the assignment for TEST2 comes before TEST1.


    Idea:


    FILTLIST TEST1 INCLUDE(ABC.**)

    EXCLUDE(&TEST2)

    FILTLIST TEST2 INCLUDE((ABC.T1.**,

    ABC.T2.**,

    ABC.T3.**,

    ....

    ABC.T25.**)

    This means we don't have to adjust two lists and are also sure that the order of assignment has no effect.

  • Guest
    Reply
    |
    Jul 19, 2023
    If I understand the request correctly, you want to have:

    FILTLIST GENERAL EXCLUDE(ABC*,XYZ*)
    FILTLIST MORE EXCLUDE(GENERAL, LMN*)

    so, &MORE references to &GENERAL and some of its own?

    However, we think, if you do the following:

    FILTLIST GENERAL EXCLUDE(ABC*,XYZ*)
    FILTLIST MORE EXCLUDE(LMN*)

    and, you can check like: IF &DSN = &GENERAL and &DSN=&MORE THEN

    would this achieve what you are looking for?

    If we misunderstand your request, can you please explain and give us an example of how you would use it?

    Thanks!