accessControl checkOutObject

Gestion des Verrous Granulaires et Remontée Parent

Scénario de test & Cas d'usage

Contexte Métier

Le département RH souhaite modifier une colonne sensible 'BONUS_ANNUEL' dans la table des employés. Le système tente de verrouiller spécifiquement cette colonne. Cependant, le modèle de données sous-jacent peut ne pas supporter le verrouillage fin (colonne). Le scénario teste la robustesse du mécanisme de repli (fallback) vers le verrouillage de la table parente.
À propos du Set : accessControl

Gestion des droits d'accès et de la sécurité des données.

Découvrir toutes les actions de accessControl
Préparation des Données

Création de la table des employés avec données sensibles.

Copié !
1 
2DATA casuser.RH_EMPLOYES;
3LENGTH EmpID $5 Nom $20 Bonus 8;
4EmpID='E01';
5Nom='Dupont';
6Bonus=5000;
7OUTPUT;
8EmpID='E02';
9Nom='Martin';
10Bonus=4500;
11OUTPUT;
12 
13RUN;
14 

Étapes de réalisation

1
Tentative de verrouillage sur une colonne spécifique avec l'option checkoutParent activée pour gérer l'indisponibilité de l'objet ou du niveau de verrouillage.
Copié !
1PROC CAS; ACCESSCONTROL.checkOutObject STATUS=s /
2 checkoutParent=TRUE,
3 checkOutType="EXCLUSIVE",
4 ObjectSelector={objType="COLUMN", caslib="casuser", TABLE="RH_EMPLOYES", column="BONUS"};
5 PRINT s;
6RUN;
2
Vérification de l'état (Ce test suppose une inspection visuelle ou programmatique des verrous actifs, ici on valide juste que l'action ne plante pas).
Copié !
1 
2PROC CAS;
3ACCESSCONTROL.listCheckedOutObjects RESULT=res / caslib="casuser";
4PRINT res;
5 
6RUN;
7 

Résultat Attendu


L'action doit réussir même si le verrouillage niveau colonne n'est pas nativement supporté isolément. Grâce à `checkoutParent=TRUE`, le système doit avoir verrouillé la table parente 'RH_EMPLOYES' de manière exclusive. La liste des objets verrouillés doit montrer la table (et non juste la colonne).