Lors de la création d’un PRA (Privileged Routine Application ; qui d’ailleurs n’est pas pertinent uniquement pour les routines mais aussi pour les classes/méthodes), il est important de s’assurer d’inclure un new $ROLES, avant d’appeler AddRoles(). Par exemple:
New $ROLES
set status=$System. Security.AddRoles(« MyPrivilegedRoutineApplication »)
De cette façon, vous vous assurez que les rôles ajoutés (élevés) « s’évaporent » pour l’utilisateur exécutant ce code, une fois que l’utilisateur est hors du champ d’application de cette routine / méthode.
[Merci @Andreas Dieckow d’avoir validé cela]