Hi,
das hast Du wohl noch eine Notes Release 2 Datenbanken. Da gab es keine Rollen, sondern 5 Privileges (Berechtigungen). Da das keine Rollen sind, kann man die auch nicht mit DeleteRole löschen.
Aus der Knowledge base:
Roles Property of NotesACLEntry Class Also Returns Privileges; "Error 4210: Role Name Not Found..."
Problem:
You have a database that was designed originally in Notes Release 2x, and the database still contains Privileges in the Access Control List (ACL).
Using LotusScript, you find that the Roles property of the NotesACLEntry class (NotesACLEntry.Roles) returns both Privileges and Roles for the ACL entries in the database. When, however, you attempt to use a Privilege for the name$ parameter in any of the methods in the NotesACLEntry class (Disable, Enable, IsRoleEnabled, or Remove), the following error occurs:
"Error 4210: Role name (role) not found in line"
Example:
The following sample code illustrates this issue:
Set acl = acl.GetEntry("entry name")
Forall r in aclentry.Roles
Msgbox "Available Role" & r 'This line returns both roles and privileges. (Privilege names include parentheses.)
If aclentry.IsRoleEnabled(r) Then 'This line results in the error: "Error 4210: Role name (role) not found in line"
Solution:
This issue was reported to Lotus Quality Engineering, and it was determined that LotusScript is functioning as designed. The documentation, however, needs to be updated to point out the limitations on manipulating privileges using LotusScript.
To fully address this issue, migrate the remaining privileges to roles, and you can then manipulate them using LotusScript.
Supporting Information:
Roles were introduced in Notes Release 3. For reasons of backward compatibility, however, privileges continue to be recognized. They are displayed enclosed in parentheses (rather than brackets) in the Roles dialog of the Access Control List in databases.
Andreas