RC 65(65) despite valid Datacom DD

Document ID : KB000103576
Last Modified Date : 03/07/2018
Show Technical Document Details
Issue:
/* This works:
//PREINIT EXEC DB15UTL
//CSA954 DD DSN=DATACOM.DB954.CSA.TEST1,DISP=(,CATLG),
....
//DBUTL.SYSIN DD *
PREINIT AREA=CSA,DBID=954,BLKSIZE=32720

/* This does not:
//PREINIT EXEC DB15UTL
//CSA0954 DD DSN=DATACOM.DB954.CSA.TEST2,DISP=(,CATLG),
.....
//DBUTL.SYSIN DD *
PREINIT AREA=CSA,DBID=954,BLKSIZE=32720

/* The result of the latter:
.....
- PXX START DB15#PRE 76274 65(065) OPEN -0- D-1 DBUTLTY PREINIT
DB02406I - PXX END - DD STATEMENT MISSING
DB00501E - OPEN ERROR - RETURN CODE 65 (065) CXX=DBTEST WXX
DB10045E - ABNORMAL TERMINATION DUE TO ERROR(S)

The extra zero in "//CSA0954 DD " is the only difference.
Also, not sure where the dataset id of 'WXX' in the error message came from.
Environment:
z/os, CA Datacom/DB 14.0 and higher
Cause:
 When used, the format of the DDNAME for an AREA, in the DBUTLTY JCL, should be:
  • ABCnnn when nnn is between 1 and 999
  • ABCnnnn when nnnn is higher than 999
ABC is the 3 AREA name characters.
Other formats can lead to errors like rc 65 (065) - DD Statement Missing.  
Three characters DDNAME finishing with XX is reserved to Datacom software (like CXX, LXX….). 

The following format:
ABC0nnn will generate a rc 65(065).

Error will occur during DBUTLTY function INIT or PREINIT when DDNAME does not follow the above rule.  
It may generate other errors when not appropiately used. 
 
Resolution:
Additional Information:
 If you saw a term WXX that is because all PREINIT executions are internally handled as a WXX uses for RRS but with a 'special' DDNAME.