Verifying if a business rule is limiting record that appears on a related list Description<!-- div.margin{ padding: 10px 40px 40px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internalTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:0; } .sp td{ border-bottom: 1px solid; border-right: 1px solid; border-color:#E0E0E0; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .sphr td{ border-right: 1px solid; border-bottom: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .title { color: #D1232B; font-weight:; font-size:25px; } .hd1{ color: #D1232B; font-weight:; font-size:18px; } .hd2{ color: #646464; font-weight:bold; font-size:16px; text-decoration: underline; } .hd3{ color: #7a7a7a; font-weight:; font-size:16px; text-decoration:; } .hd4{ color: #000000; font-weight:bold; font-size:14px; text-decoration:; } --> A business rule can be set to run before or after the database action has occurred. In the case of a query, the business rule runs before the database operation, so that the data returned to the user is appropriate to his system privileges (user roles). ResolutionUsing the Associated User List related list in the Incident form as an example, when logged in as a system administrator, the related list shows 100 records. When logged in as a user, the related list contains 15 records that cannot be seen due to security constrains (see screenshots below). This means that the before business rule reduced the number of records of the related list to 15, then ACLs blocked the list even further. To troubleshoot the issue, we must first determine if this is due to a before business rule. Notes: To create or edit ACL rules, you must elevate privileges to the security_admin role.Impersonation can simplify debugging ACL rules. First enable ACL debugging, then impersonate another user to see what ACL rules the user passes and fails. To determine if the issue is due to a before business rule: Navigate to System Diagnostics > Debug Business Rule (Details) to turn on debugging for business rule. Reproduce the issue as the affected user. Review the Debug Output and search for queries against the table used to build the related list. In this example, search for the User table, the Associated User List related list is made of records in the [sys_user] table. Notice there is a before business rule running on user called 'user query'. If the user has the admin role, click the ‘user query’ link to navigate to the user query business rule record. Log in as a system administrator. Navigate to System Security > Stop Debugging to disable all debugging processes. Navigate to System Definition > Business Rules. Search for and select the business rule that executes the before business rule. In this example, search for and select the ‘user query’ business rule identified in step 3. In the Condition field, notice it has a condition that runs when the user does not have the admin role and adds an ActiveQuery to the result. Note: The current.addActiveQuery(); is added to a script to when only active items should appear in a query. That is why the user sees a significantly smaller number of user records in the Associated User List related list. The user can only see active user records, as for a system administrator can see all user records.