dbo.AUH_DERECHO_2_DATOS_PERSONAS

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/**

EXEC AUH_DERECHO_2_DATOS_PERSONAS

**/



-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.AUH_DERECHO_2_DATOS_PERSONAS
 -- Add the parameters for the stored procedure here

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 DECLARE @cuit       varchar(50)
 DECLARE @fnac       date
 DECLARE @sexo       varchar(1)
 DECLARE @cuit_persona     varchar(50)



 /*SELECT TOP 50000 * FROM (
  SELECT CUIL_TIT_DERECHO AS CUIT, 
  DATEFROMPARTS(SUBSTRING(FECHANAC_CUIL_TIT_DERECHO,7,4),SUBSTRING(FECHANAC_CUIL_TIT_DERECHO,4,2),SUBSTRING(FECHANAC_CUIL_TIT_DERECHO,1,2)) AS FECHA_NAC,
  LEFT(SEXO_CUIL_TIT_DERECHO,1) AS SEXO
  FROM AUH_Titulares_Derecho
  WHERE ISNULL(_datos_personas_proc, 0) = 0
  GROUP BY CUIL_TIT_DERECHO, FECHANAC_CUIL_TIT_DERECHO, SEXO_CUIL_TIT_DERECHO
  ) AUH*/


 DECLARE AUHDer CURSOR FOR


 SELECT TOP 50000 AUH_Titulares_Derecho.CUIL_TIT_DERECHO AS CUIT,
   DATEFROMPARTS(SUBSTRING(AUH_Titulares_Derecho.FECHANAC_CUIL_TIT_DERECHO,7,4),SUBSTRING(AUH_Titulares_Derecho.FECHANAC_CUIL_TIT_DERECHO,4,2),SUBSTRING(AUH_Titulares_Derecho.FECHANAC_CUIL_TIT_DERECHO,1,2)) AS FECHA_NAC,
   LEFT(AUH_Titulares_Derecho.SEXO_CUIL_TIT_DERECHO,1) AS SEXO,
   DATOS_PERSONAS.c01_cuit
 FROM AUH_Titulares_Derecho LEFT OUTER JOIN DATOS_PERSONAS
   ON AUH_Titulares_Derecho.CUIL_TIT_DERECHO = DATOS_PERSONAS.c01_cuit
 WHERE DATOS_PERSONAS.c02_fecha_nac IS NULL
 AND ISNULL(AUH_Titulares_Derecho._datos_personas_proc, 0) = 0


 OPEN AUHDer

 FETCH NEXT FROM AUHDer into @cuit, @fnac, @sexo, @cuit_persona

 WHILE @@FETCH_STATUS = 0 BEGIN

  /*IF EXISTS (SELECT c01_cuit FROM DATOS_PERSONAS WHERE c01_cuit = @cuit) BEGIN*/

  IF (@cuit_persona is not null) BEGIN

   UPDATE DATOS_PERSONAS SET c02_fecha_nac = @fnac
   WHERE c01_cuit = @cuit AND c02_fecha_nac IS NULL

  END
  
  ELSE BEGIN

   INSERT INTO DATOS_PERSONAS (c01_cuit, c02_fecha_nac)
   VALUES (@cuit, @fnac)

  END

  /*
   anulado para no realizar un update directo sobre padrones. 
   enviamos a una tabla temporal que será procesada más tarde.
  
   IF EXISTS (SELECT identificacion FROM padrones
   WHERE identificacion = @cuit AND isnull(sexo,'X') != @sexo) begin
  
   UPDATE padrones SET sexo = @sexo 
   WHERE identificacion = @cuit 
  
   end*/


  if not exists (select cuit from padrones_sexo_update where cuit = @cuit) begin
   insert into padrones_sexo_update (cuit, sexo) values (@cuit, @sexo)
  end

  UPDATE AUH_Titulares_Derecho SET _datos_personas_proc = 1 WHERE CUIL_TIT_DERECHO = @cuit

  --SELECT @cuit as CUIT_PROCESADO

  FETCH NEXT FROM AUHDer into @cuit, @fnac, @sexo, @cuit_persona
 END

 CLOSE AUHDer
 DEALLOCATE AUHDer
 

END
GO

Used By

No items found