wenn ich dem ABAP Befehl authority-check einen '*' als Wert für das Objekt übergebe, wird dann geschaut ob auch der '*' drin steht oder ob irgendein Objektwert drin steht.
Ich habe hier leider keine Möglichkeit um das durch testen herauszubekommen.
ich meine, es wird dann auf "*" geprüft. Wenn du das Feld von der Prüfung aussen vor lassen möchtest, weil der Wert z.B. noch nicht bekannt ist, dann kannst du als Feldwert "DUMMY" mitgeben oder so ähnlich (Doku...)
Generell funktioniert die Berechtigungsprüfung aber nicht so, dass man abfragt, was für Berechtigungen der USer alle hat, sondern nur, ob er für das gerade bearbeitete Objekt die entsprechende Berechtigung hat.
Man würde als nicht abfragen, "darf der Anwender für WERKS 1000 alle Bewegungsarten buchen?", sondern: "Darf der Anwender die Buchung mit Bew.Art 301 für Werk 1000 durchführen'.
Im Besonderen muss man beachten, dass der AUTHORITY_CHECK eine Zeichenkettenprüfung durchführt und dazu sich die Werte aus den Berechtigungen holt.
Beispiel:
Im FI gab/gibt es eine Stelle, wo der Programmierer für den Wert Aktivität (ACTVT) den (Zahlen)Wert 3 und nicht die Zeichenkette '03' übergibt. Die 3 wird intern zur Zeichenkette '3 ' umgewandelt.
Das hat zur Folge, dass ein Anwender mit Berechtigungs-Aktivität '03' eine Fehlermeldung bekommt...
Gruß
Ereglam
May the Force be with your code || .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .