habe da mal eine Verständnisfrage. Vor kurzem habe ich ein Z-Programm erstellt.
Im Programm selbst habe ich dann folgendes:
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'MM03'
ID 'TCD' FIELD 'VK13'.
Nun tritt folgendes ein. Wenn der Benutzer in einer Rolle Z-Programm, MM03 und VK13 hat, darf
er die Transaktion ausführen.
Wenn aber in dieser einen Rolle die Z-Transaktion ist und MM03 und VK13 in anderen Rollen
zugeordnet, kann der User das Progreamm nicht ausführen. Könnt ihr mir das mal bitte erklären?
Das Verhalten kann ich jetzt nicht erklären, aber zumindest den Fehler aufzeigen:
Du darfst nicht zweimal dasselbe Feld in einem einzigen AUTHORITY-CHECK prüfen.
Richtig:
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'MM03'.
* ...
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'VK13'.
*...
Je nachdem wie du es dann brauchst musst du beiden Ergebnisse dann selbst verknüpfen. Also ob der Benutzer BEIDE Berechtigungen braucht, nur zumindest eine oder genau eine.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.