Problema carga datos mediante .ctl -- plsql

devilitao

Buenas tardes,

Tengo un problema con respecto a un ctl.

Tengo un ctl con el que se carga un tabla. Este ctl recibe dos .dat (son los ficheros que recibe el ctl para luego meter esos datos del .dat en la tabla).

El problema que tengo, es que un .dat si me mete los datos bien, ya que recibe los mismo campos que el ctl, pero el otro .dat viene con menos datos...entonces a la hora de meter un nuevo campo ( que es lo que tengo que hacer en los dos .dat), me lo mete pero no en la posición correcta.

¿alguien controla de esto?

Gracias

thecaballero

Es el problema de separar por separadores en vez de por posición. El segundo entiendo que te funcionará bien por que rellenarás los primeros campos si no te lo estaría cargando mal también.
Creo que la solución será crear dos distintos ¿Puedes pasar como los tienes definidos y un ejemplo del fichero?

devilitao

Este es el ctl y el nuevo campo es imp_sobrec_goizargi

spoiler

Este el dat que me carga bien, el último campo sería el nuevo campo.

spoiler

Este el .dat que no me carga en la posición que quiero

spoiler

Gracias

thecaballero

Entiendo que en el de abajo te lo estará cargando (Si se contar) en la columna ind_gestion_stocks. Veo dos opciones según quien obtenga o como saquéis los ficheros de carga.

  1. Si te fijas en el primero verás que los campos que no tienen ningún valor están añadidos, por ejemplo en esta parte "+000000000.000|X|X|X|X|X|X|0" hay 6 campos vacíos (Te los marco con X), deberías de sacar el fichero plano para que te cuadre con el formato del CTL.
  2. Hacer otro CTL que cuadre con el formato del fichero más corto.

Usuarios habituales

  • thecaballero
  • devilitao