Oracle - problema con fichero de control para sql loader

 
Vista:

problema con fichero de control para sql loader

Publicado por TRUKY (25 intervenciones) el 21/12/2005 09:45:41
Hola, gracias de antemano por la ayuda q me puedas ofrecer, mi problemilla es el siguiente:
Estoy haciendo un fichero de control para cargar un fichero de datos que viene delimitado por posiciones, en el tengo varios tipos de registros, (hasta ahi bien), pero resulta que uno de estos registros tiene dos formatos dependiendo de un valor que contiene ese registro, hasta ahora utilizaba la clausula when, pero esta solo admite un valor posible
Ejemplo:
INTO TABLE TMP_RLA2_GARANTIAS
WHEN TIPO ='2'
AND TIPO_RESPONSABLE = '4'
TRAILING NULLCOLS
(
TIPO FILLER POSITION (01:01) CHAR,
ID_FIJU "SEQU_FICHERO.CURRVAL",
ID_COJU "(SELECT CONTADOR_RLA FROM CON_CONTADORES)",
ID_DEUDA POSITION (13:29) CHAR (17),
ANYO_ENVIO POSITION (02:03) INTEGER EXTERNAL (2) "TO_CHAR(TO_DATE(:ANYO_ENVIO,'yy'),'yyyy')",
NUM_ENVIO POSITION (04:06) INTEGER EXTERNAL (3),
ORDEN_RLA2 POSITION (7:12) INTEGER EXTERNAL (6),
TIPO_RESPONSABLE POSITION (30:30) CHAR(1),
NIF_RESPONSABLE POSITION ( )

El caso es que tipo_responsable puede tener distintos valores, entonces habia intentado poner la clausula IN (como pl/sql) para poner un conjunto de valores, pero me lo rechaza a la hora de procesar el fichero, tb intenté hacerlo poniendole OR, pero tampoco lo acepta.
Mi pregunta es
¿Hay alguna forma de hacerlo sin tener q repetir 10 veces lo mismo para que coja los distintos formatos?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder