Hi James
One obvious approach would use 2 CKRCARLA steps, first step writes the PROFILE(RETAIN) and the ACL(RESOLVE) values for 2 profiles into 1 flat file. The 2nd step would read the flat file, parse out the fields for PROFILE, USERID and ACCESS, and uses SUMMARY to identify single user IDs (that do not occur on both profiles).
The other approach relies on newlist type=trusted to convert all permits/connects into the effective user IDs. But first you have to tell trusted that 2 profiles are of interest and should be reported. This is achieved with the SIMULATE CLASS=cicsclass command, and must reference the profile through a resource that is protected by the profile. Note, SIMULATE ... RESOURCE= must have an exact case match (type your resource in all uppercase), same as the senstype value.
suppress auto_resource
defsens SiteTransac access=read concern="Comparison" prio=9 class=tcicstrn
simulate class=tcicstrn senstype=SiteTransac resource=CICSPROD.CEMT
simulate class=tcicstrn senstype=SiteTransac resource=CICSTEST.CEMT
newlist type=trusted
define profile1(8,access_nz,"CICSPROD") max(access) where resource=CICSPROD.CEMT
define profile2(8,access_nz,"CICSTEST") max(access) where resource=CICSTEST.CEMT
select class=tcicstrn
summary userid profile1 profile2 count(<2,nd)
The summary command uses count(<2) threshold to suppress user IDs that have 2 matching profiles. It shows the access value for the matching profile, using access_nz to print missing access values with a blank, instead of NONE.
I have not tested this, so cannot be sure it works. Let me know the result.
------------------------------
Rob van Hoboken
------------------------------