Moving IMS programs to Enterprise COBOL V5 or V6

If you use COBOL for IMS exit routines, pay attention to some restrictions with COBOL V5 and V6.

Only IMS exits that are enabled for enhanced services can reside in PDSE data sets. In particular, COBOL users commonly use two types of exits, and they are not enabled to run out of PDSE data sets:
DFSME127   The Input Message Segment Edit user exit 
DFSME000   The Input Message Field Edit user exit
If you have COBOL programs that are used as these types of IMS user exits, the programs cannot be compiled with COBOL V5 or V6. The exception is when the actual exit is an assembler program in a PDS data set that LOADs and calls a COBOL V5 or V6 program in a PDSE.  To handle the cases with COBOL V5 or V6 and these users exits, you have the following choices:
  • If the exit routine is COBOL, do not recompile with COBOL V5 or V6, but keep using the older COBOL version.
  • If the exit routine is COBOL, change to use an assembler program that LOADs COBOL V5 or V6, or an older COBOL program that does a dynamic CALL to COBOL V5 or V6 for exit logic.
  • If the exit routine is assembler that loads a COBOL program, recompile the COBOL program with COBOL V5 or V6, bind into a PDSE data set, and add that new data set to the concatenation.
IMS is in the process of enabling user exits for enhanced services, which allows them to be run out of PDSE data sets. See the list of  the user exit types that are enabled for the new services in IMS V11:
ICQSEVNT(new)         The IMS CQS Event user exit 
ICQSSEVT(new)         The IMS CQS Structure Event user exit
INITTERM(new)         The Initialization / Termination user exit
RESTART(new in IMS 10)The Restart user exit
PPUE (DSFSPPUE0)      The Partner Product user exit

No additional exits were enabled in IMS 12.

The following user exit types are enabled in IMS 13:
BSEX (DFSBSEX0)      The Build Security Environment user exit
LOGEDIT (DFSFLGE0)   The Log Edit user exit
LOGWRT (DFSFLGX0)    The Logger user exit
NDMX (DFSNDMX0)      The Non-Discardable Message user exit
OTMAIOED (DFSYIOE0)  The OTMA Input / Output Exit user exit  
OTMARTUX (DFSYRTUX)  The OTMA Resume TPIPE Security user exit
OTMAYPRX (DFSYPRX0)  The OTMA Destination Resolution user exit
RASE (DFSRAS00)      The Resource Access Security user exit