CICS Message DFHPG0104 on URT programs


Article ID: 16391


Updated On:


CA Datacom CA DATACOM - AD CA CIS CA Common Services for z/OS CA 90s Services CA Database Management Solutions for DB2 for z/OS CA Common Product Services Component CA Common Services CA Datacom/AD CA ecoMeter Server Component FOC CA Easytrieve Report Generator for Common Services CA Infocai Maintenance CA IPC Unicenter CA-JCLCheck Common Component CA Mainframe VM Product Manager CA Chorus Software Manager CA On Demand Portal CA Service Desk Manager - Unified Self Service CA PAM Client for Linux for zSeries CA Mainframe Connector for Linux on System z CA Graphical Management Interface CA Web Administrator for Top Secret CA CA- Xpertware


I am getting the following message on my CICS URTS.

 I checked in the documentation and I don't see any recommendation on how these should be defined releative to the AMODE of the DATALOCATION  in the CICS program definition .  This is CICS TS 5.4 


DFHPG0104 10/20/2017 19:36:40 CICSRA1 Program DBURT161 is defined with DATALOCATION(ANY) but is linkedited with AMODE(24).

How to ASM/LINK URT under CICS?


z/OS, CICS TS 5.4


You need to use AMODE(31) now that you are CICS CTS 5.4 

See following IBM Knowledge Center link: 


Review program and transaction definitions 


Defaults of the following resource attributes are changed in CICS TS 5.4. This change will have a different impact on resources, depending on the way the resources are defined. Review your resource definitions to ensure that the specification of these new defaults is appropriate. 

Only AMODE(24) programs need to use DATALOCATION(BELOW). CICS issues a DFHPG0104 warning message when it loads an AMODE(24) program that is defined with DATALOCATION(ANY). Specify DATALOCATION(BELOW) explicitly for definitions of AMODE(24) programs instead of using the default value. 

Only transactions that run AMODE(24) programs need to use TASKDATALOC(BELOW). CICS abends transactions with an AEZC abend code if an AMODE(24) program is run under a transaction that runs with TASKDATALOC(ANY). Specify TASKDATALOC(BELOW) explicitly when you define transactions that run AMODE(24) programs instead of using the default value. 


Additional Information

Your CICS URTs can be assembled/linked to move above the line. 

You would use AMODE=31 and RMODE=ANY. 

Make the change to the URT on the DBUREND macro. It might look like:


Once the assemble/link is done, you also need to make sure the PPT entry for DATALOCATION should be ANY.