Interface utilisateur dépendant des rôles utilisateurs

Généralités

On peut dans le système R/3 attribuer un “rôle” à chaque utilisateur. Un rôle est un ensemble d’activités et d’autorisations. Plus de 1000 rôles individuels sont prédéfinis par SAP et sont inclus dans le système standard, par ex.:  

  • SAP_FI_AP_DISPLAY_MASTER_DATA Afficher données de base fournisseurs
  • SAP_FI_AP_CHANGE_LINE_ITEMS Modifier postes individuels fournisseurs
  • SAP_LO_MD_CUSTOMER_MAINTAIN Gestion fiche client
  • SAP_SD_FT_ADMINISTRATION Commerce extérieur – Administration

On peut constituer des rôles composites à partir des rôles individuels qui définissent des descriptions de poste précises. Chaque utilisateurs peut avoir plusieurs rôles (rôles composites ou rôles individuels). La définition de rôles permet de mettre à disposition un menu et des autorisations adaptés à l’utilisateur lors de sa connexion au système.  

GuiXT vous permet, en plus, de différencier en fonction des rôles l’aspect et la navigation pour chaque transaction.

Selon le cas où un rôle a été ou pas attribué à l’utilisateur, vous pouvez par exemple:

  • offrir des boutons poussoirs supplémentaires pour faciliter l’accès à des fonctions supplémentaires
  • offrir uniquement un choix de valeurs sous forme de boutons radios
  • effacer un champ de saisie ou en interdire la saisie de données
  • afficher des textes d’aide spécifiques

Attribution de rôles 

SAP standard 

  • menu utilisateur
  • profil d’autorisations
  • miniApps (dans le SAPWorkplace)

avec GuiXT 

  • Layout, navigation, textes, aide,… à l’intérieur de la transaction

 

Toutes les modifications que vous pouvez effectuer à l’aide de GuiXT, peuvent être effectuées en fonction des rôles

 

Procédures

GuiXT offre les modèles suivants pour la conception d’interfaces utilisateur en fonction des rôles:

  1. Interroger si l’utilisateur possède un rôle donné: if Q[Role=xxx] 
  2. Interroger si l’utilisateur possède un profil d’autorisations donné: if Q[Profile=xxx
  3. Attribution de répertoires de scriptes en fonction des rôles

L’interrogation d’un rôle est la meilleure solution car elle offre une possibilité très flexible et est basée sur la notion centrale de rôle de la personnalisation du système R/3. Lors de l’utilisation de if Q[Role=xxx] les rôles individuels sont automatiquement intégrés aux rôles composites. 
Pour des raisons de performance, les noms des rôles seront stockés localement lors du premier accès. Les autorisations pour l’utilisateur RFC (GuiXT profile) sont nécessaires pour l’accès aux rôles utilisateurs et aux profiles; reportez-vous à RFC (Remote Function Call).

L’interrogation du profil d’autorisations d’un utilisateur est utile dans les systèmes SAP antérieures à la version 4.5 étant donné que les rôles n’existent pas encore dans ces versions.

Il est possible d’attribuer un répertoire de scriptes propre dans le Catalogue utilisateurs en utilisant Role=xxx ou Profile=xxx pour attribuer des répertoires à un groupe d’utilisateurs (tous possesseurs du rôle ou du profil d’autorisations). Etant donné qu’un utilisateur peut être possesseur simultanément d’autres rôles, il faut faire attention et éventuellement combiner les procédures 1 et 2.

 

Exemple 1

Un groupe spécifique d’utilisateurs est responsable pour la saisie de “commande client standard”. Seuls deux secteurs d’activité sont possibles. Les autres champs de l’écran initial ont des valeurs fixes. Vous voulez définir pour ce groupe d’utilisateurs un écran initial de saisie simple.

Ecran standard de saisie VA01:

Sap Guixt  Interface utilisateur dépendant des rôles utilisateurs /uploads/sub/sap-guixt/fr/source/images/roles.5.gif" width="480" height="316">

Les utilisateurs de “commande client standard” obtiendront l’écran suivant: 

Sap Guixt roles.6 Interface utilisateur dépendant des rôles utilisateurs

Scripte GuiXT correspondant:

if Q[Role=SD_CDE_CLIENT_STD]
   Title “Commande client standard”

   Box (2,2) (5,40) “Secteur d’activité”
   Radiobutton (3,8) “Voiture, moto, camion” [Secteur d'activité] “10″
   Radiobutton (4,8) “Ordinateurs, calculettes” [Secteur d'activité] “07″

   Set F[Type commande client] “ZAD5″
   Set F[Organis. commerciale] “1000″
   Set F[Canal distribution] “16″
   Set F[Agence commerciale] “”
   Set F[Groupe de vendeurs] “”

   del G[Données d'organisation]
   del F[Type commande client] -triple
endif

 

Exemple 2

Dans l’écran d’affichage des données de base clients vous voulez offrir un bouton poussoir supplémentaire pour afficher le comportement de paiement du client. Ce bouton poussoir ne doit apparaître que si l’utilisateur est possesseur du rôle SAP_FI_AR_DISPLAY_CUST_INFO ist.

Sap Guixt roles.1 Interface utilisateur dépendant des rôles utilisateurs

L’écran “Habitudes paiement” sera affiché directement lorsque l’utilisateur clique sur le bouton “Habitudes paiement”:

Sap Guixt roles.2 Interface utilisateur dépendant des rôles utilisateurs

Ce résultat est obtenu en utilisant les scriptes suivants:

// GuiXT-Skript sapmf02d.f0700.txt
if Q[Role=SAP_FI_AR_DISPLAY_CREDIT_INFO]
  Pushbutton (Toolbar) “Habitudes paiement”  “=FD33″  “F9″   “Process=HabitudePaiement.txt”
endif

// InputScript HabitudesPaiement.txt
Screen sapmf02c.0100 
  Set F[Dom.contrôle crédit] “1000″
    Set C[Habitudes paiement]  “X”
  Enter

Dans le système standard SAP l’utilisateur devra faire les pas supplémentaires suivants qui ne sont pas nécessaires avec GuiXT+InputAssistant:

Sap Guixt roles.3 Interface utilisateur dépendant des rôles utilisateurs

Chercher la fonction “Gestion des crédits” dans le menu (Saut, Autres fonctions ou Environnement)

Sap Guixt roles.4 Interface utilisateur dépendant des rôles utilisateurs

Sélectionner le bouton “Habitudes paiement”, appuyer sur la touche Retour.

 

 
Pour terminer, une petite remarque historique: lorsque Dietmar Hopp et Hasso Plattner ont réalisé, dans les débuts de SAP, un objet pour la commande flexible de l’interface homme-machine, ils l’ont nommé “Dynpro”,  programme dynamique, vu que c’était le lien dynamique entre variantes de l’interface et la logique d’application. La conception de l’interface utilisateur en fonction des rôles avec GuiXT est donc la suite logique de ce formidable concept – le Dynpro devient donc encore plus dynamique malgré ses 30 ans.

Interface utilisateur dépendant des rôles utilisateurs