Validación de Datos

Entre los Business Services que Siebel provee de caja se encuentra el “Data Validation Manager”. Este servicio es capaz de validar los datos de un Business Component, basado en un conjunto de reglas de negocio. En caso de que alguna regla falle aparecerá un código y/o un mensaje de error personalizables. Las reglas de validación se escriben en Lenguaje de Consulta de Siebel.

Debido a que todo es configurable desde la aplicación, no se necesitan scripts ni compilaciones de srf. Esto reduce los costos de implementación y mejora el desempeño de la aplicación. Algunas de las características del “Data Validation Manager” son:

  • Búsqueda automática del conjunto de reglas apropiado para ejecutar, basado en los Business Objects y vistas activas.
  • Escritura de “Data Validation Rules” basadas en campos de múltiples Business Components.
  • Aplicación de una “Data Validation Rule” a un conjunto de registros de Business Components hijos para verificar si una violación a la regla ocurre desde uno o más registros.
  • Llamado de acciones específicas en caso de una violación de regla.
  • Escritura de “Data Validation Rules” que operen sobre datos dinámicos suplidos en tiempo de ejecución sin que dichos datos tengan que venir desde un campo de Business Component.
  • Bitacoreo automático de eventos que violen de reglas.

Administración de Data Validation Rules

Primero hay que crear el Data Validation Rule Set, que funciona como un contenedor con argumentos, y puede tener una o más Data Validation Rules.

Las reglas contienen expresiones que son evaluadas verdaderas o falsas. Si la expresión evaluada resulta falsa, la regla determina cuál es el comportamiento a seguir, ya sea desplegar un mensaje de error, actualizar datos, etc. Si la expresión es evaluada verdadera quiere decir que todo está bien y continua con la siguiente regla.

La Administración de Reglas de Validación involucra los siguientes procedimientos:

  • Definir el Data Validation Rule Set.
  • Definir los argumentos del Data Validation Rule Set.
  • Definir las Data Validation Rules.
  • Definir las acciones de cada Data Validation Rule.
  • Activación del Data Validation Rule Set.

Definiendo un Data Validation Rule Set

Se debe ingresar a la vista de Administración – Validación de los datos, desde donde se pueden modificar los Data Validation Rule Sets existentes o crearlos nuevos. También se pueden importar o exportar Data Validation Rule Sets desde esta vista, eligiendo las opciones “Exportar conjunto de reglas” o “Importar conjunto de reglas” del botón de Menú. El Data Validation Rule Set es salvado a disco como un archivo de documento XML.

Cuando se crea un Data Validation Rule Set, se deben especificar el Business Object y el Business Component donde se desea aplicar la validación. El Data Validation Rule Set tendrá uno o más argumentos y contendrá una o más Data Validation Rules. Algunos campos se describen en la siguiente tabla:

Campo Comentario
Business Component Especifica el nombre del Business Component que será validado.
Business Object El Business Object que contiene al Business Component donde ocurrirá la validación.

Si el el argumento de entrada del servicio “Tipo de objeto de búsqueda” tiene el valor Business Object, el Data Validation Manager validará que el Business Object activo coincida con el indicado en este campo.

End Date Especifica la última fecha en que el Data Validation Rule Set podrá ser utilizado. Si no se llena, el Data Validation Rule Set nunca expira.
Group Categoriza Data Validation Rule Set en grupos. Se puede agrupar un número de Data Validation Rule Set juntos mediante asignarles con un nombre común de grupo.

Se puede ejecutar todo el grupo de Data Validation Rule Set mediante indicar el nombre del grupo en el argumento de entrada “Group” del servicio Data Validation Manager.

Data Validation Manager ejecuta cada Data Validation Rule Set uno por uno en ningún orden particular.

(Nota: Si ambos el nombre del grupo y el nombre del Data Validation Rule Set son dados, entonces el nombre del grupo será ignorado).

Name Nombre del Data Validation Rule Set que se está creando.

Se puede ejecutar un Data Validation Rule Set particular indicando este nombre en el parámetro de entrada “Rule Set Name” del servicio Data Validation Manager.

Conditional Expression Este es uno de los criterios de selección bajo los cuales un Data Validation Rule Set es seleccionado para su ejecución.

Si la expresión condicional es especificada (no nula) para un Data Validation Rule Set, y además al ser evaluada en tiempo de ejecución resulta falsa entonces la regla no será ejecutada.

Si la expresión condicional no es especificada (es nula), entonces es interpretada como verdadera y por lo tanto ejecutada.

Start Date Fecha en que el Data Validation Rule Set empieza a ser efectivo.
Status Especifica el estado del Data Validation Rule Set. Las opciones posibles son:

En progreso: es el estado por defecto cuando se crea un nuevo Data Validation Rule Set.

Activo: estado que aparece después de haber hecho clic sobre el botón “Activar”.

Obsoleto: estado que aparece cuando se activa una nueva versión del Data Validation Rule Set.

Inactivo: estado que aparece cuando se selecciona “Desactivar conjunto de reglas” desde el botón de Menú del applet.

Version Valor numérico para diferenciar diferentes versiones de un mismo Data Validation Rule Set.

Haciendo clic en el botón “Revisar” se crea una nueva versión de un Data Validation Rule Set existente, con el número de versión incrementado en 1.

Aggregate Error Cuando este campo se marca (verdadero), Data Validation Manager ignorará la bandera de despliegue inmediato de cada regla que se procese. Irá acumulando los mensajes de error que vayan en un solo string para luego desplegarlos todos juntos ante el usuario.

Para modificar un Data Validation Rule Set existente:

  1. Navegar a Administración – Validación de los datos.
  2. En la lista de Data Validation Rule Sets, seleccionar el registro del conjunto que se desea modificar y hacer clic en el botón “Revisar”.


  3. Esto creará una nueva versión del Data Validation Rule Set en estado “En progreso”.


  4. Hacer los cambios apropiados y luego hacer clic en “Activar”.
  5. Esto activará cambiará el estatus de “En progreso” a “Activo” y hace que el registro sea no editable.
  6. El Data Validation Rule Set viejo aun aparece pero con estado “Obsoleto”.


NOTA: Se puede borrar un Data Validation Rule Set de la misma forma que se puede borrar cualquier otro registro en las aplicaciones de Siebel. Cuando se borra un Data Validation Rule Set, el historial asociado a él también se borra.

Para exportar un Data Validation Rule Set:

  1. Navegar a la vista Administración – Validación de los datos
  2. En la lista de Data Validation Rule Sets, seleccionar el o los conjuntos de reglas que se desean exportar y elegir la opción “Exportar conjunto de reglas” desde el botón de Menú del applet.
  3. Seguir las cajas de diálogos que aparecerán para guiar la exportación del Data Validation Rule Set como archivo XML.

Para importar un Data Validation Rule Set:

  1. Navegar a la vista Administración – Validación de los datos
  2. Hacer clic en el botón de Menú del applet y elegir la opción “Importar conjunto de reglas”.
  3. En la caja de dialogo que aparecerá, localizar el archivo XML que contiene el o los conjuntos de reglas que se desean importar y luego hacer clic en “Importar”.
  4. El Data Validation Rule Set aparece en estado “En progreso”.
  5. Para activar el Data Validation Rule Set importado, se debe seleccionar en la lista de conjuntos de reglas y hacer clic en el botón “Activar”. Esto cambiará el estado a “Activo” y dejará el registro como no editable.


Definición de argumentos de un Data Validation Rule Set

Se pueden escribir expresiones de validación de una regla que contiene argumentos personalizados, usando una sintaxis como: [nombreCampo] = [&nombreArgumento]. Estos argumentos deben ser definidos de primero en la lista de argumentos. Los valores de esos argumentos pueden ser asignados usando el campo de Valor por defecto. También pueden ser asignados en tiempo de ejecución dándole al servicio de Data Validation Manager un argumento de entrada.

El nombre de ese argumento de entrada debe ser el mismo que el del argumento definido en la lista de argumentos.

Los argumentos de entrada del Business Service sobrescribirán cualquier valor por defecto que se haya especificado en la lista de argumentos.

Los valores por defecto solo serán efectivos cuando los argumentos de entrada no sea especificados.

Se pueden definir argumentos para los Data Validation Rule Set que están en estado “En progreso” únicamente.

Para definir un argumento de un Data Validation Rule Set:

  1. Navegar a la vista Administración – Validación de los datos
  2. Seleccionar un Data Validation Rule Set con estado “En progreso” y hacer clic en el nombre del Data Validation Rule Set.
  3. Seleccionar la pestaña “Argumentos”, crear un nuevo registro y completar los campos necesarios. Algunos de los campos se describen en la siguiente tabla:
Campo Comentario
Argument Name String que especifica el nombre del argumento. Se usa la notación [&nombreArgumento] para referirse al valor del argumento en una expresión de regla.
Default Value El valor que el argumento tomará en ausencia de un argumento de entrada con el mismo nombre en el Business Service.


Definición de Reglas de Validación de Datos

Para cada Data Validation Rule Set se definen una o más Data Validation Rules. Estas reglas representan los criterios de validación.

Solamente se pueden definir reglas para Data Validation Rule Sets que estén en estado “En progreso”. Esta tarea es parte del proceso de Administración de Reglas de Validación de Datos.


Para definir una Data Validation Rule:

  1. Navegar a la vista Administración – Validación de los datos.
  2. Seleccionar el Data Validation Rule Set con estado “En progreso” y hacer clic en el nombre del Data Validation Rule Set.
  3. Seleccionar la pestaña de la vista “Reglas”, crear un nuevo registro y completar los campos necesarios. Algunos campos se describen en la siguiente tabla:
Campo Comentario
Sequence # Identifica la secuencia numérica de esta regla dentro del conjunto de reglas. La aplicación evalúa las reglas en orden basada en este número.
Business Component El Business Component sobre el cual se basa la regla.
Expression Una sentencia expresada en Lenguaje de Consulta de Siebel. La aplicación evalúa si la expresión es verdadera o falsa. Si es verdadera, el Data Validation Manager procede a evaluar la siguiente regla. Si es falsa, la aplicación realiza las acciones definidas para la regla.

Se puede referir al valor de un campo en un Business Component usando la notación [nombreCampo]. Por ejemplo, si el Business Component de la regla es Opportunity, entonces una expresión [Sales Stage] IS NOT NULL significa que se desea saber si el campos Sales Stage del Business Component Opportunity contiene un valor o no.

Se puede usar la sintaxis [BusinessComponent.Campo] para referirse a un campo de un Business Component diferente al de la regla. Por ejemplo, se puede tener una regla cuyo Business Component sea Opportunity. Y se le puede escribir una expresión como [Sales Stage] IS NOT NULL AND [Account.Status] = “Active”. [Account.Status] se refiere al campo Status del Business Component Account. Sin un prefijo, [Sales Stage] se refiere al campo Sales Stagel del Business Component de la regla (Opportunity en este caso).

Se puede también usar la sintaxis [&Argumento] para referirse al argumento de un Data Validation Rule Set. Por ejemplo, se puede tener una expresión de regla [&Answer] = “Yes”. Aquí el argumento del Data Validation Rule Set ha sido previamente definido en el applet de lista de Argumentos. Una vez definido, el argumento viene a ser parte de los parámetros de entrada del Business Service que se pueden llenar con valores dinámicos en tiempo de ejecución (por ejemplo vía Workflow).

También se puede asignar la sentencia directamente en el campo o hacer clic en el botón de selección de Expresión para lanzar el “Expression Designer”.

El “Expression Designer” permite construir una expresión mediante apuntar y hacer clic en una ventana emergente, realiza validación de sintaxis, y busca definiciones de funciones pre-construidas soportadas por el Lenguaje de Consulta de Siebel.

Message El texto que se mostrará como mensaje de error si la expresión es evaluada falsa.

El número máximo de caracteres es 250.

Apply To Este campo puede tomar dos valores: “Registro actual” o “Todos los registros”. Cuando se elige “Registro actual”, Data Validation Manager aplica la regla al registro activo en el Business Component.

Cuando se elige “Todos los registros”, Data Validation Manager aplica la regla a todos los registros del Business Component.

Return Code Valor alfanumérico que la aplicación puede escribir en el registro de historial de validación y asignar en el argumento de salida “Código de Retorno” del Business Service si la expresión es evaluada falsa.

Cualquier valor que el argumento tuviese anteriormente será sobrescrito, por lo tanto este argumento siempre conserva el código de retorno de la última regla que fue evaluada falsa.

El número máximo de caracteres es 30.

Start Date Corresponde a la fecha en la que la regla empieza a ser efectiva. Una regla es evaluada solamente si la Fecha de Inicio es igual o anterior a la fecha actual.
End Date Especifica la última fecha en la que esta regla podrá ser usada. Si no se llena. la regla nunca expira.

Una regla es evaluada solamente si la Fecha de Finalización es igual o posterior a la fecha actual.

Seleccionar la pestaña de la vista “Detalles” y completar los campos necesarios. Algunos campos son descritos en la siguiente tabla:

Campo Comentario
Stop on Error Si la expresión es evaluada falsa y este campo fue marcado verdadero, la aplicación ignorará todas las reglas subsiguientes y detendrá la ejecución de la acción que se esté tratando de realizar.
Immediate Display Define el comportamiento del mensaje de error. Si la expresión es evaluada falsa, y ambas banderas “Visualización inmediata” y “Detener en error” están marcadas, la aplicación inmediatamente despliega el mensaje especificado.

NOTA: Si para el conjunto de reglas la bandera “Errores de agregado” está marcada, la bandera “Visualización inmediata” para cada regla será ignorada. En lugar de eso los mensajes de error de las reglas que se vayan evaluando falsas serán acumulados en un solo mensaje de error.

Message El texto que se mostrará como mensaje de error si la expresión es evaluada falsa.

El número máximo de caracteres es 250.

Definición de Acciones para data Validation Rules

El Business Service “Data Validation Manager” puede realizar una secuencia de acciones cuando una expresión de regla es evaluada falsa. Cada acción puede ser asignada para actualizar un Business Component en el Business Object activo o para ejecutar un Business Service.

Cada acción tiene un número de secuencia. Data Validation Manager ejecuta las acciones en orden ascendente usando el número de secuencia. Para definir una Acción de una Data Validation Rule:

  1. Navegar a la vista Administración – Validación de los datos
  2. Hacer clic en la pestaña de la vista “Reglas” y seleccionar la regla para la cual se desea definir una acción.
  3. Seleccionar la pestaña de la vista “Acciones”, crear un nuevo registro y completar los campos necesarios. Algunos de los campos se describen en la siguiente tabla:
Campo Comentario
Sequence # Identifica la secuencia numérica de esta acción de la regla.

La aplicación ejecuta las acciones en orden numérico basándose en este número.

Type Puede ser tanto Business Component como Business Service.

Determina si la acción es para actualizar el Business Component actualmente activo o para ejecutar un Business Service.

Business Component Nombre del Business Component que se desea actualizar. Este campo es editable solamente cuando el tipo es asignado “Business Component”.
Business Service Name Nombre del Business Service que se desea ejecutar. Este campo es editable solamente cuando el tipo es asignado “Business Service”.
Business Service

Method

Método del Business Service que se desea llamar.
Business Service

Context

Pares Nombre-Valor que se pueden usar para pasar ciertos valores como argumentos de entrada para el Business Service. Por ejemplo, “argumento1”, “valor1”, “argumento2”, “valor2”.

Para cada registro de acción de tipo Business Component, asignar la información de campo y valor como se describe en la siguiente tabla:

Campo Comentario
Field Nombre del campo del Business Component que se desea actualizar.
Value Valor con el cual se desea actualizar el campo del Business Component. Este valor debe ser una constante y no puede ser una expresión.

Activación de Data Validation Rule Sets

El paso final en la Administración de Reglas de Validación de Datos es activar el Data Validation Rule Set. Solamente entonces podrán ser ejecutadas por el Business Service “Data Validation Manager”.

Después de haber agregado y definido todos los argumentos del conjunto de reglas y las reglas, se debe activar el conjunto de reglas y esto lo hará no editable y cambiará su estado a “Activo”. Para activar un Data Validation Rule Set:

  1. Navegar a la vista Administración – Validación de los datos.
  2. En la lista de conjuntos de reglas, seleccionar la regla que se desea activar (el estado debe ser “En progreso”).
  3. Hacer clic sobre el botón “Activar”.


Proceso de llamado del Business Service “Data Validation Manager”

Se puede invocar el Data Validation Manager de dos diferentes maneras:

  • Desde un Runtime Event
  • Desde un Workflow

En cualquiera de los casos, se puede afectar la manera en que el Business Service funciona mediante llenar ciertos argumentos de entrada del Business Service.

Se pueden ver los resultados de la ejecución del Business Service al revisar el historial de validación.

Invocando al Data Validation Manager desde un Runtime Event

Se puede invocar el Business Service “Data Validation Manager” desde un Evento en tiempo de Ejecución. Cuando el evento ocurre, dispara el llamado al servicio de Validación de Datos.

Para invocar la Validación de Datos desde un Evento en Tiempo de Ejecución:

  1. Navegar a la vista de Administración – Eventos en tiempo de ejecución > Conjuntos de acciones.
  2. En la lista de Conjuntos de acciones crear un nuevo registro y completar los campos necesarios.
  3. En la lista de Acciones crear los registros de acciones para ese conjunto y completar en cada acción los campos necesarios. Algunos de los campos se describen en la siguiente tabla:
Campo Comentario

Action Type

Especifica el tipo de acción. Seleccionar “BusService”.

Sequence

Número que describe el orden en el que las acciones ocurrirán.

La ejecución iniciará con el número de secuencia que tenga el valor más bajo.

En caso de que haya varias acciones con el mismo número de secuencia, se ejecutarán en ningún orden particular.

Las Acciones ocurren en secuencia hasta que todas sean completadas.

Active

Caja de verificación para indicar si la acción será disparada o no. Las Acciones Inactivas serán ignoradas cuando el evento ocurra. Esta es una manera rápida de apagar una acción sin tener que cambiar las fechas de inicio y fin.

En el formulario “Más Información”, completar los campos descritos en la siguiente tabla:

    Campo Valor Comentario

    Business Service

    Name

    Data Validation Manager

    Nombre del Business Service a invocar, si la expresión condicional es evaluada verdadera y el tipo es “BusService”. Introducir el valor tal y como se indica.

    Business Service

    Method

    Validate

    Método a invocar en el Business Service. Introducir el valor tal y como se indica.

    Business Service

    Context

    Ejemplo:

    “Rule Set Name”, “Validation”,

    “Enable Log”, “Y”

    Parejas de Nombre-Valor para especificar los argumentos de entrada al método del Business Service.

    Ambos, el nombre y el valor deben ser entrecomillados y separados por una coma y un espacio después de la coma.

    NOTA: Fallos en el uso de la sintaxis especificada en el campo “Contexto de Business Service” puede resultar en errores.

    1. Hacer clic en la pestaña de la vista “Eventos” para asociar el Evento con un Conjunto de Acciones.
    2. En la lista de Eventos, añadir un registro y completar los campos como se describen en la siguiente tabla:
    Campo Comentario

    Name

    Opcional. Seleccionar un nombre de alias desde la lista desplegable. Seleccionar un nombre automáticamente llena los campos Tipo de Objeto, Nombre del Objeto, Evento y Sub-evento.

    Sequence

    Requerido. Un evento puede disparar múltiples conjuntos de acciones. Asignar los números de secuencia en este campo para controlar el orden en el que serán ejecutados.

    Object Type

    Requerido. Seleccionar “BusComp” desde la lista desplegable.

    Object Name

    El nombre del Business Component o Applet de la aplicación (dependiendo del tipo de objeto) en el cual ocurre el evento.

    Event

    Requerido. Seleccionar desde la lista desplegable. Las escogencias dependen del tipo de objeto que se eligió. En este caso seleccionar el evento en el cual se desea llamar a la Validación de los Datos.

    Action Set

    Requerido. Seleccionar un conjunto de acciones para ejecutar cuando el evento ocurra. El nombre se define en la vista de Conjuntos de acciones.

    1. Después de esto, seleccionar “Actualizar” desde el botón de Menú del applet.


    Invocando la Validación de Datos desde un Workflow

    Se puede invocar el Business Service “Data Validation Manager” desde un Workflow. El Workflow debe contener al menos los siguientes pasos:

    Inicio: Inicia la instancia del proceso. Cuando las condiciones se han cumplido la aplicación inicia la instancia del proceso.

    Business Service: un paso en el proceso en el que el llamado automático a la Validación de Datos será hecho.

    Fin: un paso en el proceso que especifica cuando la instancia de un proceso debe ser finalizada.

    Cuando se crea un paso de servicio, se debe incluir la siguiente información en el formulario del Business Service:

    Campo Comentario

    Business Service

    Data Validation Manager

    Method

    Validate


    En la lista de argumentos de entrada, crear nuevos registros para establecer los argumentos de entrada como se describe en la siguiente tabla:

    Campo Comentario

    Active Object

    Puede tener un valor “Y” o “N”. Si el valor es N o si este argumento de entrada no se especificó, los argumentos de entrada “Business Object” y “Object ID” deben ser establecidos y no pueden ser nulos.

    Business Object

    El nombre del Business Object en el que los eventos ocurren. Es requerido si el Active Object no es especificado.

    Object ID

    El Row ID del Business Component principal del Business Object. Requerido si el Active Object tiene como valor “N” o no ha sido especificado.

    Enable Log

    Acepta el valor “Y” o “N”. Indica si escribir en bitácora todas las instancias del conjunto de reglas que se disparan o ninguna.

    Group

    Nombre del grupo al que se restringe la selección de reglas de validación de datos.

    Rule Set Name

    Nombre del conjunto de reglas que será invocado.


    Si se desea pasar información para otro proceso, se deben establecer argumentos de salida.

    Los argumentos de salida permiten almacenar el valor de un resultado en una propiedad del proceso.

    En la lista de argumentos de salida, crear nuevos registros que establezcan las salidas deseadas como se describe en la siguiente tabla:

    Campo Comentario

    Return Code

    Contiene el valor del campo Código de Retorno de la regla de validación.

    Return Message

    Contiene el valor del campo Mensaje de la regla de validación.

    NOTA: Ambos, el Código de retorno y el Mensaje de retorno permanecerán vacíos si la validación tiene éxito.

    Revisando el Historial de Validaciones

    Se puede revisar el historial de eventos de validación en la vista “Historial de validación” que pertenece a la pantalla “Administración- Validación de los datos.

    Todos los eventos se despliegan en orden cronológico.

    Algunos de los campos que se muestran se describen en la siguiente tabla:

    Campo Comentario
    BusComp Name

    El Business Component que fue validado.

    Date

    La fecha en la que ocurrió la validación.

    Last Step #

    El número de secuencia de la regla evaluada falsa o la última regla del conjunto.

    Return Code

    El valor del campo Código de Retorno de la regla

    Return Message

    El valor del campo Mensaje de Retorno de la regla

    Started By

    El identificador del usuario que ejecutó dicha regla.

    Status

    Especifica el estado de la regla de validación:

    Errored Out: Indica que “Detener en error” es verdadero y la evaluación de la regla resultó falsa. Por lo tanto el resto de reglas de evaluación fueron ignoradas.

    Error Proceed: Indica “Detener en error” es falso y la evaluación de la regla resultó falsa. Por lo tanto la aplicación continúa evaluando el resto de las reglas.

    Completed: Indica que la aplicación ha llegado hasta la última regla del conjunto y la regla fue evaluada verdadera (no se ejecutó ninguna).


    Acerca de amilianc

    Más de 3 años trabajando con Siebel.
    Esta entrada fue publicada en Siebel 7 y etiquetada , , , , , , , . Guarda el enlace permanente.

    Responder

    Introduce tus datos o haz clic en un icono para iniciar sesión:

    Logo de WordPress.com

    Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

    Imagen de Twitter

    Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

    Foto de Facebook

    Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

    Google+ photo

    Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

    Conectando a %s