Hallo,
zentraler Angelpunkt ist die Rolle. Zur Rolle gehören User (nämlich die, denen sie zugeordnet wurde), ein Profil (da sind die Berechtigungen drin) und ein Menü.
Bei der Erklärung mit S_TCODE etc. bleibt es. Ich glaube, Deine Frage ist, ob man für eine Transaktion berechtigt sein kann, die nicht im Menü vorhanden ist.
Das geht. Beispiel eigener Namensraum für Transaktionen z.B. /MEYER. Wenn Du in der Rolle bei S_TCODE stehen hast /MEYER* kannst Du alle Transaktionen aufrufen, die damit beginnen.
Es kann durchaus sein, dass es welche gibt, die nicht im Menü sind: Veraltete selbstgeschriebene Transaktionen oder solche die nur einmalig gebraucht wurden (Datenmigrationen, Updates von Tabellen). Bei uns haben die Last Level Supporter so ein Konstrukt. Sie haben für den eigenen Namensraum einen *, aber nicht alle alten Transaktionen im Menü.
Umgekehrt geht es auch: Transaktion im Menü, aber S_TCODE (oder mehr) fehlt. Dann bekommst Du die Meldung: Sie haben keine Berechtigung für Transaktion XYZ.
Daher sollte man bei auch immer schön alle Rollen testen, ob die so funktionieren wie sie sollen.