UrmPermElementGetRaw
Mit dieser Anweisung können die eigenen Rechte überprüft werden. In (int1) wird der Elementtyp und in (alpha2) der Name des Elementes (siehe Benutzerpflege) übergeben. Als Rückgabewert kommt ein bigint zurück, das alle Berechtigungsflags als Kombination der folgenden Konstanten enthält:
_UrmPermRead: Berechtigung zum Lesen_UrmPermCreate: Berechtigung zum Erzeugen_UrmPermModify: Berechtigung zum Ändern_UrmPermModifyOwner: Berechtigung zum Ändern bei Objektbesitz_UrmPermDelete: Berechtigung zum Löschen_UrmPermDeleteOwner: Berechtigung zum Löschen bei Objektbesitz_UrmPermExecute: Berechtigung zum Ausführen_UrmPermConfig: Berechtigung zur Änderung der Datenstruktur_UrmPermElmGroupRead: Berechtigung Elementgruppen lesen_UrmPermElmGroupInsert: Berechtigung Element zur Gruppe hinzufügen_UrmPermElmGroupDelete: Berechtigung Element aus Gruppe löschen_UrmPermElmGroupRead: Berechtigung Benutzer zu Benutzergruppe hinzufügen_UrmPermElmGroupInsert: Berechtigung Benutzer aus Benutzergruppe entfernen
Der Programmierer kann eigene Rechte definieren. Dazu stehen ihm die _UrmPermUser-Konstanten zur Verfügung.
Das Ergebnis kann mit den Konstanten verglichen werden und so festgestellt werden, welche Rechte vorhanden sind.
Ist das übergebene Element nicht vorhanden, wird 0 zurück gegeben.
Beispiel
// Darf ich eine Prozedur ausführen?
if (UrmPermElementGetRaw(_UrmTypeElmProcedure, 'LibDbServices') & _UrmPermExecute > 0\b)
{
LibDbServices:RecReorg();
...
}
// Benutzerdefiniertes Element abfragen
tRights # _UrmPermRead | _UrmPermModify;
if (UrmPermElementGetRaw(_UrmTypeElmCustom, 'ModuleCustomer') & tRights = tRights)
{
// Kundenmodul aufrufen
...
}
Mögliche Laufzeitfehler:
_ErrStringOverflow: Es wurde ein zu langer (mehr als80Zeichen) Elementname angegeben.