jueves, 25 de junio de 2009

Message Mapping - Parte II

USER DEFINE FUNCTION

Algunas veces se necesita sastifacer algunos requerimientos, ciertas funcionalidades que no están contempladas por las funciones propias de PI. Para esto es necesario crear funciones propias , dichas funciones se desarrollan como te comentaba antes bajo el lenguaje JAVA.

A continuacion en el siguiente grafico podrás ver las característiscas al crear una función dentro del message mapping.




Como podras observar contiene los parametros necesarios para la creacion de una funcion , dentro de ella podremos ver que se pueden generar tres tipos de funciones , las simples ( por valor) , las de contexto o las de colas que agrupa todos los valores como un solo listado ( sin contextos de por medio).

Simple Function

Bien vamos a crear un ejercicio simple, vamos a reemplazar una funcion estándar por una UDF, para esto de acuerdo al post anterior sobre message mapping vamos a crear una funcion que reemplaze el requerimiento Nro 6 , que translade los valores del Título por valores de género.

Pues como ves en el gráfico esta es una funcion simple pues retorna un valor. Es una función de tipo simple del cual (translate_Genero)

Ahora si deseas utilizar funciones ya creadas anteriormente por ti, simplemente compila tu clase en java y creas un .jar , luego importas dicho archivo (Mapping Objects- Import Archive) y lo cargas, y lo puedes utilizar como indica en el siguiente gráfico.



Funciones Avanzadas

En este tipo de funciones se puede trabajar con mas de un valor , dicho valores vienen en un arreglo.

En el gráfico a continuación veremos la diferencia en definir una funcion por contexto o en cola(queue).



Pues como veras en el gráfico de arriba podras ver claramente cuando el tipo de función es declarado en cola o cuado es declarado por contexto.

Estas son las diferencias entre los tipos de funciones.

Funciones Simples

Funciones Avanzadas

Parámetros de Entrada

String, …, Container

String[], …, ResultList, Container

Values de Retorno

Devuelve un String

Deveuelve Result. addValue(String);

Procesamiento

Función que es llamada por cada ocurrencia del elemento.

Función que es llamada por cada contexto o por cola . Los valores son almacenados en un array de cadenas.



A continuación mostrare los métodos utilizados en las funciones avanzadas.

Métodos

Description

void addValue(String)

Método que agrega un valor al array de retorno.

void addContextChange()

Método que agrega un cambio de contexto al array de retorno

void addSuppress()

Método que agrega un valor de Supress

void clear()

Permite limpiar los valores del arreglo

ResultList.CC (context change)

Método que te permite comprobar si el valor de entrada es un cambio de contexto

ResultList.SUPPRESS

(suppressed value)

Método que te permite verificar si el valor de entrada es valor suppress.


No hay comentarios:

Publicar un comentario