Scénario de test & Cas d'usage
Management of access rights and data security.
Discover all actions of accessControlCreate a financial ledger table.
| 1 | |
| 2 | DATA casuser.ledger; |
| 3 | INPUT acct_id balance; |
| 4 | DATALINES; |
| 5 | 101 5000; |
| 6 | |
| 7 | RUN; |
| 8 |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.startTransaction; |
| 3 | ACCESSCONTROL.checkOutObject / uri="cas/caslibs/casuser/tables/ledger"; |
| 4 | |
| 5 | /* Incorrect usage: attempting checkInAllObjects inside a transaction */ |
| 6 | ACCESSCONTROL.checkInAllObjects; |
| 7 | |
| 8 | /* Verify lock persists because transaction is active */ |
| 9 | d = ACCESSCONTROL.whatCheckoutsExist; |
| 10 | PRINT d; |
| 11 | RUN; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.commitTransaction; |
| 3 | ACCESSCONTROL.whatCheckoutsExist; |
| 4 | RUN; |
In Step 1, despite calling `checkInAllObjects`, the `whatCheckoutsExist` check MUST still show the 'ledger' table as checked out. The action should effectively do nothing or warn when a transaction is active.