This error message means that the user does not have the authority to run a particular function. If this is the result of a CICS transaction, it is most likely due to the user not being able to run a program that was specified in an application-defined member. It usually will have one of these causes:
- The user does not have access to run any programs in the system specified in the member;
- The user has access to run PROD versions of programs and panels in the system specified, but the member is trying to run a non-PROD version;
- The user has access to run non-PROD versions of programs, but the member is trying to run a PROD version.
These steps will help you identify the various settings involved, and will help correct the piece causing the error.
First, you need to see what member is being run when the client issues that XXXX transaction. To do this, go into CA Ideal, and issue the D PCT
command, followed by the F /xxxx/
command for that transaction.. You should see an entry there for the desired transaction -- on the right-hand side of that line, you should see a user.member
that is executed for that transaction. Review that member to see what commands are being processed, and in most cases, there is a RUN command causing the failure. Note if the member says RUN pgmname
or it says RUN pgmname V LAST
. If there is no version on the RUN command, issue the command D SES OPT
and then F /VERSION/
-- this will show you the default version used if none is specified.
Now, if the user is supposed to have access to run the test version programs (using v LAST or other explicit versions), then you need to check their user profile. Issue the command D USER uuuuuuu V PROD
to see what they have defined at the bottom for the desired system. It is possible that they have only READ and RUN-PROD (this seems to be a common "production" user setting). Normally, you need UPDATE access to run test version programs, unless this has been changed in your configuration (to verify this, you can issue the D ATZ command, then F /REFRESH/ and review the RUN... functions for the access level needed).
To summarize this, please do the following.
1. => D PCT
- then F /xxxx/
to get the uuu.mmmmmm
commands member that is executed.
2. => D MEM mmmmmm USR uuu
to get the version of the program that is being run.
3.A If the desired program version is PROD
If it is not specified in the member, Edit the member and change the RUN command to use PROD.
If LAST is specified, Edit the member and change the RUN command to use PROD.
3. B If the desired program version is LAST
or is a specific test version
, like 001:
If the member does not specify a version, Edit the member and add the desired version.
=> D USR uuuuuuu V PROD
to see the access the user has in the desired system.
If UPDATE is not selected. Dup user to next version, add UPDATE, and MARK * PROD
4. If the member has no version specified, and PROD should be the default in these cases:
=> D SES OPT,
then F /VERSION/
to see the current setting, then
=> SET SITE VERSION PROD