Libera todos los objetos que están actualmente desprotegidos (en 'check-out'). Esta acción es útil cuando la sesión del cliente actual no está operando dentro de una transacción explícita.
Para que `checkInAllObjects` tenga un efecto, primero debemos desproteger un objeto (check-out). Usaremos `checkOutObject` en una tabla como ejemplo para preparar el estado necesario.
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | SESSION casauto; |
| 5 | datastep.runCode / code=' |
| 6 | data casuser.dummy; |
| 7 | x=1; |
| 8 | |
| 9 | run; |
| 10 | '; |
| 11 | ACCESSCONTROL.checkOutObject / caslib='casuser' name='dummy' type='table'; |
| 12 | |
| 13 | RUN; |
| 14 | |
| 15 | QUIT; |
| 16 |
Este ejemplo muestra cómo invocar la acción `checkInAllObjects` para liberar todos los objetos que la sesión actual haya desprotegido previamente.
| 1 | PROC CAS; ACCESSCONTROL.checkInAllObjects; RUN; |
Este ejemplo demuestra un ciclo completo: 1. Se desprotege una tabla. 2. Se verifica que el objeto está efectivamente en 'check-out' usando la acción `whatCheckoutsExist`. 3. Finalmente, se liberan todos los objetos con `checkInAllObjects` y se vuelve a verificar que ya no hay objetos desprotegidos.
| 1 | |
| 2 | PROC CAS; |
| 3 | datastep.runCode / code=' |
| 4 | data casuser.dummy_detailed; |
| 5 | x=1; |
| 6 | |
| 7 | run; |
| 8 | '; |
| 9 | ACCESSCONTROL.checkOutObject / caslib='casuser' name='dummy_detailed' type='table'; |
| 10 | PRINT '--- Objeto dummy_detailed desprotegido ---'; |
| 11 | whatCheckoutsExist; |
| 12 | PRINT '--- Verificación de objetos desprotegidos (antes) ---'; |
| 13 | checkInAllObjects; |
| 14 | PRINT '--- Ejecutando checkInAllObjects ---'; |
| 15 | whatCheckoutsExist; |
| 16 | PRINT '--- Verificación de objetos desprotegidos (después) ---'; |
| 17 | |
| 18 | RUN; |
| 19 |
El equipo de marketing actualiza mensualmente las tablas de segmentación de clientes y códigos de productos. Para evitar conflictos de escritura durante la carga, bloquean (chec...
Un administrador de sistemas ejecuta scripts que manipulan docenas de tablas temporales de configuración. Si el script falla a la mitad, muchas tablas pueden quedar en estado 'c...
En procesos automatizados críticos, es común ejecutar comandos de limpieza 'por si acaso' al inicio del flujo. Queremos validar que la acción no falle ni genere errores si se ej...