Rôles et autorisations SAP

Posté dans : SAP Général 1
Gestion des autorisations
Gestion des autorisations

SAP étant un unique logiciel exploité par de nombreux collaborateurs d’une même société, la gestion des rôles et autorisations SAP est primordiale pour une utilisation saine et efficace.

En fonction du département dans lequel l’utilisateur travaille, ou le niveau hiérarchique où il se situe, les rôles et autorisations de ce dernier seront différents, mais surtout adaptés à ses tâches quotidiennes.

Dans cet article, nous allons voir ensemble ce qu’est un rôle et l’accès aux fonctionnalités qu’il permet/ne permet pas, comment le gérer et également comment l’attribuer à un utilisateur. Puis, nous développerons ensemble comment analyser et corriger les problèmes d’autorisations des utilisateurs.

Qu’est ce qu’un rôle SAP ?

Pour commencer simplement, un rôle SAP permet de définir les autorisations d’un ou plusieurs usagers.

De plus, un rôle SAP peut être identifié par trois axes:

  • Une ou plusieurs transactions fonctionnelles
  • Un ou plusieurs objets d’autorisations
  • Ou l’association des deux

La transaction fonctionnelle SAP permet d’avoir accès au lancement d’une fonctionnalité, qui peut être standard ou spécifique.

L’objet d’autorisation lui, permet d’accéder à certaines données particulières bien précises. Prenons l’exemple d’une liste d’ordres de fabrication de deux usines appartenant à la même entreprise. L’objet d’autorisation pourrait par exemple restreindre l’accès aux ordres de fabrication d’une seule usine.

De plus, SAP distingue deux types de rôles différents: le rôle individuel et le rôle composite.

Rôle individuel

Le rôle individuel correspond au premier niveau, à la base des rôles. Il permet de collecter au sein de ce dernier plusieurs transactions fonctionnelles et/ou des objets d’autorisations.

Rôle composite

Le rôle composite lui, représente simplement un rôle regroupant plusieurs rôles individuels. La gestion des autorisations est, par conséquent, plus simple et plus rapide.

Chacun d’entre eux possède ses avantages et ses inconvénients. En fonction de la situation, il sera dans certains cas préférable d’utiliser un rôle individuel, dans d’autres un rôle composite.

Note: une fois le rôle créé, il n’y a plus possibilité de convertir un rôle individuel en un rôle composite, ou vice-versa. Il sera néanmoins toujours possible de modifier son contenu.

Rôles et autorisations SAP – Affectation des rôles

Une fois les rôles définis, il est nécessaire de les attribuer aux utilisateurs en fonction de leurs profiles. Chaque usager peut avoir un ou plusieurs rôles (rôle individuel ou rôle composite).

Ceci se passe au niveau de la fiche utilisateur. En effet, pour affecter des rôles, utilisez la transaction fonctionnelle SU01:

Tcode SU01
Transaction SU01

À savoir qu’il est également possible d’affecter des rôles à un utilisateur de façon temporaire en indiquant une date de début et de fin de validité.

Note: dans la grande majorité des entreprises, un processus pour l’ajout de rôles SAP est prévu. Veuillez par conséquent respecter attentivement le processus (s’il en existe un) mis en place par la société.

De plus, il est également possible d’assigner des rôles en masse à plusieurs utilisateurs via des outils standards comme par exemple LSMW, SHDB, ECATT etc…

Rôles et autorisations SAP – Gestion des rôles et autorisations SAP

En effet, la gestion des rôles et autorisations SAP étant une partie critique des processus d’une entreprise, elle est généralement gérée par un administrateur dédié.

La gestion des rôles individuels se fait via la transaction fonctionnelle PFCG. De plus, elle peut se scinder en trois parties principales (Menu, Authorizations et User):

Au sein de l’onglet « Menu », on retrouve la liste des transactions que rend accessible le rôle. Il est également possible de gérer l’arborescence avec la création de dossiers, sous dossiers…

Dans l’onglet « Authorizations », on retrouve les objets d’autorisations associés ainsi que leurs valeurs. Les valeurs des objets d’autorisations configurés seront par conséquent accessible via le rôle en question.

Finalement, le troisième onglet important est l’onglet « User ». C’est ici que l’administrateur peut attribuer le rôle à certains utilisateurs. Cette possibilité vient s’ajouter à celle vue précédemment (attribution du rôle via la fonctionnalité user management SU01).

La gestion des rôles composites est quelque peu différente étant donné son principal objectif : regrouper des rôles individuels existants.

Le transport des rôles

Une fois les rôles créées, il faut les rendre actif. Il est important de noter que les rôles se transportent d’un système à l’autre. Par conséquent, ces derniers sont tout d’abord créés en système de développement, puis transportés en système de test et enfin, en système de production.

Le transport des rôles se fait également via la transaction fonctionnelle PFCG. Deux possibilités s’offre alors à vous, transporter rôle par rôle ou effectuer un transport en masse de plusieurs rôles. Une fois la fonctionnalité de transport exécutée, la request est créée et pourra ainsi être transportée, comme dans le cadre d’un customizing « classique ».

Les erreurs de rôles et autorisations SAP

Nombreux sont les utilisateurs ayant déjà fait face à ce message:

Erreur d'autorisation transaction
Erreur d’autorisation transaction

En effet, ce message, plutôt explicite, indique que l’utilisateur ne dispose pas du rôle nécessaire afin d’accéder à la fonctionnalité proposée par la transaction fonctionnelle entrée.

Ou encore celui-ci:

Erreur objet d'autorisation
Erreur objet d’autorisation

En outre, ce message signifie que l’opération effectuée au sein même d’une transaction n’est pas autorisée pour l’utilisateur concerné. Prenons le cas de l’entreprise X, comprenant deux sites de production S1 et S2. L’employé du service achat du site de production S1 peut accéder à la transaction fonctionnelle de la liste des commandes, mais peut également être restreint à celles de S1 uniquement.

Dans les deux cas, il s’agit d’une erreur de rôles et/ou d’autorisations SAP. Il est possible que ce message bloquant soit volontaire ou non. S’il est volontaire, c’est que la fonction ou le poste de l’utilisateur ne permet pas d’accéder à la fonctionnalité souhaitée. Dans le cas contraire, il peut s’agir d’une erreur de l’administrateur SAP lors de l’attribution des rôles, ou par un changement de fonction non pris en compte. En effet, les rôles restent affectés de façon statique à l’utilisateur. Tout changement doit être fait manuellement.

Comment analyser une erreur d’autorisation ?

Dans le cas ou l’utilisateur fait face à un message d’erreur d’autorisation et que cela n’est pas justifié, une analyse s’impose.

Celle-ci vous permettra de comprendre ce qui bloque et ainsi, déterminer avec facilité les rôles et/ou objets d’autorisations manquants.

Par conséquent, dès lors que l’utilisateur bloque sur le message d’erreur, ce dernier peut lancer la transaction fonctionnelle SU53: Afficher les données d’autorisations. Elle peut ressembler à cela dans le cadre d’une erreur d’autorisation:

Tcode SU53
Transaction SU53

Il est ainsi explicitement indiqué quelles autorisations sont manquantes. L’administrateur SAP est alors en mesure d’utiliser différents outils (par exemple, transaction fonctionnelle SUIM) afin de déterminer le ou les rôles manquants qui comprennent ces dernières.

Comment contourner une erreur d’autorisation ?

Si vous disposez des habilitations assignées aux consultants SAP, alors vous êtes en mesure de contourner une erreur d’autorisation. Ceci est rendu possible via le « debugging ».

La première étape consiste à lancer la transaction fonctionnelle SE37 et exécuter le Function Module AUTH_CHECK_TCODE.

FM AUTH_CHECK_TCODE
Function Module AUTH_CHECK_TCODE

Ensuite, ajoutez un breakpoint au niveau de la ligne « if sy-subrc = 0 »:

Break point SY-SUBRC = 0
Break point SY-SUBRC = 0

Si la variable sy-subrc = 0, dans ce cas, il n’y a pas d’erreur d’autorisation. Si, au contraire, sy-subrc est différent de 0, dans ce cas il y une erreur d’autorisation. Et c’est justement cette condition qui nous intéresse.

Modifiez la valeur de la variable sy-subrc à 0 et exécutez:

Modification variable SY-SUBRC -> valeur à 0
Modification variable SY-SUBRC -> valeur à 0

L’accès à la fonctionnalité est ainsi possible et le contournement du message d’erreur a bien eu lieu. En revanche, cette technique quelque peu « illégale » ne fonctionne que temporairement et n’est pas permanente. À n’utiliser qu’en cas de nécessité urgente.

Vous souhaitez accéder à l’ensemble de notre bibliothèque de formations SAP en illimité ? Testez gratuitement notre plateforme de formation pour une période d’essai de 7 jours.

  1. Kumar
    | Répondre

    It is very useful and helpful and amazing explanation. Could please explain in detail about su53 and stauthtrace

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *