We are migrating from Cobol 4.2 (COBOL42) to Cobol 6.3 (COBOL63) and a new processor group was created for Cobol 6.3. The new processor group (COBOL63) was set up as default and new modules are using it for ADD process by updating the TYPE COBOL.
The issue is for the re-compiling of old Elements originally compiled in COBOL42 processor group. The default is not respected as per the TYPE Definition update to COBOL63. A recompilation will use the old processor group (COBOL42) unless it's over typed for each Element.
How can I change all the Elements with processor group COBOL42 to have a default of COBOL63?
Release : All
The processor group of the last time the Element was Generated is stored in the Element's METADATA in the MCF.
Use the ALTER command. The alter command can change the old processor group to a new processor group.
ALTER ELEMENT '*'
FROM ENVIRONMENT 'PROD' SYSTEM '*' SUBSYSTEM '*'
TYPE 'COBOL' STAGE '*'
REPLACE PROCESSOR GROUP COBOL43 WITH COBOL63
OPTIONS NOUPDATE ELEMENT
This will command is set up initially with OPTIONS NOUPDATE ELEMENT. This will force no changes to be done. It will show the Elements that will be changed. To update the Elements change NOUPDATE to UPDATE.
This command will try to change all Elements in the Environment PROD, for all Systems and Subsystems, Type of COBOL and all stages.
If the element also has processor group COBOL43 it will be selected to be changed to processor group COBOL63.
The ALTER processor group will not change how the existing element selects the delete processor. So only the default processor group will be changed.
The alter command is very powerful it is recommended that a backup be done before run the alter to update elements. The alter command also requires SMF recording to be turned on.
see the Endevor Documentation on the ALTER command for details: