Scénario de test & Cas d'usage
Management of access rights and data security.
Discover all actions of accessControlCreation of two sample tables: CLIENTS and TRANSACTIONS.
| 1 | |
| 2 | DATA casuser.clients; |
| 3 | INPUT id name $; |
| 4 | DATALINES; |
| 5 | 1 Alice 2 Bob; |
| 6 | |
| 7 | RUN; |
| 8 | |
| 9 | DATA casuser.transactions; |
| 10 | INPUT id amount; |
| 11 | DATALINES; |
| 12 | 1 100 2 200; |
| 13 | |
| 14 | RUN; |
| 15 |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.checkOutObject / uri="cas/caslibs/casuser/tables/clients"; |
| 3 | ACCESSCONTROL.checkOutObject / uri="cas/caslibs/casuser/tables/transactions"; |
| 4 | ACCESSCONTROL.whatCheckoutsExist; |
| 5 | RUN; |
| 1 | PROC CAS; |
| 2 | /* Simulate metadata update logic here */ |
| 3 | PRINT "Updating metadata..."; |
| 4 | /* Release locks on all objects */ |
| 5 | ACCESSCONTROL.checkInAllObjects; |
| 6 | /* Verify locks are gone */ |
| 7 | ACCESSCONTROL.whatCheckoutsExist; |
| 8 | RUN; |
Initially, `whatCheckoutsExist` should list both tables. After executing `checkInAllObjects`, the final `whatCheckoutsExist` must return an empty list, confirming both tables were successfully released.