IniArmaCondGrilla - Armar Condición de la Grilla
INTRODUCCIÓN
Este servicio construye dinámicamente condiciones de filtro SQL para reportes, en base a los
valores seleccionados en una grilla.
Permite filtrar por uno o varios campos segun la cantidad de columnas definidas, y arma la
condición final en función de los valores obtenidos.
INFORMACIÓN GENERAL
Nombre del servicio: IniArmarCondGrilla
Clase: IniArmarCondGrillaBean
JNDI: nodum/servicios/nucleo/ini/IniArmarCondGrilla
Tipo: Inicialización
Módulo: General
Repetitivo: Si
PARÁMETROS DE ENTRADA
Nota: El número de columnas definidas en el parámetro Campo(s) debe coincidir con la estructura
del Control(es) recibido.
FORMATO DE SALIDA
La matriz de salida tiene una sola fila y columna, cuyo valor es un String con la condición SQL
generada.
LÓGICA DEL SERVICIO
1. El servicio analiza si hay un único campo (Campo(s] o múltiples.
2. En caso de un solo campo, genera una condición del tipo: tabla.campo IN (valor1, valor2,....)
3. En caso de múltiples campos, arma una condición con OR y AND combinados, por
ejemplo: (tabla.campo1 = val1 AND tabla.campo2 = val2) OR (tabla.campo1 = val3 AND
tabla.campo2 = val4)
4. Los valores provienen del Control(es) de entrada, que debe ser una grilla de N filas, con
uno o más campos separados por ;.
EJEMPLO
Ejemplo 1- Un solo campo
Entrada:
- Control(es): '1';'2','3'
- Tabla: ct_monedas
- Campo(s): cod_moneda
Salida:
ct_monedas.cod_moneda IN ('1', '2','3')
Ejemplo 2 - Múltiples campos
Entrada
- Control(es):'1;2024';2;2025'
- Tabla: sa_estados
- Campo(s): cod_estado;anio
Salida:
(sa_estados.cod_estado = '1' AND sa_estados.anio = '2024')
OR (sa_estados.cod_estado = '2' AND sa_estados.anio = '2025']
Arma la condición de filtro para un reporte a partir de una grilla. Permite configurar el tipo de dato de los controles de la grilla y la cantidad de columnas que se utilizan como filtro en la grilla. TAGS: inicializar, armar, construir, condiciones, grillas, reporte.
