Problem:
Any command issued in IDD or an IDMSDDDL batch job against one dictionary we must upgrade gets the following errors:
*+ E DC601059 VALID USER NAME WAS NOT SPECIFIED
*+ DC601058 SIGNON REJECTED
*+ W DC601069 FORWARD SPACING UNTIL VALID SIGNON FOUND
Environment:
All IDMS Environments
Cause:
Every IDMS dictionary has Options that can be displayed or set by a USER defined in that dictionary with AUTHORITY FOR UPDATE IS ( ALL ).
Certain of the options control internal dictionary security controlled by the IDD/DDDL compiler.
In this case the dictionary had the following options set:
SECURITY FOR IDD IS ON
SECURITY FOR IDD SIGNON IS ON
The user who was signed on to the IDMS CV or who submitted the IDMSDDDL batch job was not defined as a USER in this dictionary.
The compiler will attempt to automatically signon to the dictionary using the USERID of the signed-on User or the submitter of the batch IDMSDDDL job.
The USER in question was not defined to the dictionary so no commands were permitted.
Resolution:
A USER defined in the dictionary with AUTHORITY FOR UPDATE IS ( ALL ) (typically this is the application DBA) must define the missing USER and define it with all AUTHORITY the USER should have to do the tasks assigned.
Alternately the DBA could also change the dictionary options to turn off these securities for a certain period to get the task completed, but assuming these options are intentionally set ON, adding the missing USER is the better solution.
Additional Information:
IDD /DDDL REFERENCE GUIDE