Tema anterior: Reglas de atributos de usuario global explícitasTema siguiente: Rendimiento de roles de aprovisionamiento


Funciones de reglas integradas

Las funciones de reglas integradas se pueden utilizar en las expresiones de reglas para realizar varias transformaciones en los valores. El formato general de la invocación de una función de regla integrada es la siguiente:

%[*]$$función(arg[,…])[:desplazamiento,longitud]%

donde el asterisco (*) de indicador de valor múltiple y las especificaciones de subcadena de desplazamiento y longitud son nuevamente opcionales.

Las funciones integradas reconocidas son las siguientes:

Función de regla integrada

Descripción

ALLOF

Combina todos los parámetros en un valor con varios valores. Se conserva el orden y se eliminan los duplicados. Por ejemplo, si los atributos de usuario se establecen de acuerdo con lo siguiente:

eTCustomField01: { A, B }
eTCustomField02: { A, C }

La regla:

%*ALLOF(%*UCU01%,%*UCU02%)%

evaluará los tres valores { A, B, C }.

DATE

Evalúa la fecha actual en formato dd/mm/aaaa. La expresión de regla %D% es equivalente a una de las siguientes:

%$$DATE()%
%$$DATE%

FIRSTOF

Devuelve el primer valor de cualquiera de los parámetros. Se utiliza para insertar un valor predeterminado si no se ha establecido ningún atributo:

%$$FIRSTOF(%UCU01%,'unknown')%
%$$FIRSTOF(%LN%,%UCU01%,%U%)%

Si no se establece ninguno de estos valores, el resultado será ningún valor. Para introducir una cadena constante en un argumento, escríbala entre comillas simples.

INDEX

Devuelve un valor de un atributo con varios valores. Index 1 es el primer valor. Si el índice es mayor que el número de valores, el resultado será el valor no establecido (vacío). Estas reglas son equivalentes a las siguientes:

%$$INDEX(%*UCU01%,1)%

%$$FIRSTOF(%*UCU01%)%

NOTEMPTY

Devuelve un solo valor de su único argumento pero notifica un error si no se establece este atributo.

Ejemplo 1:

Se produce un error en la creación o la actualización si el usuario no tiene asignado un atributo UID:

%$$NOTEMPTY(%UID%)%

Ejemplo 2:

Se utiliza el nombre, a menos que no se haya establecido, en cuyo caso se utilizará el apellido. Si no se ha establecido ninguno, se producirá un error en la creación o la actualización.

%$$NOTEMPTY(

%$$FIRSTOF(

%UF%

%UL%

)%

)%

PRIMARYEMAIL

Devuelve la dirección de correo electrónico principal de varias direcciones de correo electrónico. La expresión %UE% es equivalente a lo siguiente:

%$$PRIMARYEMAIL(%UEP%)%

RDNVALUE

Trata el valor de atributo como un nombre destacado de LDAP y extrae el nombre común del objeto del DN:

%*$$RDNVALUE(%#eTRoleDN%)%

Devuelve los nombres comunes de todos los roles de aprovisionamiento asignados. Si el usuario pertenece a dos roles de aprovisionamiento con el mismo nombre común, el nombre de ese rol se lista una vez.

TOLOWER

Convierte el texto en mayúsculas en texto en minúsculas:

%$$TOLOWER(%AC%)%

TOUPPER

Convierte el texto en minúsculas en texto en mayúsculas:

%$$TOUPPER(%U%)%

TRIM

Elimina los caracteres en blanco iniciales o finales de un valor de atributo.

Por ejemplo, “%UF %UL%” suele crear un valor con el nombre y el apellido separados por un carácter en blanco. Sin embargo, si el usuario tuviera el atributo de nombre vacío, esta regla generaría un valor que terminaría con un carácter en blanco final. No obstante, al utilizar

“%$$TRIM(%UF% %UL%)%

se asegura de que no exista ningún carácter inicial ni final en blanco en el valor del atributo de cuenta aunque no se haya establecido el nombre o el apellido.