Dazu muss man folgendes verstehen:

USRPRF(*USER): nur Berechtigung des angemeldeten Benutzers
USRPRF(*OWNER): ZUSÄTZLICH Berechtigung des Eigners

USEADPAUT(*YES): Berechtigung des AUFRUFENDEN Programmes berücksichtigen
USEADPAUT(*NO): NUR Berechtigung des aktiven Programmes verwenden

USEADPAUT ist daher weniger kritisch als USRPRF.
Betrachtet man also mal den Programmstack, werden die Berechtigungen von oben nach unten vererbt. Die Vererbung wird wird dann mittels USEADPAUT(*NO) unterbrochen und ab dieser Aufrufebene neu verwendet.

Man kann also USEADPAUT getrost vergessen, wenn man folgende Richtline einhält:
Ein Programm mit USRPRF(*OWNER) sollte ausschließlich für spezielle Aufgaben verwendet werden und selber wiederum keine anderen (ausser absolut notwendigen) Anwendungsprogramme (insbesonders Dialoge) aufrufen.

Beachte auch, dass bei keinem CRTxxxPGM der Parameter USEADPAUT vorhanden ist sondern nur der Parameter USRPRF !