create or replace PACKAGE BODY PG_MIGRACION AS

   CURSOR C_CLAVES_01 IS
   SELECT te.idsolicitante_001 AS id_solicitante_01
    FROM
        x87b.x8701t00@x87b_dbl0 te LEFT JOIN x87b.x8709t00@x87b_dbl0 b ON (b.idsolicitante_001 = te.idsolicitante_001)
    WHERE
        NOT EXISTS (SELECT 'X' FROM claves_ad7401 WHERE valor_x87b = te.idsolicitante_001)
        AND (b.idsolicitante_001 IS NOT NULL --es beneficiario
            OR
            (b.idsolicitante_001 IS NULL --no es beneficiario
             AND 
             EXISTS (SELECT 'X' FROM x87b.x8700t00@x87b_dbl0 d WHERE d.idsolicitante_001 = te.idsolicitante_001
                        AND d.idestadoexp_021 IN (8,41,42,43,44,45,49)
                ) -- Tiene expediente con estado mayor a cerrado: 
                    --8-Cerrar expediente;41-Expediente cerrado;42-Archivado;43-Error Archivado;44-Error archivado y pendiente de archivo;45-Enviado a archivar;49-Expurgado
           )
        );

	CURSOR C_CLAVES_00 IS
	SELECT TRIM(SOL.IDSOLICITUD_000)  AS ID_EXPEDIENTE_00
		FROM X87B.X8700T00@X87B_DBL0 SOL
     WHERE SOL.IDSOLICITANTE_001 IS NOT NULL
	 AND SOL.IDORIGENSOLI_006 IS NOT NULL
	 AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7400 WHERE VALOR_X87B =TRIM(SOL.IDSOLICITUD_000))
     AND EXISTS( SELECT 1 FROM CLAVES_AD7401 WHERE VALOR_X87B = SOL.IDSOLICITANTE_001);

	CURSOR C_CLAVES_06_01 IS
	select  TRIM(X34.IDDOMICILIO_034) AS ID_DIRECCION_06
	  from X87B.X8735T00@X87B_DBL0 X35,
			X87B.X8701T00@X87B_DBL0 X01,
			X87B.X8734T00@X87B_DBL0 X34
	  where X34.IDDOMICILIO_034 = X35.IDDOMICILIO_034
        AND X35.IDCONTACTO_035 = X01.IDCONTACTOHABIT_035
		AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7406 WHERE VALOR_X87B =TRIM(X34.IDDOMICILIO_034) AND VALOR_AD74A01 IS NOT NULL)
        AND EXISTS( SELECT 1 FROM CLAVES_AD7401 WHERE VALOR_X87B = X01.IDSOLICITANTE_001);

	CURSOR C_CLAVES_06_00 IS
	select
	  TRIM(X34.IDDOMICILIO_034) AS ID_DIRECCION_06
	  from X87B.X8735T00@X87B_DBL0 X35,
			X87B.X8701T00@X87B_DBL0 X01,
			X87B.X8734T00@X87B_DBL0 X34
	  where X34.IDDOMICILIO_034 = X35.IDDOMICILIO_034
        AND X35.IDCONTACTO_035 = X01.IDCONTACTONOTIFI_035
		AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7406 WHERE VALOR_X87B =TRIM(X34.IDDOMICILIO_034) AND VALOR_AD74A00 IS NOT NULL)
        AND EXISTS( SELECT 1 FROM CLAVES_AD7401 WHERE VALOR_X87B = X01.IDSOLICITANTE_001);

	CURSOR C_CLAVES_06_32 IS
		SELECT 	TRIM( X83.IDDOMICILIO_034) AS ID_DIRECCION_06
		FROM X87B.X8782T00@X87B_DBL0 X82,
		  X87B.X8783T00@X87B_DBL0 X83,
		  X87B.X8734T00@X87B_DBL0 X34
		WHERE X34.IDDOMICILIO_034=X83.IDDOMICILIO_034
		AND X82.IDAYUNTAMIENTO_082=X83.IDAYUNTAMIENTO_082
		AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7406 WHERE VALOR_X87B =TRIM(X34.IDDOMICILIO_034) AND VALOR_AD74A32 IS NOT NULL);--No hace falta el exists de idsolicintante

	CURSOR C_CLAVES_02 IS
	SELECT 	TRIM(X03.IDINFSOCIAL_003) AS IDINFSOCIAL_003
	FROM X87B.X8703T00@X87B_DBL0 X03 INNER JOIN X87B.X8700T00@X87B_DBL0 X00 ON (X00.IDINFSOCIAL_003 = X03.IDINFSOCIAL_003)
	WHERE NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7402 WHERE VALOR_X87B =TRIM(X03.IDINFSOCIAL_003))
    AND EXISTS (SELECT 1 FROM CLAVES_AD7401 WHERE VALOR_X87B = X00.IDSOLICITANTE_001);

	CURSOR C_CLAVES_03 IS
	select IDCONTACTO_004
    FROM X87B.X8704T00@X87B_DBL0 X04, X87B.X8735T00@X87B_DBL0 X35
     where X04.IDCONTACTO_035 =X35.IDCONTACTO_035(+)
	 AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7403 WHERE VALOR_X87B =IDCONTACTO_004)
     AND EXISTS( SELECT 1 FROM CLAVES_AD7401 WHERE VALOR_X87B = X04.IDSOLICITANTE_001)
     ORDER BY ORDEN_004 DESC;

	CURSOR C_CLAVES_24 IS
	SELECT IDALARMA_064, DIRECCION_064 
	FROM X87B.X8764T00@X87B_DBL0 X64 INNER JOIN X87B.X8709T00@X87B_DBL0 X09 ON (X09.IDBENEFICIARIO_009 = X64.IDBENEFICIARIO_009)
	INNER JOIN CLAVES_AD7401 ON (VALOR_X87B = X09.IDSOLICITANTE_001)
	WHERE (
			(DIRECCION_064 = 'I' AND MOTIVOALARMA_064 NOT IN ('Llamada segundo plano','Fallo en conectando','Llamada Periodica','Fallo De Tension','4.1.1 Fallo Eléctrico','Baja Bateria Equipo','No Seleccionado','Fallo en conexión'))
			OR DIRECCION_064 = 'O')
		AND NOT EXISTS ( SELECT VALOR_X87B FROM CLAVES_AD7424 WHERE VALOR_X87B =IDALARMA_064);

	CURSOR C_CLAVES_25 IS
	SELECT IDINTERVENCION_062
	FROM X87B.X8762T00@X87B_DBL0 X62 INNER JOIN X87B.X8709T00@X87B_DBL0 X09  ON (X09.IDBENEFICIARIO_009 = X62.IDBENEFICIARIO_009)
	INNER JOIN CLAVES_AD7401 ON (VALOR_X87B = X09.IDSOLICITANTE_001)
	WHERE NOT EXISTS (SELECT VALOR_X87B FROM CLAVES_AD7425 WHERE VALOR_X87B=IDINTERVENCION_062);

	CURSOR C_CLAVES_27 IS
	SELECT IDPARTEEMER_063
	FROM  X87B.X8763T00@X87B_DBL0 X63 INNER JOIN X87B.X8709T00@X87B_DBL0 X09 ON (X09.IDBENEFICIARIO_009 = X63.IDBENEFICIARIO_009)
	INNER JOIN CLAVES_AD7401 ON (VALOR_X87B = X09.IDSOLICITANTE_001)
	WHERE NOT EXISTS (SELECT VALOR_X87B FROM CLAVES_AD7427 WHERE VALOR_X87B=IDPARTEEMER_063);


   PROCEDURE INSERTA_TRAZA(P_PROCESO VARCHAR2, P_ERROR VARCHAR2, P_DESC_ERROR VARCHAR2, P_TRAZA_INFO VARCHAR2) IS
   
	BEGIN
		INSERT INTO T_ERRORES_MIG(PROCESO, ERROR, DESC_ERROR, FECHA, TRAZA_INFO)
		VALUES(P_PROCESO,P_ERROR, P_DESC_ERROR, SYSDATE, P_TRAZA_INFO);
		COMMIT;
	END;

    PROCEDURE INICIA (P_TABLAS_MIG NUMBER) IS
    
    BEGIN
		INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION. CLAVES: '||C_CARGA_CLAVES);
		IF C_CARGA_CLAVES = 1 THEN
			CARGA_CLAVES;
		END IF;
		IF C_CARGA_DATOS = 1 THEN
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION DIRECCIONES: '||C_DIRECCIONES);
			IF C_DIRECCIONES = 1 THEN
				INSERTA_TRAZA('DATOS 01',NULL,NULL,'INICIO MIGRACION DIRECCIONES');
				IF (P_TABLAS_MIG = 1 ) THEN
					--P_MIGRACION_01_DIR_MIG;
					execute immediate 'call P_MIGRACION_01_DIR_MIG()';
				ELSE
    				P_MIGRACION_01_DIR;
				END IF;
				INSERTA_TRAZA('DATOS 01',NULL,NULL,'FIN MIGRACION DIRECCIONES');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION SOLICITANTES: '||C_SOLICITANTES);
			IF C_SOLICITANTES = 1 THEN
				INSERTA_TRAZA('DATOS 02',NULL,NULL,'INICIO MIGRACION SOLICITANTES');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_02_SOL_MIG()';
				ELSE
					P_MIGRACION_02_SOL;
				END IF;
				INSERTA_TRAZA('DATOS 02',NULL,NULL,'FIN MIGRACION SOLICITANTES');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION EXPEDIENTES: '||C_EXPEDIENTES);
			IF C_EXPEDIENTES = 1 THEN
				INSERTA_TRAZA('DATOS 03',NULL,NULL,'INICIO MIGRACION EXPEDIENTES');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_03_EXP_MIG()';
				ELSE
					P_MIGRACION_03_EXP;
				END IF;
				INSERTA_TRAZA('DATOS 03',NULL,NULL,'FIN MIGRACION EXPEDIENTES');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION INFORMES: '||C_INFORMES);
			IF C_INFORMES = 1 THEN
				INSERTA_TRAZA('DATOS 04',NULL,NULL,'INICIO MIGRACION INFORMES');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_04_INF_MIG()';
				ELSE
					P_MIGRACION_04_INF;
				END IF;
				INSERTA_TRAZA('DATOS 04',NULL,NULL,'FIN MIGRACION INFORMES');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION CONTACTOS: '||C_CONTACTOS);
			IF C_CONTACTOS = 1 THEN
				INSERTA_TRAZA('DATOS 05',NULL,NULL,'INICIO MIGRACION CONTACTOS');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_05_CON_MIG()';
				ELSE
					P_MIGRACION_05_CON;
				END IF;
				INSERTA_TRAZA('DATOS 05',NULL,NULL,'FIN MIGRACION CONTACTOS');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION LIQUIDACIONES: '||C_LIQUIDACIONES);
			IF C_LIQUIDACIONES = 1 THEN
				INSERTA_TRAZA('DATOS 89',NULL,NULL,'INICIO MIGRACION LIQUIDACIONES');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_06_LIQ_MIG()';
				ELSE
					P_MIGRACION_06_LIQ;
				END IF;
				INSERTA_TRAZA('DATOS 89',NULL,NULL,'FIN MIGRACION LIQUIDACIONES');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION ALARMAS/LLAMADAS: '||C_ALARMAS);
			IF C_ALARMAS = 1 THEN
				INSERTA_TRAZA('DATOS 24',NULL,NULL,'INICIO MIGRACION ALARMAS/LLAMADAS');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call P_MIGRACION_07_ALA_MIG()';
				ELSE
					P_MIGRACION_07_ALA;
				END IF;
				INSERTA_TRAZA('DATOS 24',NULL,NULL,'FIN MIGRACION ALARMAS/LLAMADAS');
			END IF;
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION INTERVENCIONES/EMERGENCIAS: '||C_INTERVENCIONES);
			IF C_INTERVENCIONES = 1 AND C_EMERGENCIAS = 1 THEN
				INSERTA_TRAZA('DATOS 25/27',NULL,NULL,'INICIO MIGRACION INTERVENCIONES/EMERGENCIAS');
				IF (P_TABLAS_MIG = 1 ) THEN
					execute immediate 'call _MIGRACION_08_INT_MIG()';
				ELSE
					P_MIGRACION_08_INT;
				END IF;
				INSERTA_TRAZA('DATOS 25/27',NULL,NULL,'FIN MIGRACION INTERVENCIONES/EMERGENCIAS');
			END IF;
			
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO MIGRACION GIZARTE: '||C_GIZARTE);
			IF C_GIZARTE = 1 THEN
				INSERTA_TRAZA('DATOS 80/81/92/93',NULL,NULL,'INICIO MIGRACION GIZARTE');
				P_MIGRACION_O47_AD74A;			
				INSERTA_TRAZA('DATOS 80/81/92/93',NULL,NULL,'FIN MIGRACION GIZARTE');
			END IF;						
			
            -- Llamar a función generar contadores
            -- Hacer query contra tablas claves a fecha de migración
            -- Hacer query contra tablas de AD74A con usuario "MIGRADO" con fAlta a fecha de migración
            -- Insertar resultados en una nueva tabla de contadores por fecha
                
            INSERTA_TRAZA('DATOS DE CONTADORES',NULL,NULL,'INICIO INSERCION DE DATOS DE CONTADORES DE TODAS LAS TABLAS');
			
			--execute immediate 'call P_MIGRACION_09_CONTADOR(V_FECHA_SYS)';
            P_MIGRACION_09_CONTADOR(SYSDATE);
            
            INSERTA_TRAZA('DATOS DE CONTADORES',NULL,NULL,'FIN INSERCION DE DATOS DE CONTADORES DE TODAS LAS TABLAS');
			
			-- Ejecutar actualización de expdientes
			INSERTA_TRAZA('INICIA',NULL,NULL,'INICIA PROCESO ACTUALIZACION EXPEDIETNES: '||C_UPDATE);
			IF C_UPDATE = 1 THEN
				INSERTA_TRAZA('UPDATE EXPS',NULL,NULL,'INICIO ACTUALIZACION EXPEDIENTES');
				P_MIGRACION_10_UPDATE_EXPS;			
				INSERTA_TRAZA('UPDATE EXPS',NULL,NULL,'FIN ACTUALIZACION EXPEDIENTES');
			END IF;
            
		END IF;



	--C_INTERVENCIONES BOOLEAN := TRUE;
	END;

	PROCEDURE CARGA_CLAVES IS
		ID_CLAVE_01 CLAVES_AD7401.VALOR_AD74A%type;
		ID_CLAVE_00	CLAVES_AD7400.VALOR_AD74A%type;
		ID_CLAVE_06	CLAVES_AD7406.VALOR_AD74A00%type;
		ID_CLAVE_02 CLAVES_AD7402.VALOR_AD74A%type;
		ID_CLAVE_03 CLAVES_AD7403.VALOR_AD74A%type;
		ID_CLAVE_24 CLAVES_AD7424.VALOR_AD74AI%type;
		ID_CLAVE_25 CLAVES_AD7425.VALOR_AD74A%type;
		ID_CLAVE_27 CLAVES_AD7427.VALOR_AD74A%type;
	BEGIN
		INSERTA_TRAZA('CLAVES',NULL,NULL,'INICIA PROCESO CARGA CLAVE: '||C_CARGA_CLAVES);
		
		IF C_SOLICITANTES = 1 THEN
			INSERTA_TRAZA('CLAVES 01',NULL,NULL,'INICIA PROCESO CARGA CLAVES SOLICITANTES: '||C_SOLICITANTES);
			FOR R_CLAVES IN C_CLAVES_01 LOOP
				SELECT AD74A01T00_SEQ.NEXTVAL INTO ID_CLAVE_01 FROM DUAL;
					BEGIN
					INSERT INTO CLAVES_AD7401  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.ID_SOLICITANTE_01, ID_CLAVE_01, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		
		IF C_DIRECCIONES = 1 THEN
			INSERTA_TRAZA('CLAVES 06',NULL,NULL,'INICIA PROCESO CARGA CLAVES DIRECCIONES: '||C_DIRECCIONES);
			FOR R_CLAVES06_01 IN C_CLAVES_06_01 LOOP
				SELECT AD74A06T00_SEQ.NEXTVAL INTO ID_CLAVE_06 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7406  (VALOR_X87B,  VALOR_AD74A01, FECHA_MIG)
					VALUES (R_CLAVES06_01.ID_DIRECCION_06, ID_CLAVE_06, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			FOR R_CLAVES06_00 IN C_CLAVES_06_00 LOOP
				SELECT AD74A06T00_SEQ.NEXTVAL INTO ID_CLAVE_06 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7406  (VALOR_X87B,  VALOR_AD74A00, FECHA_MIG)
					VALUES (R_CLAVES06_00.ID_DIRECCION_06, ID_CLAVE_06, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			FOR R_CLAVES06_32 IN C_CLAVES_06_32 LOOP
				SELECT AD74A06T00_SEQ.NEXTVAL INTO ID_CLAVE_06 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7406  (VALOR_X87B,  VALOR_AD74A32, FECHA_MIG)
					VALUES (R_CLAVES06_32.ID_DIRECCION_06, ID_CLAVE_06, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		
		IF C_EXPEDIENTES = 1 THEN
			INSERTA_TRAZA('CLAVES 00',NULL,NULL,'INICIA PROCESO CARGA CLAVES EXPEDIENTES: '||C_EXPEDIENTES);
			FOR R_CLAVES IN C_CLAVES_00 LOOP
				SELECT AD74A00T00_SEQ.NEXTVAL INTO ID_CLAVE_00 FROM DUAL;
					BEGIN
					INSERT INTO CLAVES_AD7400  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.ID_EXPEDIENTE_00, ID_CLAVE_00, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		IF C_INFORMES = 1 THEN
			INSERTA_TRAZA('CLAVES 02',NULL,NULL,'INICIA PROCESO CARGA CLAVES INFORMES: '||C_INFORMES);
			FOR R_CLAVES IN C_CLAVES_02 LOOP
				SELECT AD74A02T00_SEQ.NEXTVAL INTO ID_CLAVE_02 FROM DUAL;
					BEGIN
					INSERT INTO CLAVES_AD7402  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.IDINFSOCIAL_003, ID_CLAVE_02, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		IF C_CONTACTOS = 1 THEN
			INSERTA_TRAZA('CLAVES 03',NULL,NULL,'INICIA PROCESO CARGA CLAVES CONTACTOS: '||C_CONTACTOS);
			FOR R_CLAVES IN C_CLAVES_03 LOOP
				SELECT AD74A03T00_SEQ.NEXTVAL INTO ID_CLAVE_03 FROM DUAL;
					BEGIN
					INSERT INTO CLAVES_AD7403  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.IDCONTACTO_004, ID_CLAVE_03, SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		IF C_ALARMAS = 1 THEN
			INSERTA_TRAZA('CLAVES 24',NULL,NULL,'INICIA PROCESO CARGA CLAVES ALARMAS: '||C_CONTACTOS);
			FOR R_CLAVES IN C_CLAVES_24 LOOP
				SELECT AD74A24T00_SEQ.NEXTVAL INTO ID_CLAVE_24 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7424  (VALOR_X87B,  VALOR_AD74AI, VALOR_AD74AO, FECHA_MIG)
					VALUES (R_CLAVES.IDALARMA_064, DECODE(R_CLAVES.DIRECCION_064,'I',ID_CLAVE_24,null), DECODE(R_CLAVES.DIRECCION_064,'O',ID_CLAVE_24,null), SYSDATE);
				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		IF C_INTERVENCIONES = 1 THEN
			INSERTA_TRAZA('CLAVES 25',NULL,NULL,'INICIA PROCESO CARGA CLAVES INTERVENCIONES: '||C_INTERVENCIONES);
			FOR R_CLAVES IN C_CLAVES_25 LOOP
				SELECT AD74A25T00_SEQ.NEXTVAL INTO ID_CLAVE_25 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7425  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.IDINTERVENCION_062, ID_CLAVE_25, SYSDATE);

				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
		IF C_EMERGENCIAS = 1 THEN
			INSERTA_TRAZA('CLAVES 27',NULL,NULL,'INICIA PROCESO CARGA CLAVES EMERGENCIAS: '||C_EMERGENCIAS);
			FOR R_CLAVES IN C_CLAVES_27 LOOP
				SELECT AD74A27T00_SEQ.NEXTVAL INTO ID_CLAVE_27 FROM DUAL;
				BEGIN
					INSERT INTO CLAVES_AD7427  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
					VALUES (R_CLAVES.IDPARTEEMER_063, ID_CLAVE_27, SYSDATE);

				EXCEPTION
					WHEN dup_val_on_index THEN
						null;
				END;
			END LOOP;
			commit;
		END IF;
	END;

/*
    function CARGA_CLAVE_01 (pid varchar) return number is
		ID_CLAVE_01  CLAVES_AD7401.VALOR_AD74A%type;
	begin
		SELECT AD74A01T00_SEQ.NEXTVAL INTO ID_CLAVE_01 FROM DUAL;
		-- Insert para la nueva tabla de claves IDSOLICITANTE_001
		BEGIN
			INSERT INTO CLAVES_AD7401  (VALOR_X87B,  VALOR_AD74A, FECHA_MIG)
			VALUES (pid, ID_CLAVE_01, SYSDATE);
		exCEPTION
			WHEN dup_val_on_index THEN
				select valor_ad74a into ID_CLAVE_01 from CLAVES_AD7401 where valor_x87b = pid;
		END;
		return id_clave_01;
	end;	*/

END PG_MIGRACION;