EjeExportaTxt - Exporta a TXT
Resumen
INTRODUCCIÓN
Genera archivos de texto (.txt) o archivos comprimidos (zip) a partir de consultas SQL
parametrizadas, para exportarlos en el cliente o en el servidor
INFORMACIÓN GENERAL
Nombre del servicio: EjeExportaTxt
Clase: EjeExportaTxtBean
JNDI: nodum/servicios/nucleo/eje/EjeExportaTxt
Tipo: Ejecución
Módulo: Básicos
Modo de ejecución: Directo
Repetitivo: No
Detalle
Parámetros de entrada
| Índice | Campo | Tipo | Descripción |
| 0 | Condición de ejecución | String | Expresión lógica. Si no se cumple, el servicio no ejecuta. |
| 1 | SQL | String | Consulta(s) SQL separadas por ;. Puede traer varias consultas. |
| 2 | Locación | String | 'C' para generar en cliente, 'S' para generar en servidor. |
| 3 | Path destino | String | Carpeta donde guardar el archivo o 'SOLICITA' para preguntar al usuario. |
| 4 | Nombre archivo | String | Nombre deseado del archivo (sin extensión). |
| 5 | LargosFijo | String(S/N) | Si los campos tienen longitud fija (S) o variable (N). |
| 6 | Largos | String | Anchos de los campos por consulta, separados por * y ;. Solo si LargosFijo=S. |
| 7 | Obligatorios | Define si cada campo es obligatorio (S o N). Separados * y ;. | |
| 8 | TipoDato | Tipo de cada campo (C, N, D, n, d, c). Separados * y : | |
| 9 | SeparadorCampos | Separador entre campos (` | |
| 10 | Rellenar | Indicaciones de relleno (I0, D, etc.). Opcional. | |
| 11 | CamposEntreCaracter | Carácter que envuelve cada campo (ej: "). Opcional. |
LÓGICA INTERNA
PROCESAMIENTO GENERAL
- Ejecuta las consultas SQL.
- Lee los resultados fila por fila.
- Aplica formato:
- Rellenar: Relleno (izquierda o derecha).
- SeparadorCampos: Separador de campos entre columnas.
- CampoEntreCaracter: Campos envueltos entre caracteres especiales (ej .: "valor").
- TipoDato: Conversión de datos según tipo.
- Arma el archivo en memoria:
- TXT normal si el volumen es chico.
- ZIP comprimido si excede la memoria máxima permitida (Configuración en propiedades nodum.servicio.generatxt.maximo).
Tipos de datos
| Tipo | Significado | Conversión especial |
| C | Cadena con trim() | Si |
| c | Cadena sin trim() | No |
| N | Numero con punto decimal | No |
| n | Numero sin punto decimal | Quita el punto |
| D | Decimal con punto decimal | Respeta decimales |
| d | Decimal sin punto decimal | Quita el punto |
FORMATO DEL ARCHIVO GENERADO
| Condición | Resultado |
| Locacion = 'C' | Archivo descargado en cliente (pregunta ruta si Path=SOLICITA) |
| Locación = 'S" | Archivo grabado en ruta del servidor |
| Archivo pequeño | .txt normal |
| Archivo grande (memoria limite superada) |
zip comprimido |
EJEMPLO DE ENTRADA
| Posición | Parametro | Valor |
| (0) | Condición | "2=2" (condición dummy) |
| (1) | SQLs | Consulta 1: id_producto, precio - Consulta 2: cod_barras |
| (2) | Locación | "C'' (generar en cliente) |
| (3) | Path | "SOLICITA" |
| (4) | Archivo | 'productos" |
| (5) | LargosFijo | "S" (usar largos fijos) |
| (6) | Largos | "6*8;13"= id_producto (6], precio (8], cod_barras [13] |
| (7) | Obligatorios | "S'S;S |
| (8) | TipoDato | 'N°C;N" |
| (9) | SeparadorCampos | "|" |
| (10) | Rellenar |
"IO*D 10" |
| (11) | CampoEntreCaracter | "V" |
EJEMPLO DE ARCHIVO RESULTANTE (.TXT)
Supongamos que hay estos datos en las tablas:
| id_producto | descripción |
| 123 | Papel |
| 45 | Tinta negra |
| cod_barras |
| 987654321 |
| 1234 |
Resultado
"000123'|'Papel
"000045'l*Tinta negra
'0000000987654321
OBSERVACIONES
. El parámetro Rellenar permite definir como completar los valores cuando el archivo usa
formato de largo fijo (LargosFijo = S]. Su sintaxis general es:
a) I > Rellenar a la izquierda
b) D> Rellenar a la derecha
c) > Carácter a usar como relleno (ej. o, -, espacio, etc.)
Detalle Técnico
Genera un archivo de texto a partir de ciertos parámetros. Los parámetros múltiples se separan por * dentro de la misma SQL y se separa con "punto y coma" de diferentes SQL. TAGS:
