This portal is to open public enhancement requests against IBM Z Software products. 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).
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:
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 an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
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.
This is an interesting suggestion, but unfortunately not very practical.
HLASM system variables provide information either about the overall environment (such as job name) or about the current status during HLASM first pass processing. The RMODE of a section is neither of these; it is an attribute of a control section which may not be resolved until the end of the first pass. If an RMODE or CATTR statement is found with a matching section name, it is used to set the RMODE, but if no such statement is found by the end of the first pass, the RMODE is set to the default value, which is normally 24 but may be affected by an AMODE specification for the same section. The RMODE and AMODE values may also of course be modified at link-edit time.
If the relevant RMODE statement occurs before the macro which needs to use it, it is possible to capture the RMODE value by using a macro near the start of the program to set up an intercept for the RMODE statement. The macro first uses the OPSYN statement to establish a synonym for the standard RMODE instruction then uses OPSYN again to route the RMODE instruction through a macro, so that it can record the RMODE value for the specified section name in a global variable but pass the operands to the standard RMODE instruction. A similar technique can be used to detect and tolerate multiple RMODE instructions for the same section provided that they are compatible.
This request as it stands is rejected for the following reasons:
1. RMODE or AMODE is a section attribute, not part of the current processing environment or status, so it does not belong in a system variable as in the suggested solution. If it were possible to determine the relevant value, the mechanism would probably need to be a built-in function, like SYSATTRA or SYSATTRP.
2. The RMODE value would only be known if the RMODE (or CATTR) statement preceded the macro testing it (in the same way that SYSATTRA or SYSATTRP can only test attributes of a symbol which is already defined), and even then it could be overriden at link-edit time, so a built-in function would be of limited use.
We have however noted that if the area of built-in functions is opened up for further development in future, a general function to retrieve section attributes (if known) could be useful.