I'm sorry I was vague. Here is a way to route specific users into specific subsystems, regardless of workstation location. Suppose you've created a subsystem named BASEMENT, a job queue named SPEEDY, and you've attached SPEEDY into BASEMENT like this: ADDJOBQE SBSD(BASEMENT) JOBQ(SPEEDY)
Make up some string for routing data, say 'HELLO'. Enter this string into the routing data in job descriptions. Also enter a job queue name in the request data in the job descriptions, like this: CHGJOBD JOBD(ROOKIES) RTGDTA('HELLO') RQSDTA('SPEEDY')Attach the job descriptions to user profiles like this: CHGUSRPRF USRPRF(GENE) JOBD(ROOKIES)
Create the following CL program, I'll call it TOP001CL: PGM DCL VAR(&JOBQUEUE) TYPE(*CHAR) LEN(10) RCVMSG PGMQ(*EXT) MSGTYPE(*RQS) MSG(&JOBQUEUE) TFRJOB JOBQ(&JOBQUEUE) ENDPGM
Add a new routing entry to the interactive subsystem of sign-on screens (e.g. QINTER) like this: ADDRTGE SBSD(QINTER) SEQNBR(100) CMPVAL('HELLO') PGM(TOP001CL)Now when a user signs on, TOP001CL runs first. It retrieves the job queue name from the job description's request data, and then transfers the job to the appropriate subsystem. In the example above, when user GENE signs on, his job runs briefly in QINTER, and then transfers to BASEMENT. Later you can maintain the target subsystems of users through either CHGUSRPRF JOBD(###), or CHGJOBD RQSDTA(###).