Regarding your questions I would answer as follows...
Q1. If neither have Security Codes specified why do they have different access?
Answer 1: It would seem that there was a separate execution of the DSEXUSR1 job that pulled in a different xxUSERS control member when these users were initially defined. They were likely assigned the appropriate Internal Security Codes during that initial execution of DSEXUSR1. It looks like your current "xxUSERS" control member is just setting their password. Review the following knowledge article, which will instruct you on how to get a listing that will show you all of the users defined in the Dispatch dictionary and what Internal Security Codes are defined for them:
Q2. I was hoping you can detail the process on how to go about creating a new user account to access Dispatch.
Answer 2: To create a NEW USER, you basically code the necessary statements into a DSUSERS control member and execute the DSEXUSR1 job to add them to the Dispatch Dictionary. If you are not sure how to do this, your best source of information would be found in the
"CA Dispatch Installation Guide". Start reading at the topic entitled "
Step 5. Define Users and the Network". Read through this section were you will find additional information for the USER statement, CADSOPTN member DSUSERS, Security Codes for Internal Security, Internal Security Table, etc...
Q3. How do I set/define the Internal Security Codes for that account.
Answer 3: See documentation above. The DSUSERS member can be found in the Dispatch installed hlq...CADSOPTN library. An Example for how to add a new user might look similar to the following:
USER 'USER1'
PASSWORD IS USER1
SECURITY CLASSES = ADD (2,5,6,51,52,53,54,58,59)
INSTALLATION CODES IS C'CADS'
.
Q4. How does Dispatch know to use this xxUSERS member?
Answer 4: See documentation above. The job that compiles the new user into the Dispatch dictionary is called DSEXUSR1 and is located in the Dispatch installed hlq...CADSJCL library. This JCL contains 3 symbolics that will point to the specific control members that you want to be pulled in for a particular execution of this utility. When adding a new user, you MUST pull in the DSSYSXA member and the DSUSERS member, as well as the DSGEN member referenced on the //SYSIPT DD statement in the JCL. Examples:
SYSTEM='DSSYSXA', * SYSTEM DEFINITION
TERMS='DSNETWKX', * NETWORK DEFINITION
USERS='DSUSERS', * USER DEFINITIONS
//SYSIPT DD DSN=&DSHLQ..CADSOPTN(&SYSTEM),DISP=SHR
// DD DSN=&DSHLQ..CADSOPTN(&TERMS),DISP=SHR
// DD DSN=&DSHLQ..CADSOPTN(&USERS),DISP=SHR
// DD DSN=&DSHLQ..CADSOPTN(DSGEN),DISP=SHR