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 Not under consideration
Workspace z/OS
Categories JES2
Created by Guest
Created on Sep 12, 2024

To have parameter SYSSYM set to ALLOW as default instead of DISALLOW.

Today in zOS2.5 we have parameter SYSSYM set to DISALLOW as default for all jobclass in the system. With all the migration that is happening and will happen from JES3 to JES2 customers will need at some point to change this parameter to allow if they want JES to be able to convert symbolic like &LYYMMDD.&LHHMMSS. passed thru a JCL or include parameter for use of symbolics thru a member, used to save and transfer daily reports in a specific server(This is our customer scenario now). This is a good functionality for JES2 and I think it should be allowed by default to facilitate the use of this functionality. It can be time consuming to understand that JES is being blocked to do symbolic conversion due to parameter SYSSYM=DISALLOW set as default for a JobClass.

So the idea is to have parameter SYSSYM=ALLOW defined as default for all jobclass to facilitate the use of JES symbolic conversion since it does not impact anything or any job that does not make use of symbolic. And with this no command or change is necessary for this functionality to be activated in PROD systems.

Idea priority Medium
  • Guest
    Reply
    |
    Oct 28, 2024
    Thank you for sharing your request for an update with us. Unfortunately, this requirement does not fit with the design of the system symbol substitution for batch jobs.

    Prior to z/OS 2.1, system symbol substitution was never done for batch jobs (an MVS converter restriction). This restriction was because symbol substitution in JCL is done during JCL conversion processing and may occur on a different system from where the job will run. Thus customers may be confused when a job submitted and converted on "SY1" but run on "SY2" has &SYSNAME set to "SY1". For started tasks and TSO logon PROCs, system symbols were allowed, since by definition, they must convert on the system where they were started (thus everything occurs on the same system).

    Since you mentioned JES3, note that JES3 has code designed to ensure started task and TSO logon symbols work for CI FSS even when converting on a system that is not the execution system. This does/did not help processing for batch jobs.

    When working some customers, they correctly pointed out that though the original system symbols were used for system specific value like system name, over time symbols been updated to include concepts that were not system specific (including dynamic symbols like the &LYYMMDD symbol mentioned). One customer shared a use case where they had an environment with two SYSPLEXes, one for production and one for test. They wanted to use the same JCL without modification in both environment, having data set names that started with PROD in one and TEST in the other. Nothing system specific was required (just SYSPLEX level information).

    To address this requirement, code in z/OS 2.1 was updated to add the SYSSYM= keyword to the JOBCLASS statement. This allowed the system symbolic substitution in batch JCL for the specified JOBCLASS. The default was defined as DISALLOW because that was how it worked in prior releases and due to the limitation on where substitutions were done (conversion vs execution system). The recommendation was to use only system independent symbols when working with batch jobs.

    Note that since the SYSSYM setting is on the JOBCLASS statement it has the same properties as other JOBCLASS settings. JOBCLASS settings are maintained across the JESPlex. The settings are stored in the JES2 checkpoint data set and changes made on one member are copied to all members. Also, when a JES2 member initializes, the value read from the checkpoint is always used in preference to what was specified in the initialization data set. This implies that a single $T JOBCLASS(A),SYSSYM=ALLOW command will set the SYSSYM value on all members and that setting will persist until the next cold start.

    For dynamic job classes (multiple character job classes that can be added via $ADD JOBCLASS or initialization statements ), the default is SYSSYM= DISALLOW. However, you can specify SYSSYM= on the $ADD JOBCLASS (eg $ADD JOBCLASS(BRUNO),SYSSYM=ALLOW).

    You can also update all JOBCLASSes to SYSSYM= ALLOW with the single command $T JOBCLASS(*),SYSSYM=ALLOW. This only needs to be done once in the JESPlex and will persist until the next cold start. For cold starts, you can add a JOBCLASS(*) SYSSYM=ALLOW statement to your initialization stream to ensure this is always set.

    Furthermore, if the default were updated to ALLOW, it would only impact the setting after a cold start and dynamically added JOBCLASSes. Existing JOBCLASSes have a value that can only be changed via operator command.

    Because of the above explanation, this request for change is being declined. If you have any questions you can contact us. Thank you for sharing your requirement with us.