Servicio IniArmarCondFech
Resumen
INTRODUCCIÓN
El servicio construye una condición de filtro SQL para una fecha dada, que puede ser utilizada en
consultas de reportes u otros procesos. Permite definir la forma en que se interpretan los campos
(como fecha simple o separados en año y mes).
Detalle
INFORMACIÓN GENERAL
Nombre del servicio: IniArmarCondFech
Clase: IniArmarCondFechaBean
JNDI: nodum/servicios/nucleo/ini/IniArmarCondFecha
Tipo: Inicialización
Módulo: General
Repetitivo: No
PARÁMETROS DE ENTRADA
LÓGICA DEL SERVICIO
1. Entrada del valor de fecha:
- Si viene como tipo Date, se usa directamente.
- Si viene como String, se convierte a Date utilizando la máscara proporcionada.
2. Formato de salida:
- Si el formato es estándar (yyyy-MM-dd, por ejemplo), se aplica directamente y la salida es del tipo: tabla.campo operador 'fecha_formateada'
- Si el formato es especial YYYY_MM, se interpreta que el campo representa dos columnas (por ejemplo, año y mes).
3. Formato YYYY_MM:
- El campo debe venir como anio;mes, separados por ;.
- Se genera una condición compuesta, evaluando tanto el año como el mes según el operador: (tabla.anio = 2024 AND tabla.mes = 7)
- Para operadores como >=, <= , etc., se arma una condición compuesta con oR, por ejemplo: ((tabla.anio = 2024 AND tabla.mes >= 7) OR (tabla.anio > 2024))
Detalle Técnico
CONSIDERACIONES TÉCNICAS
Asegurarse de usar el formato correcto según la configuración del campo (yyyy-MM-dd VS YYYY_MM).
Usar el operador SQL con el símbolo correcto (>=, <= , =, <>).
Para comparar mes y año, siempre usar anio;mes en el campo y YYYY_MM como formato.
EJEMPLO
Entrada:
Valor: 09/01/2006
Mascara: dd/MM/yyyy
Tabla: sa_costosmesagr
Campo: anio;mes
Formato: YYYY_MM
Operador: >=
Salida:
((sa_costosmesagr.anio = 2006 AND sa_costosmesagr.mes >= 1) OR (sa_costosmesagr.anio > 2006]]
Entrada:
Valor: '15/07/2025'
Mascara: 'dd/MM/yyyy'
Tabla: sa_documento
Campo: fec_doc
Formato: yyyy-MM-dd
Operador: >=
1. Se interpreta el valor '15/07/2025' usando la máscara 'dd/MM/yyyy', obteniendo un objeto Date con el valor correspondiente.
2. Como el formato solicitado es yyyy-MM-dd, se aplica esa transformación al Date interpretado.
3. Se construye una condición SQL con el formato requerido.
Salida:
sa_documento.fec_doc >='2025-07-15'
