Cette fonctionnalité permet à un utilisateur Automate Query de créer une logique de vérification d’autorisation personnalisée. La logique personnalisée décide si l'accès à une table est octroyé ou non à l'utilisateur SAP connecté.
La vérification d'autorisation personnalisée s'effectue en plus des entrées de la table de sécurité qui ont été définies.
Étapes pour créer un programme personnalisé de contrôle d'autorisation
Commencez par créer un groupe de fonctions personnalisées, créez le module de fonction pour la vérification personnalisée, puis activez la vérification personnalisée.
Création d’un groupe de fonctions personnalisé Z_Automate_CHK_ACSS_FUGR
- Saisissez le code de transaction SE80.
- Dans la liste déroulante, cliquez sur Groupe de fonctions.
- Entrez Z_Automate_CHK_ACSS_FUGR, puis cliquez sur le bouton Afficher.
- Quand vous êtes invité à créer l'objet, cliquez sur Oui.
- Entrez Automate Query Cust Auth chk func grp dans la case Texte court.
- Dans la case Package, sélectionnez le package pour développements Z.
- Créez ou sélectionnez une demande de transport.
Création du module de fonction pour le contrôle personnalisé
- Sélectionnez le nouveau groupe de fonctions et cliquez à droite dessus, puis cliquez sur Créer > Module de fonction.
- Dans la case Module de fonction, entrez Z_Automate_CHECK_ACCESS.
- Dans la case Texte court, entrez Z Automate Query Custom Auth Object.
Le nom et les paramètres doivent être exactement identiques à ceux de la capture d'écran ci-dessus.
- Cliquez sur Enregistrer.
- Cliquez sur l'onglet Importation, et entrez les valeurs indiquées ci-dessous :
- Cliquez sur l'onglet Exportation, et entrez les valeurs indiquées ci-dessous :
- Cliquez sur l'onglet Exceptions, et entrez les valeurs indiquées ci-dessous :
- Enregistrez, vérifiez et activez le module de fonctions.
Gérer l'indicateur pour activer le contrôle d'autorisation personnalisé
- Entrez le code de transaction SM30.
- Dans la case Table/Vue, entrez /WINSHTLQ/QREPRM, puis cliquez sur Gérer.
- Cliquez sur Nouveau, et entrez les valeurs indiquées ci-dessous :
- Cliquez sur Enregistrer, puis sur Quitter.
Exemple de code
Ce code bloque l’accès à la table MACKV pour tous les utilisateurs de Automate Query.
FUNCTION Z_Automate_CHECK_ACCESS.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(TABLE) TYPE DD02L-TABNAME
*" EXPORTING
*" VALUE(ALLOWED) TYPE BOOLEAN
*" EXCEPTIONS
*" ERROR
*"----------------------------------------------------------------------
*Return access allowed ('X'=True or '-'=False) for current user
ALLOWED = ''. "Initialize
IF TABLE = 'MACKV'. "For any user
ALLOWED = '-'.
ELSE.
ALLOWED = 'X'.
ENDIF.
ENDFUNCTION.
*"----------------------------------------------------------------------
Vous pouvez aussi ajouter des appels de contrôle d'autorité pour vos propres objets d'autorisation dans les conditions pour l'utilisateur actif (champ système SY-UNAME).