accessControl

checkInAllObjects

Descripción

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.

proc cas; accessControl.checkInAllObjects; run;
Preparación: Desproteger un Objeto

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.

¡Copiado!
1 
2PROC CAS;
3 
4SESSION casauto;
5datastep.runCode / code='
6data casuser.dummy;
7x=1;
8 
9run;
10';
11ACCESSCONTROL.checkOutObject / caslib='casuser' name='dummy' type='table';
12 
13RUN;
14 
15QUIT;
16 

Ejemplos

Este ejemplo muestra cómo invocar la acción `checkInAllObjects` para liberar todos los objetos que la sesión actual haya desprotegido previamente.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS; ACCESSCONTROL.checkInAllObjects; RUN;
Resultado :
La acción se ejecuta y libera el bloqueo de cualquier objeto que estuviera en 'check-out'. El resultado no mostrará una tabla de datos, pero el log de SAS indicará el éxito de la operación y que los bloqueos han sido eliminados.

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.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3datastep.runCode / code='
4data casuser.dummy_detailed;
5x=1;
6 
7run;
8';
9ACCESSCONTROL.checkOutObject / caslib='casuser' name='dummy_detailed' type='table';
10PRINT '--- Objeto dummy_detailed desprotegido ---';
11whatCheckoutsExist;
12PRINT '--- Verificación de objetos desprotegidos (antes) ---';
13checkInAllObjects;
14PRINT '--- Ejecutando checkInAllObjects ---';
15whatCheckoutsExist;
16PRINT '--- Verificación de objetos desprotegidos (después) ---';
17 
18RUN;
19 
Resultado :
Inicialmente, la salida de `whatCheckoutsExist` mostrará la tabla 'dummy_detailed' como desprotegida. Después de ejecutar `checkInAllObjects`, la segunda llamada a `whatCheckoutsExist` mostrará una tabla vacía, confirmando que el objeto ha sido registrado (check-in) y liberado correctamente.

FAQ

¿Qué hace la acción `checkInAllObjects`?
¿En qué situación se debe utilizar la acción `checkInAllObjects`?
¿Cuál es la sintaxis básica para llamar a esta acción en CASL?
¿Qué relación tiene esta acción con las transacciones?
¿Cuál es el propósito de la acción `checkInAllObjects`?
¿En qué escenario específico se debe usar la acción `checkInAllObjects`?
¿Qué sucede si se intenta usar `checkInAllObjects` dentro de una transacción?