When there are site secured code table entries and an application user is assigned to a role with All Records or All Sites, that user will be able to see all of the code table entries available and not just the ones for the site they are assigned on their application user
This is the correct functionality of the described system configuration.
Blackbaud CRM version 4.0 Service Pack 5 addressed a long-standing bug where the system was incorrectly filtering code table entries based on the site assigned to the application user. The correct functionality is for available code table entries to be an aggregate of all sites assigned to the user via System roles. If a user is assigned any such roles that include All Sites or Records, they should be able to see the code table entries for all sites. For more information on the bug that was addressed, please review 94905.
Steps to Duplicate
1. Navigate to Administration > Code tables and select the 'Credit type' code table.
2. On the Credit Type Table Entries page notice that for example 'Visa' is assigned to Site A.
3. Navigate to Administration > Security > Application user search.
4. Go to the Application user record for the user who is experiencing the issue and notice that the user has a different site, Site B assigned.
5. Under Tasks select 'Run as domain name\username' for that user
6. Once the new tab is opened, navigate to Administration > Batch > Batch entry.
7. Edit Batch in question
8. Move to the 'Card type' field and click the drop-down to show the list and note the available types (more specifically, note that "Visa" is not showing in the drop-down). Close the batch.
9. Go back to the tab of the original user and again open the Application user record for the user in question.
10. Add a system role to the user and keep the Site security set to 'All records'.
11. Once again go back to the tab where you are running as that user and again open the batch in question.
12. Move to the 'Card type' field and click the drop-down to show the list and note the type 'Visa' is now displayed.