When issuing the WHOHAS command the resource shows a different value than the list of the acid.
For example, if you issue TSS WHOHAS UID(60) and it returns that HANK1 has UID(60):
UID = 0000000060 OWNER(HANK1)
Then when you list HANK1 it shows HANK1 as having UID(724):
UID = 0000000724
Release: TOPSEC00200-15-Top Secret-Security
In order to correct the broken pointer you must give the acid what the WHOHAS command thinks it has. In this scenario that would be UID(60).
First remove the UID showing in the list command:
TSS REMOVE(HANK1) UID(724)
Then add the UID that the WHOHAS command is showing:
TSS ADD(HANK1) UID(60)
List the acid to make sure it shows UID(60).
Next, remove the incorrect UID(60):
TSS REMOVE(HANK1) UID(60)
Lastly, add back the correct UID(724):
TSS ADD(HANK1) UID(724)
List the acid and make sure it shows the correct UID.
Issue the WHOHAS command to verify that the pointers are now correct:
TSS WHOHAS UID(724)
UID = 0000000724 OWNER(HANK1)
TSS WHOHAS UID(60)
TSS0318E RESOURCE NOT FOUND IN SECURITY FILE
TSS0301I WHOHAS FUNCTION FAILED, RETURN CODE = 8