Would like to allow and restrict adding Duplicate Elements based on the output type and System/Subsystem.
Release : all
DUPLICATE OUTPUT/TYPE CHECK ACROSS SUBSYSTEM is available. This expands the element processor output registration capability to prevent duplicate element names across Subsystems defined to a specific System. The purpose of this is to prevent unintentional overlays of same-named processor output library members.
Element Registration at Processor Group Level Can Extend to the Subsystem Level
The Element Registration feature at the processor group level can now be set to apply at the Subsystem level. Element Registration at the processor group level lets you control whether two elements with the same name, but with different element types, can exist in the same System when both elements are associated to processors groups with the same processor output type. The restriction can be set to all Systems or within a specific System. The purpose of the option is to prevent unintentional overlays of processor output library members that have the same name. This extends the restriction to the Subsystem level. The search for duplicate element names at the processor group level across Subsystems defined to a specific System. Specific Subsystems can be excluded from the search.
How to Enable Element Registration for Processor Groups at Subsystem Level
The Element Registration feature for processor groups can be enabled in a System definition to apply to all Subsystems within the System. To exclude any Subsystem, the Subsystem definition must be set to exclude it from the search. The administrator can set the options for the System and Subsystem definitions in foreground or batch.
To enable Element Registration for processor groups at the Subsystem level in foreground, set the following parameters:
DUP PROC O/P TYP=Y - Checks element names across types and processors groups for the same processor output type. A conflict occurs if an attempt to add or create an element and an element with the same name and processor output Type exists in the same System, with a different Type.
ACROSS SBS=Y - Extends the check for duplicate processor output Types to all the Subsystems defined to this System. The check compares the processor output Type of the current action against all processor output Types of all same named elements in the different Subsystems of the same System. If any are equal, the current action fails with a registration error.
EXCLUDE FROM DUPLICATE ELEMENT PROC O/P TYPE CHECK=Y - Excludes this Subsystem from the check.
To enable Element Registration for processor groups at the Subsystem level using Batch Administration, set the parameters as follows:
DUPLICATE PROCESSOR OUTPUT TYPE CHECK IS ACTIVE ACROSS SUBSYSTEMS - Extends the check for duplicate processor output Types to all the Subsystems defined to this System. The check compares the current processor output type of the action against all processor output types of all same named elements in the same System, different Subsystems. If any are equal, the current action fails with a registration error.
EXCLUDE DUPLICATE PROCESSOR OUTPUT CHECK - Excludes this Subsystem from the check.
Note: To activate Element Registration across all Systems at the processor group level, the following parameter must be set in the Optional Features table (ENCOPTBL):
Note: For processor groups, define an output Type or use the default output Type. The default processor output Type is a concatenation of the element type and the processor group name. Using the default can help you avoid duplicates.
I create a System called TEST, a Subsystem called TEST1, Types ASM, COBOL and JCL.
1) Set up/change the System definition.
DUP ELEMENT NAME ===> Y Allow Duplicate Element names.
DUP PROC O/P TYP ===> Y This will activate the "PROCESSOR O/P TYPE" option.
MSG LVL ===> E E will error(will not add), C will issue caution msg(will add but give a message), and W will issue Warning message(will add but give a message).
ACROSS SBS ===> Y This will activate the across subsystems option.
MSG LVL ===> E E will error, C will issue caution msg, and W will issue Warning message.
2) SubSystem change:
EXCLUDE FROM DUPLICATE ELEMENT PROC O/P TYPE CHECK ===> N N will allow PROC O/P TYPE CHECK for Duplicate Elements
3) Set up/Change the Processor Group:
PROCESSOR O/P TYPE ===> LOAD Alter the Processor O/P Type. For example I use LOAD for type ASM and Cobol as they output to the same loadlib. JCL for type JCL as it goes the the central JCL library(or I can leave default)
4) Determine if you you want restriction across SYSTEMs. Uncomment the following option from CSIQSRC(ENCOPTBL).
* ELEMENT REGISTRATION CHECK FOR OUTPUT PROCESSOR TYPE ACROSS SYSTEMS
* THIS OPTION WILL OVERRIDE THE DEFAULT LOGIC THAT CAUSES ELEMENT
* REGISTRATION CHECKS FOR OUTPUT PROCESSOR TYPE TO OCCUR ONLY
* WITHIN A SINGLE SYSTEM.
ENHOPT ELM_REG_CHK_OUTPTYPE_ACROSS_SYSTEMS=ON DEFAULT IS OFF
How the sample works:
If a Element called ELEMENT1 is Added to type COBOL. Nothing exists with the name ELEMENT1 so it's added.
ELEMENT1 is then added to type JCL. The SYSTEM setup allows duplicate names, the PROCESSOR O/P TYPE values on the other ELEMENT1 do not match the new Element the Element is added.
ELEMENT1 is added again to TYPE ASM. The SYSTEM setup allows duplicate names, the PROCESSOR O/P TYPE values are check for the other Elements named ELEMENT1. TYPE JCL does not match but TYPE COBOL has the same value of LOAD. The Element type ASM will not be added. The error message in Quick Edit would be "ELM REGISTRATION CHK" the long message would be "FOR INFORMATION REGARDING THIS MESSAGE, ENTER THE "TSO QMSGS" COMMAND." TSO QMSGS produces:
IMGR255E REG. ERROR: ELM EXISTS W/SAME PROC GRP O/P TYPE (LOAD) AT:
C1G0506I ENV: ENV1 SYS: TEST1 SBS: TEST1 STGID: 1 TYPE: COBOL
Nothing is added to the Element itself(or the component list) when "PROCESSOR O/P TYPE" is added. No check is physically done on the output components. This is a check done at the element add/update only.
For example using the sample if the loadlibs for ASM and COBOL types were separated(ASMLOAD and COBLOAD) to allow duplicate Element names. The PROCESSOR O/P TYPE values can be changed to COBLOAD and ASMLOAD. As soon as the changes are done in the Processor Groups then Duplicate Elements would be allowed between the 2 TYPES.
Only 1 unique Element name can exist on a BASE library. To allow duplicates,separate the base libraries or set "COMPRESS/ENCRYPT(Y/N)" to Y in the type definition. The setting "COMPRESS/ENCRYPT(Y/N) = Y" encrypts the member name in the BASE library. If the setting of COMPRESS/ENCRYPT(Y/N)=N is used the Member name is the same as the Element name.