Doch, die Berechtigung musst du für jeden Benutzer einstellen. Das machst du aber nur ein mal pro Benutzer! Lass uns vorstellen dass von drei Benutzern (A, B, C) und zwei Verkaufsorganisationen (1000, 4000) die Rede ist. Benutzer A dürfte alles sehen, B nur VKO1 und C nur VKO2. Als erstes würdest du drei Berechtigungsrollen anlegen. In der ersten Rolle hättest du ACTVT = 03 sowie VKORG = *. in dieser Rolle wird der Benutzer A eingetragen. Benutzer B kommt in die Rolle mit ACTVT = 03 sowie VKORG = 1000, analog verfährst du mit Benutzer C. Wenn du jetzt in deinem selbst geschriebenen Programm Daten aus der VBAK liest und keine Berechtigungsprüfung durchführst, so wird jeder Benutzer alle Datensätze sehen können. Ansonsten musst du für jeden gelesenen Datensatz prüfen, ob der Benutzer dafür die Leseberechtigung hatJetzt gibt es Ausnahmen, welche nicht alles sehen dürfen. Wie realisiere ich denn sowas?
Ich kann ja schlecht jedem Benutzer die Berechtigung manuell geben.
Code: Alles auswählen.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD wa_vbak-vkorg
ID 'VTWEG' FIELD wa_vbak-vtweg
ID 'SPART' FIELD wa_vbak-spart
ID 'ACTVT' FIELD '03'.