The Temp data set getting the allocation error was involved in an IF/THEN/ELSE statement.
The DISP specification for the file was incorrect in the ELSE version.
// IF (SYSCHK.RC = 2) THEN
//*
//*===========================================
//* PRECOMPILE THE PROGRAM
//*===========================================
//PCWO EXEC PGM=DSNHPC,PARM=(&PREOPTS),
// MAXRC=04,
// COND=(2,LT)
//STEPLIB DD DSN=DB2PROD.DSNEXIT,DISP=SHR
// DD DSN=DB2PROD.DSNLOAD,DISP=SHR
//SYSCIN DD DSN=&&DSNHOUT,
// DISP=(MOD,PASS),
. . .
// ELSE
//*
//*===========================================
//* PRECOMPILE THE PROGRAM
//*===========================================
//*
//PCW EXEC PGM=DSNHPC,PARM=(&PREOPTS),
// MAXRC=04,
// COND=(2,LT)
//STEPLIB DD DSN=DB2PROD.DSNEXIT,DISP=SHR
// DD DSN=DB2PROD.DSNLOAD,DISP=SHR
//SYSCIN DD DSN=&&DSNHOUT,
// DISP=(OLD,PASS),