Servicio IniArmarCondFech

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).

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))

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'


Descargar o Imprimir


¿TE SIRVIÓ ESTE ARTÍCULO?