Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.56 KB | None | 0 0
  1. CREATE OR REPLACE
  2. PROCEDURE ProcedureImportarEmpleados
  3. IS
  4.     intEmpleado INTEGER;
  5.     strNombres VARCHAR(500);
  6.     strApellidos VARCHAR(500);
  7.     strApellidoCasada VARCHAR(500);
  8.     intGenero INTEGER;
  9.     datFechaNacimiento DATE;
  10.     intEstadoCivil INTEGER;
  11.     strIdEmpleado VARCHAR(500);
  12.     intSistemaIdentificador INTEGER;
  13.     intEstadoActivo INTEGER;
  14.     intSecuenciaPersonaNatural INTEGER;
  15.     intPersonaNatural INTEGER;
  16.     intSecuenciaEmpleado INTEGER;
  17.    
  18.     CURSOR CursorImportarEmpleados IS
  19.         SELECT
  20.             Empleado,
  21.             Nombres,
  22.             Apellidos,
  23.             ApellidoCasada,
  24.             Genero,
  25.             FechaNacimiento,
  26.             EstadoCivil,
  27.             IdEmpleado,
  28.             TipoIdentificador,
  29.             EstadoActivo
  30.         FROM
  31.             IMP_Empleado
  32.         WHERE
  33.             Actualizado = 0;
  34. BEGIN
  35.     OPEN CursorImportarEmpleados;
  36.     LOOP
  37.         FETCH CursorImportarEmpleados INTO intEmpleado, strNombres, strApellidos, strApellidoCasada, intGenero, datFechaNacimiento, intEstadoCivil, strIdEmpleado, intSistemaIdentificador, intEstadoActivo;
  38.        
  39.     EXIT WHEN CursorImportarEmpleados%NOTFOUND;
  40.        
  41.         SELECT PersonaNatural INTO intPersonaNatural
  42.         FROM WFM_Empleado          
  43.         WHERE Identificador = strIdEmpleado
  44.             AND SistemaIdentificador = intSistemaIdentificador;
  45.    
  46.             --Actualiza la persona natural en WFM_PersonaNatural
  47.             UPDATE WFM_PersonaNatural
  48.             SET            
  49.                 Nombres = strNombres,
  50.                 Apellidos = strApellidos,
  51.                 ApellidoCasada = strApellidoCasada,
  52.                 Genero = intGenero,
  53.                 FechaNacimiento = datFechaNacimiento,
  54.                 EstadoCivil = intEstadoCivil               
  55.             WHERE PersonaNatural = intPersonaNatural;                  
  56.        
  57.     END LOOP;  
  58.     COMMIT;
  59.     CLOSE CursorImportarEmpleados;         
  60. EXCEPTION WHEN NO_DATA_FOUND THEN
  61.       --Obtiene la siguiente secuencia de GEN_secuencia para WFM_PersonaNatural
  62.             ProcedureObtenerSecuencia(22,intSecuenciaPersonaNatural);      
  63.            
  64.             --Inserta la persona natural en WFM_PersonaNatural
  65.             INSERT INTO  WFM_PersonaNatural
  66.                 (PersonaNatural,Nombres,Apellidos,ApellidoCasada,Genero,FechaNacimiento,EstadoCivil,ValorDocIdentificacion,TipoDocIdentificacion,EstadoEliminado)
  67.             VALUES
  68.                 (intSecuenciaPersonaNatural,strNombres,strApellidos,strApellidoCasada,intGenero,datFechaNacimiento,intEstadoCivil,NULL,NULL,1);
  69.      
  70.             --Obtiene la siguiente secuencia de GEN_secuencia para WFM_Empleado
  71.             ProcedureObtenerSecuencia(23,intSecuenciaEmpleado);                
  72.            
  73.             --Inserta el empleado en WFM_Empleado
  74.             INSERT INTO WFM_Empleado
  75.                 (Empleado,PersonaNatural,Usuario,Identificador,SistemaIdentificador,EstadoEliminado)
  76.             VALUES
  77.                 (intSecuenciaEmpleado,intSecuenciaPersonaNatural,NULL,strIdEmpleado,intSistemaIdentificador,1);                              
  78. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement