create or replace PROCEDURE P_MIGRACION_03_EXP
AS
 
  -- 22/01/2024, al lanzar el proceso estaba solo el id_solicitud_000= 'EB113A6438E8410825C2E2B17794B3AF', se ha quitado de la condicion para que no de error y poder lanzar todo completo
  -- 22/01/2024, despues de lanzarlo vuelto a poner todas las condiciones.
  -- 24/01/2024, cambios para mejorar rendimiento proceso
  
  -- 01/03/2024 PARA MIGRAR LOS EXPEDIENTES TIENE QUE ESTAR MIGRADOS LOS SOLICITANTES LAS DIRECCIONES Y LAS CLAVES
  /* **************************
  -- cursor para expedientes --
  ***************************** */
  CURSOR EXP IS
      SELECT DISTINCT
	   VALOR_AD74A AS ID_EXPEDIENTE_AD74,
	   TRIM(SOL.APELLIDO1CONYUGE_000)         AS APELLIDO1_CON_00,
      TRIM(SOL.APELLIDO2CONYUGE_000)             AS APELLIDO2_CON_00,
      TRIM(SOL.AUTORIZACIONCONYUGE_000)          AS AUTORIZACION_CON_00,
      TRIM(SOL.CODIGOSGA_000)                    AS CODIGO_SGA_00 ,
      TRIM(SOL.DEOFICIO_000)                     AS DE_OFICIO_00 ,
      TRIM(SOL.EXENCION_000)                     AS EXENCION_SOL_00,
      TRIM(SOL.FECHAAPERTURAEXP_000)             AS F_APERTURA_EXP_00,
      NVL(TRIM(SOL.FOLDERID_000),'NULL_EN_X87')  AS FOLDER_ID_00,
      NVL(TRIM(SOL.FECHARECEPCION_000), SYSDATE) AS F_RECEPCION_00,       -- no me dice de donde sacarlo y no puede ser null FECHA DE RECEPCIÓN DE LA SOLICITUD
      NVL(TRIM(SOL.FECHAREGOTRO_000), null)   AS F_REGISTRO_OTRO_00, 
	  NVL(TRIM(SOL.FECHAREGDPTO_000), SYSDATE)   AS F_REGISTRO_00,   
	  nvl(trim(SOL.FECHACONCESION_000 ),NULL ) AS F_RESOLUCION_00,
	  nvl(trim(SOL.FECHADESESTIM_000 ),NULL ) AS F_RESOL_DESIS_00,
      TRIM(SOL.DNICONYUGE_000)                  AS IDENTIFICADOR_CON_00, -- DOCUMENTO DE IDENTIFICACIÓN DEL CONYUGE
      TRIM(SOL.IDSOLICITUD_000)                 AS ID_EXPEDIENTE_00,     -- Identificador interno del expediente
      'X87_TEA'||'_'||IDTIPOSOLICITUD_036                 AS ID_PROCEDIMIENTO_00, --- NUEVO no puede ser nulo no me dice de donde sacrlo IDENTIFICACIÓN DEL PROCEDIMIENTO DE PLATEA
      TRIM(SOL.IDSOLICITANTE_001)                AS ID_SOLICITANTE_00,    -- FK a SOLICITANTES 01. Identificador del solicitante/beneficiario
      T01.ID_SOLICITANTE_01 AS ID_SOLICITANTE_01,
      T01.ID_PERFIL_01 AS ID_PERFIL_01,
      T01.IDIOMA_SERVICIO_01 AS IDIOMA_SERVICIO_01,
	  T01.ID_DIRECCION_01 AS ID_DIRECCION_01,
	  T01.ID_CUENTA_05 AS ID_CUENTA_EXP_05,
	  T01.FECHAALTA_009 AS F_ALTA_TELEASISTENCIA_01, 
      --T01.IDTIPOMOTSOL AS ID_MOTIVO_BAJA_00,
	  -- Motivo de la baja
	  DECODE(T01.IDTIPOMOTSOL,1,2,2,11,3,4,4,5,5,8,6,6,7,7,8,17,NULL) AS ID_MOTIVO_BAJA_00,
	  --T06.ID_DIRECCION_06 AS ID_DIRECCION_NOTIF_06,
	  decode(DA.IDDOMICILIO_034,null,null,(SELECT VALOR_AD74A00 FROM CLAVES_AD7406 WHERE VALOR_X87B = DA.IDDOMICILIO_034 and valor_ad74a00 is not null)) AS ID_DIRECCION_NOTIF_06,
      DECODE(TRIM(SOL.IDORIGENSOLI_006),1,'4',2,'2',3,'1',4,'3','2') ID_TIPO_ENTRADA_00, -- se pone '4' cuando es 1 y numero de registro es null, y si tipo 1 y not null se pone '2'
      TRIM(SOL.NOMBRECONYUGE_000)            AS NOMBRE_CON_00,        -- NOMBRE DEL CONYUGE
      TRIM(SOL.NUMEROEXP_000 )               AS NUM_EXPEDIENTE_00,    -- NÚMERO DE EXPEDIENTE (FOLDERNUMBER)
      TRIM(SOL.NUMREGOTRO_000)               AS NUM_REGISTRO_OTRO_00, -- NÚMERO DE REGISTRO SIR
      TRIM(NVL(SOL.NUMREGDPTO_000,'VACIO'))  AS NUM_REGISTRO_00,      -- NÚMERO DE REGISTRO DE LA SOLICITUD
      TRIM(SOL.OBSERVACIONES_000)            AS OBSERVACIONES_00,     -- OBSERVACIONES SOBRE LA BAJA
      TRIM(SOL.RAZONURGENCIA_000)            AS RAZON_URGENCIA_00,    -- Indica la razón de la urgencia
      TRIM(SOL.TIPOIDENTIFICADORCONYUGE_000) AS TIPO_IDEN_CON_00,     -- TIPO IDENTIFICADOR CONYUGE: 1-->DNI/NAN; 2-->CIF/IFK; 3-->NIE/AIZ; 4-->Pasaporte/Pasaportea; 5-->Otros/Beste Batzuk
      DECODE (TRIM(NVL(IDESTADOEXP_021,42)),41,10,42,23,45,24,8,9,25) AS ID_ESTADO_00,
      TRIM(IDESTADOEXP_021) AS IDESTADOEXP_021,
      NVL( TO_CHAR(TE.IDTIPONOTIF_001),'0') AS ID_TIPO_NOT_01,  
      NVL( TE.URGENCIA_001,0) AS URGENCIA_01,
	  (SELECT MAX(FECHAINICIO_018) FROM X87B.X8718T00@X87B_DBL0 X18 WHERE ESTADOSOLICITUD_018 = TRIM(IDESTADOEXP_021) AND X18.IDSOLICITUD_000= TRIM(SOL.IDSOLICITUD_000)) AS FECHA_INICIO_18,
	  DECODE(IDTIPORESOL_055,1,1,11,1,3,0,NULL) AS EXENCION_RES_00,
	  DECODE(IDTIPORESOL_055,1,2,2,2,3,2,4,3,7,4,8,2,9,7,11,2,12,3,NULL) AS TIPO_RESOLUCION_00,
	  DECODE(IDTIPORESOL_055,7,'E',NULL) AS TIPO_DESIS_00
      FROM X87B.X8700T00@X87B_DBL0 SOL, (SELECT cl.VALOR_X87B ID_SOLICITANTE_87, VALOR_AD74A ID_SOLICITANTE_01, ID_PERFIL_01,IDIOMA_SERVICIO_01, ID_DIRECCION_01, ID_CUENTA_01 ID_CUENTA_05,  
                                                FECHAALTA_009 FECHAALTA_009, DECODE(X09.IDTIPOMOTSOL_009,1,2,2,3,3,4,4,5,5,8,6,6,7,7,8,17,NULL) IDTIPOMOTSOL
                                            FROM CLAVES_AD7401 CL, AD74A01T00, X87B.X8709T00@X87B_DBL0 X09
                                            WHERE VALOR_AD74A = ID_SOLICITANTE_01
                                            AND VALOR_X87B = X09.IDSOLICITANTE_001
                                            AND USU_ALTA_01 = 'MIGRADO') T01, 
         X87B.X8701T00@X87B_DBL0 TE, CLAVES_AD7400, X87B.X8735T00@X87B_DBL0 DA
     WHERE SOL.IDSOLICITANTE_001 IS NOT NULL
     AND SOL.IDSOLICITANTE_001 = T01.ID_SOLICITANTE_87(+)
     AND SOL.IDSOLICITANTE_001 = TE.IDSOLICITANTE_001(+)
	 AND TE.IDCONTACTONOTIFI_035 = DA.IDCONTACTO_035(+)
	 AND SOL.IDORIGENSOLI_006 IS NOT NULL
	 --AND TRIM(SOL.IDSOLICITUD_000)  = VALOR_X87B(+);
	 AND TRIM(SOL.IDSOLICITUD_000)  = VALOR_X87B
	 AND NOT EXISTS (SELECT 1 FROM AD74A00T00 WHERE ID_EXPEDIENTE_00 = VALOR_AD74A);


	-- fechas en funcion del estado:
	W_FECHA_CIERRE              DATE;
	W_FECHA_ARCHIVADO           DATE;
	
	/* *******************************************
	-- VARIABLES PARA  cursor para expedientes --
	********************************************** */
	W_APELLIDO1_REP_00          VARCHAR2(100);
	W_APELLIDO2_REP_00          VARCHAR2(100);
	W_CONTACTO_INST_REP_00      NUMBER;
	W_NOMBRE_REP_00             VARCHAR2(100);
	W_RAZON_SOCIAL_REP_00       VARCHAR2(100);
	W_SEXO_REP_00               CHAR(1);
	W_TIPO_IDENTIFICADOR_REP_00 VARCHAR2(1);
	W_IDENTIFICADOR_REP_00 		VARCHAR2(20);
	W_TIPO_REP_00               NUMBER(1);
	W_CANAL_NOT_00              NUMBER;
	W_EMAIL_NOT_00              VARCHAR2(200);
	W_TFNO_NOT_00               VARCHAR2(20);
	W_AUTORIZA_CONSULTA_00      NUMBER;
	W_AUTORIZA_DAR_INFO_00      NUMBER;
	W_PRESENTA_SOL_00		    NUMBER;


  
    vSql VARCHAR2(4000);
	
BEGIN
	/* ******************************
	  -- carga para expedientes --
	  ******************************* */
	-- 20/02/2024: CAMBIOS POR ERRORES DETECTADOS EN LAS PRUEBAS:
	-- 1. El folderId no se pone el del idExpediente calculado, tiene que ser el valor del folderId de la X87
	-- 2. El campo F_REGISTRO_00 se tiene que recoger de la x87 el campo FECHAREGDPTO_000, no el FECHAREGOTRO_000
	-- -- viendo el campo en el documento veo que F_REGISTRO_OTRO_00 se tiene que rellenar con el FECHAREGOTRO_000
	-- 3. F_RESOLUCION_00 no se esta grabando, no se estaba recogiendo
	-- 4. La fecha de alta ya se ha cargado en el solicitante, la recogemos de ahi. 

	FOR X IN EXP LOOP --loop para expedientes
  
		-- HALLAMOS FECHA DE CIRERRE Y ARCHIVADO         
		IF X.IDESTADOEXP_021=41 THEN ---ESTADO CERRADO
			W_FECHA_CIERRE := X.FECHA_INICIO_18;
		ELSIF X.IDESTADOEXP_021=42 THEN --ESTADO ARCHIVADO
			W_FECHA_ARCHIVADO := X.FECHA_INICIO_18;
		END IF;

       
		BEGIN
							
			-- Representante    
			W_APELLIDO1_REP_00         := NULL;
			W_APELLIDO2_REP_00         := NULL;
			W_CONTACTO_INST_REP_00     := NULL;
			W_NOMBRE_REP_00            := NULL;
			W_RAZON_SOCIAL_REP_00      := NULL;
			W_SEXO_REP_00              := NULL;
			W_TIPO_IDENTIFICADOR_REP_00:= NULL;
			W_IDENTIFICADOR_REP_00	   := NULL;
			W_TIPO_REP_00              := NULL;
			W_PRESENTA_SOL_00		   := 0;
			SELECT TRIM(PER.APELLIDO1_004),
				 TRIM( PER.APELLIDO2_004),
				 TRIM(PER.CONINSTALACION_004),
				 TRIM(PER.NOMBRE_004),
				 TRIM(DECODE(PER.PERSFISICA_004,0,PER.APELLIDO1_004)),
				 DECODE(TRIM(PER.SEXO_004),'V','H',TRIM(PER.SEXO_004)),
				 TRIM(PER.TIPOIDENTIFICADOR_004),
				 DECODE(TRIM(PER.PERSFISICA_004),1,0,1), --W_TIPO_REP_00
				 TRIM(PER.IDENTIFICADOR_004),
				 1 --W_PRESENTA_SOL_00
			INTO W_APELLIDO1_REP_00,
				W_APELLIDO2_REP_00,
				W_CONTACTO_INST_REP_00,
				W_NOMBRE_REP_00,
				W_RAZON_SOCIAL_REP_00,
				W_SEXO_REP_00,
				W_TIPO_IDENTIFICADOR_REP_00,
				W_TIPO_REP_00,
				W_IDENTIFICADOR_REP_00,
				W_PRESENTA_SOL_00
			FROM x87b.x8704t00@x87b_dbl0 per,
				x87b.x8735t00@x87b_dbl0 dat
			WHERE per.idcontacto_035 = dat.idcontacto_035
			AND per.idsolicitante_001 = X.ID_SOLICITANTE_00
			AND per.representante_004 = 1;
			
			
			-- Contacto
			W_CANAL_NOT_00             := 0;
			W_EMAIL_NOT_00             := NULL;
			W_TFNO_NOT_00              := NULL;
			SELECT CASE 
                    WHEN TRIM(DAT.EMAIL_035) IS NOT NULL AND TRIM(DAT.TELEF_035) IS NOT NULL THEN 2
					WHEN TRIM(DAT.EMAIL_035) IS NOT NULL AND TRIM(DAT.TELEF_035)  IS NULL THEN 1
                    ELSE 0
                END,
				TRIM(DAT.EMAIL_035),
				TRIM(DAT.TELEF_035)
            INTO W_CANAL_NOT_00, W_EMAIL_NOT_00, W_TFNO_NOT_00 
			FROM x87b.x8735t00@x87b_dbl0 dat,
				x87b.x8701t00@x87b_dbl0 usr
			WHERE usr.idsolicitante_001 = X.ID_SOLICITANTE_00
			AND usr.IDCONTACTOHABIT_035 = dat.idcontacto_035;
		
		
			/*SELECT TRIM(PER.APELLIDO1_004),
				 TRIM( PER.APELLIDO2_004),
				 TRIM(PER.CONINSTALACION_004),
				 TRIM(PER.NOMBRE_004),
				 TRIM(DECODE(PER.PERSFISICA_004,0,PER.APELLIDO1_004)),
				 DECODE(TRIM(PER.SEXO_004),'V','H',TRIM(PER.SEXO_004)),
				 TRIM(PER.TIPOIDENTIFICADOR_004),
				 DECODE(TRIM(PER.PERSFISICA_004),1,0,1), --W_TIPO_REP_00
				CASE
					WHEN TRIM(DAT.EMAIL_035) IS NOT NULL
					AND TRIM(DAT.TELEF_035) IS NOT NULL
				THEN 2
					WHEN TRIM(DAT.EMAIL_035) IS NOT NULL
					AND TRIM(DAT.TELEF_035)  IS NULL
				THEN 1
				ELSE 0
				END ,---W_CANAL_NOT_00
				 TRIM(DAT.EMAIL_035),
				 TRIM(DAT.TELEF_035)
			INTO W_APELLIDO1_REP_00,
				W_APELLIDO2_REP_00,
				W_CONTACTO_INST_REP_00,
				W_NOMBRE_REP_00,
				W_RAZON_SOCIAL_REP_00,
				W_SEXO_REP_00,
				W_TIPO_IDENTIFICADOR_REP_00,
				W_TIPO_REP_00,
				W_CANAL_NOT_00,
				W_EMAIL_NOT_00,
				W_TFNO_NOT_00
		  FROM X87B.X8704T00@X87B_DBL0 PER,
			X87B.X8735T00@X87B_DBL0 DAT
		  WHERE PER.IDCONTACTO_035     = DAT.IDCONTACTO_035
		  AND PER.IDSOLICITANTE_001  =X.ID_SOLICITANTE_00
		  AND ROWNUM                 = 1
		  GROUP BY PER.APELLIDO1_004,
			PER.APELLIDO2_004 ,
			PER.CONINSTALACION_004 ,
			PER.NOMBRE_004,
			PER.PERSFISICA_004,
			PER.SEXO_004,
			PER.TIPOIDENTIFICADOR_004 ,
			PER.PERSFISICA_004,
			DAT.EMAIL_035,
			DAT.TELEF_035;*/
		EXCEPTION
			WHEN NO_DATA_FOUND THEN
			  W_APELLIDO1_REP_00         := NULL;
			  W_APELLIDO2_REP_00         := NULL;
			  W_CONTACTO_INST_REP_00     := NULL;
			  W_NOMBRE_REP_00            := NULL;
			  W_RAZON_SOCIAL_REP_00      := NULL;
			  W_SEXO_REP_00              := NULL;
			  W_TIPO_IDENTIFICADOR_REP_00:= NULL;
			  W_IDENTIFICADOR_REP_00	 := NULL;
			  W_TIPO_REP_00              := NULL;
			  W_CANAL_NOT_00             := 0;
			  W_EMAIL_NOT_00             := NULL;
			  W_TFNO_NOT_00              := NULL;
			  W_PRESENTA_SOL_00		     := 0;
		WHEN OTHERS THEN
		  DBMS_OUTPUT.PUT_LINE('ERROR:X8700T00 SOL, X8704T00 PER, X8735T00 DAT  '||X.ID_SOLICITANTE_00||' '||SQLCODE||SQLERRM);
		 
		END;
		
		W_AUTORIZA_CONSULTA_00:=NULL;
		W_AUTORIZA_DAR_INFO_00:=NULL;
		 
		begin
			SELECT DISTINCT DECODE(AUT.IDAUTORIZACION_056,10,0,1) INTO W_AUTORIZA_CONSULTA_00
			FROM X87B.X8757T00@X87B_DBL0 AUT
			WHERE AUT.IDSOLICITUD_000 =X.ID_EXPEDIENTE_00
			AND  DECODE(AUT.IDAUTORIZACION_056,10,0,1) = 1;
		exception
			when no_data_found then
			W_AUTORIZA_CONSULTA_00:=null;
		end;
		
		begin
			SELECT DISTINCT DECODE(AUT.IDAUTORIZACION_056,10,1,0) INTO W_AUTORIZA_DAR_INFO_00
			FROM X87B.X8757T00@X87B_DBL0 AUT 
			WHERE AUT.IDSOLICITUD_000 =X.ID_EXPEDIENTE_00 
			AND DECODE(AUT.IDAUTORIZACION_056,10,1,0) = 1;
		exception
			when no_data_found then
			W_AUTORIZA_DAR_INFO_00:=null;
		end;
  
    /* ***********************   INSERT expedientes AD74A00T00  ******************************/
  
	BEGIN
	
		IF X.NUM_REGISTRO_00 IS NOT NULL AND X.ID_TIPO_ENTRADA_00 = '4' THEN	
			X.ID_TIPO_ENTRADA_00 := '2';
		END IF;
		INSERT
			INTO AD74A.AD74A00T00 (
          APELLIDO1_CON_00,
		  APELLIDO2_CON_00,
          APELLIDO1_REP_00,
          APELLIDO2_REP_00,
          AUTORIZACION_CON_00,
          AUTORIZA_CONSULTA_00,
          AUTORIZA_DAR_INFO_00,
          CANAL_NOT_00,------
          CODIGO_SGA_00 ,
          CONTACTO_INST_REP_00,
          DE_OFICIO_00 ,
          --DOCUMENTACION_00,
          EMAIL_NOT_00,
          ---ERROR_EXPEDIENTE_00,
          --ESTADO_NOTIFICACION_00,
          EXENCION_RES_00,
          EXENCION_SOL_00,
          --EXISTE_INSTALACION_00,
          --EXONERACION_RES_00,
          F_ALTA_00,
          F_APERTURA_EXP_00,
          --NULL AS   F_ARCHIVO_00,
          --NULL AS   F_BAJA_00 ,
          --NULL AS   F_CIERRE_00,
          --NULL AS   F_DESISTIMIENTO_00,
          --NULL AS   F_MODIF_00,
          FOLDER_ID_00, ----------------------
          F_RECEPCION_00,               ------
		  F_REGISTRO_OTRO_00,
          F_REGISTRO_00, ----------------------
		  F_RESOLUCION_00, 
          F_RESOL_DESIS_00,
          ID_CUENTA_00,          -- NUEVO --FK a la tabla 05 de CUENTAS
          ID_DIRECCION_NOTIF_00, --NUEVO FK a la tabla 06 de DIRECCIONES para la direccion de notificacion
          ID_DIRECCION_00,      ---NUEVO FK A LA TABLA 06 DE DIRECCIONES
          IDENTIFICADOR_CON_00,
          IDENTIFICADOR_REP_00,
          ID_ESTADO_00,     -- FK A ESTADOS 30. INDICA EL ESTADO DE LA SOLICITUD/EXPEDIENTE--------------------
          ID_EXPEDIENTE_00, -- Identificador interno del expediente--------------------------
          ---NULL IDIOMA_NOT_00,  --No me dice como rellenarlo Idioma de notificación del toolkit. Se usará para las notificaciones.
          IDIOMA_SERVICIO_00,
          ID_MOTIVO_BAJA_00,                           --  FK A LA TABLA DE MOTIVOS_BAJA
          ID_PERFIL_00,                               ---NUEVO FK a la tabla 07 de PERFIL
          ID_PROCEDIMIENTO_00,                        
          ID_SOLICITANTE_00,                           -- FK a SOLICITANTES 01. Identificador del solicitante/beneficiario
          ID_TIPO_ENTRADA_00, ---------------------------
          ID_TIPO_NOT_00,  ------------------------------
          NOMBRE_CON_00,
          NOMBRE_REP_00,
          NUM_EXPEDIENTE_00,
          NUM_REGISTRO_OTRO_00,
          NUM_REGISTRO_00,-----------------------------
          OBSERVACIONES_00,
          --PRECIO_FINAL_00,
          PRESENTA_SOL_00,
          RAZON_SOCIAL_REP_00,
          RAZON_URGENCIA_00,
          --NULL RESULTADO_RESOLUCION_00,
          --SE_OPONE_00,
          SEXO_REP_00,
          --null TECNICO_EXPEDIENTE_00,
          TFNO_NOT_00,
          TIPO_DESIS_00,
          TIPO_IDEN_CON_00,
          TIPO_IDENTIFICADOR_REP_00,
          TIPO_REP_00,
          URGENCIA_00,
          USU_ALTA_00,
          USU_MODIF_00,
          ID_AVISO_00,
          MOTIVO_INFORME_00,
          ORIGEN_OFICIO_00,
          F_ARCHIVO_00, --	Fecha de paso a archivo	 	 
	      F_CIERRE_00, 
		  TIPO_RESOLUCION_00
        )
        VALUES
        (
          X.APELLIDO1_CON_00,
          X.APELLIDO2_CON_00,
          W_APELLIDO1_REP_00,
          W_APELLIDO2_REP_00,
          X.AUTORIZACION_CON_00,
          W_AUTORIZA_CONSULTA_00,--- me pone comentarios que hay mas autorizaciones que....
          W_AUTORIZA_DAR_INFO_00,
          W_CANAL_NOT_00,------------------------
          X.CODIGO_SGA_00 ,
          W_CONTACTO_INST_REP_00,
          X.DE_OFICIO_00 ,
          --DOCUMENTACION_00,
          W_EMAIL_NOT_00,
          -- aqui va ERROR_EXPEDIENTE_00, (por defecto ponemos 1 para las pruebas) ---campo nuevo Marca si hay errores en el expediente. 0 - Sin errores 1 - No existe solicitante para el expediente 2 - Solicitante ya esta dado de alta 3 - hay expediente pendiente
          --aqui va  ESTADO_NOTIFICACION_00, (por defecto ponemos 1 para las pruebas)--No me dice de donde sacarlo-  notificacion del expediente: 1- Pendiente, 2- Pendiente de firma, 3-Pendiente de notificar, 4-Pendiente de acuse, 5-Acusado, 6-Rechazo firma
          X.EXENCION_RES_00, 
          X.EXENCION_SOL_00,
          -- aqui va EXISTE_INSTALACION_00, (por defecto ponemos 1 para las pruebas) --- no me dice de donde sacarlo - Marca si existe la instalacion en el domicilio: 0-No; 1-Sí
          --aqui va EXONERACION_RES_00, (por defecto ponemos 1 para las pruebas)-- no me dice de donde sacarlo - Indica el resultado de la exoneracion 0: no 1: si
          X.F_ALTA_TELEASISTENCIA_01,
          X.F_APERTURA_EXP_00,
          --NULL AS   F_ARCHIVO_00,  -- no me dice de donde sacarlo FECHA DE PASO A ARCHIVO
          --NULL AS    F_BAJA_00 ,  -- no me dice de donde sacarloFECHA DE BAJA SOLICITADA EN TELEASISTENCIA
          --NULL AS    F_CIERRE_00,   -- no me dice de donde sacarloFECHA DE CIERRE
          --NULL AS   F_DESISTIMIENTO_00,  -- no me dice de donde sacarlo FECHA DE DESISTIMIENTO
          --NULL AS   F_MODIF_00,   -- no me dice de donde sacarloFECHA DE MODIFICACIÓN
          X.FOLDER_ID_00, 
          X.F_RECEPCION_00,                 -- no me dice de donde sacarlo y no puede ser null FECHA DE RECEPCIÓN DE LA SOLICITUD-------------------
          X.F_REGISTRO_OTRO_00,
          X.F_REGISTRO_00, 
		  X.F_RESOLUCION_00,
          X.F_RESOL_DESIS_00, 
          X.ID_CUENTA_EXP_05,
          X.ID_DIRECCION_NOTIF_06,     --NUEVO FK a la tabla 06 de DIRECCIONES para la direccion de notificacion
          X.ID_DIRECCION_01,          ---NUEVO FK A LA TABLA 06 DE DIRECCIONES
          X.IDENTIFICADOR_CON_00,      -- DOCUMENTO DE IDENTIFICACIÓN DEL CONYUGE
          W_IDENTIFICADOR_REP_00, -- DOCUMENTO DE IDENTIFICACIÓN DEL REPRESENTANTE
          X.ID_ESTADO_00,              -- FK A ESTADOS 30. INDICA EL ESTADO DE LA SOLICITUD/EXPEDIENTE
          X.ID_EXPEDIENTE_AD74,
          ---NULL IDIOMA_NOT_00,  --No me dice como rellenarlo Idioma de notificación del toolkit. Se usará para las notificaciones.
          X.IDIOMA_SERVICIO_01,
          X.ID_MOTIVO_BAJA_00,                     --- ID_MOTIVO_BAJA_00,--  FK A LA TABLA DE MOTIVOS_BAJA  ARREGLAR ESTO
          X.ID_PERFIL_01,           ---NUEVO FK a la tabla 07 de PERFIL
          X.ID_PROCEDIMIENTO_00,            
          X.ID_SOLICITANTE_01,       -- FK a SOLICITANTES 01. Identificador del solicitante/beneficiario
		  X.ID_TIPO_ENTRADA_00,   -- no me dice como rellenarla y es not null TIPO DE ENTRADA: TELEMÁTICA, PAPEL 0, PRESENCIAL CIUDADANÍA
	      X.ID_TIPO_NOT_01,       -- TIPO DE NOTIFICACIÓN: 1-TELEMÁTICO; 2-POSTAL
          X.NOMBRE_CON_00,        -- NOMBRE DEL CONYUGE
          W_NOMBRE_REP_00,        -- NOMBRE DEL REPRESENTANTE
          X.NUM_EXPEDIENTE_00,    -- NÚMERO DE EXPEDIENTE (FOLDERNUMBER)
          X.NUM_REGISTRO_OTRO_00, -- NÚMERO DE REGISTRO SIR
          X.NUM_REGISTRO_00,      -- NÚMERO DE REGISTRO DE LA SOLICITUD
          X.OBSERVACIONES_00,     -- OBSERVACIONES SOBRE LA BAJA
          ---PRECIO_FINAL_00, --SIN INFORMACION DE DONDE SALE PRECIO FINAL RESULTADO DEL CONCESIÓN
          W_PRESENTA_SOL_00,
          W_RAZON_SOCIAL_REP_00, -- RAZÓN SOCIAL DEL REPRESENTANTE
          X.RAZON_URGENCIA_00,   -- Indica la razón de la urgencia
          ---NULL RESULTADO_RESOLUCION_00, ---nuevo SIN INFORMACION DE DONDE SALE Resultado de la resolución: 1-Concedida  2- denegada
          --SE_OPONE_00, ---nuevo SIN INFORMACION DE DONDE SALE INDICA SI SE OPONE A QUE LA DDS RECABE INFORMACIÓN: 0-NO; 1-SÍ
          W_SEXO_REP_00, -- Sexo del representante
          --null TECNICO_EXPEDIENTE_00, ---nuevo SIN INFORMACION DE DONDE SALE USUARIO XLNETS DEL TECNICO ASIGNADO AL EXPEDIENTE
          W_TFNO_NOT_00, --- Teléfono para las notificaciones
          'T',
          X.TIPO_IDEN_CON_00,          -- TIPO IDENTIFICADOR CONYUGE: 1-->DNI/NAN; 2-->CIF/IFK; 3-->NIE/AIZ; 4-->Pasaporte/Pasaportea; 5-->Otros/Beste Batzuk
          W_TIPO_IDENTIFICADOR_REP_00, -- TIPO IDENTIFICADOR CONYUGE: 1-->DNI/NAN; 2-->CIF/IFK; 3-->NIE/AIZ; 4-->Pasaporte/Pasaportea; 5-->Otros/Beste Batzuk
          W_TIPO_REP_00,
          X.URGENCIA_01,
          'MIGRADO',
          NULL,
          NULL,
          NULL,
          NULL,
          W_FECHA_ARCHIVADO, --	Fecha de paso a archivo	 	 
	      W_FECHA_CIERRE,
		  X.TIPO_RESOLUCION_00
        );

		COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
	    vSql:= sqlcode||'-'||substr(sqlerrm,1,1000);
		PG_MIGRACION.INSERTA_TRAZA('DATOS 03','insert AD74A00T00', 'ERROR '||vSql||'AD74A00T00 EXP, SOL01, SOL00:'||X.ID_EXPEDIENTE_00||'  '||X.ID_SOLICITANTE_01||' '||X.ID_SOLICITANTE_00, null);
		DBMS_OUTPUT.PUT_LINE('ERROR al insertar en AD74A.AD74A00T00  '||X.ID_EXPEDIENTE_00||'  '||X.ID_SOLICITANTE_01||' '||X.ID_SOLICITANTE_00||' '||SQLERRM);
    END;
    END LOOP;--- FIN loop de expedientes'

  
END P_MIGRACION_03_EXP;
/