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
/*
exec sp_posiciones_fijas_asigna_cuit
*/
CREATE OR ALTER PROCEDURE dbo.sp_posiciones_fijas_asigna_cuit
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ERRORNUMBER int
DECLARE @idreg INT,@dni varchar(8),@denominacion varchar(150),@dniOrig varchar(8),@CUIT VARCHAR(11)
DECLARE @W_Nombre VARCHAR(70)
DECLARE @W_NroDoc VARCHAR(12)
DECLARE @nombre_contains varchar(8000)
begin
DECLARE registrosAprocesar Cursor
FOR
select top 3000 idreg,dni,denominacion from posiciones_fijas where procesado_cuit =0 and nombre_cliente='WORLDSYS14082018'
/*
and len(ltrim(rtrim(dni)))<8
*/
Open registrosAprocesar
Fetch NEXT FROM registrosAprocesar INTO @idreg,@dni,@denominacion
While (@@FETCH_STATUS = 0)
BEGIN
set @dniOrig = @dni
--set @dni = iif(len(ltrim(rtrim(@dni)))<8,'00000000' + @dni,@dni)
--set @dni = CONVERT(varchar(8),right(@dni,8))
set @dni= RIGHT('00000000'+CAST(@dni AS VARCHAR(8)),8)
SET @W_Nombre = @denominacion
SET @W_NroDoc = @dni
SET @nombre_contains = @denominacion
--select @dniOrig as dnioriginal,@dni as dni
--select * from posiciones_fijas
/*
EXEC @CUIT = sp_buscar_cuit @W_Nombre,@W_NroDoc,@nombre_contains
*/
declare @cantidad int = 0
declare @W_Nombre1 VARCHAR(70)
declare @W_Cuit1 VARCHAR(12)
declare @iguales BIT
declare @encontro BIT
declare @resultado BIT
set @encontro = 0
if(@W_NroDoc is not null and @W_NroDoc != '')
begin
--set @W_NroDoc = right('00000000'+@W_NroDoc,8);
set @cantidad = (SELECT COUNT(*)
from padrones
where cuerpo_clave = @W_Nrodoc
and habilitado = 1
and identificador in( select identificador from identificadores where identificadores.country_code = 'AR'))
if (@cantidad = 0)
begin
select @CUIT = null
end
if (@cantidad = 1)
begin
SELECT @CUIT = identificacion
from padrones
where cuerpo_clave = @W_Nrodoc
and habilitado = 1
and identificador in( select identificador from identificadores where identificadores.country_code = 'AR')
set @encontro = 1
end
set @nombre_contains= '"' + @nombre_contains + '"'
if (@cantidad > 1 and @nombre_contains is not null)
begin
set @encontro = (select count(*) from padrones where cuerpo_clave = @W_Nrodoc and contains(nombre_persona,@nombre_contains))
if(@encontro = 1)
begin
select @CUIT = identificacion from padrones where cuerpo_clave = @W_Nrodoc and contains(nombre_persona,@nombre_contains)
end
if(@encontro = 0)
begin
select @CUIT = null
end
if(@encontro > 1)
begin
select @CUIT = null
end
if (@encontro = 0)
begin
select @CUIT = null
end
end
end
else
begin
if (@nombre_contains is not null)
begin
set @encontro = (select count(*) from padrones where contains(nombre_persona,@nombre_contains))
if(@encontro = 1)
begin
select @CUIT = identificacion from padrones where contains(nombre_persona,@nombre_contains)
end
if(@encontro = 0)
begin
select @CUIT = null
end
if(@encontro > 1)
begin
select @CUIT = null
end
end
end
/*
select @CUIT as jjjjj,@encontro as enc
*/
if(@encontro = 1)
begin
UPDATE posiciones_fijas SET cuit_asignado=@CUIT,procesado_cuit=1 where idreg= @idreg
end
Fetch NEXT FROM registrosAprocesar INTO @idreg,@dni,@denominacion
END
CLOSE registrosAprocesar
DEALLOCATE registrosAprocesar
end
declare @aAfip int=0
select @aAfip = count(*) from posiciones_fijas where nombre_cliente='WORLDSYS14082018' and procesado_cuit=0
select @aAfip
/* SI NO HAY MAS DNI PARA ASIGNAR CUIT LOS MANDO PARA PASAR POR AFIP */
if (@aAfip=321)
BEGIN
exec sp_posiciones_fijas_cuit_a_afip
END
END
GO
GO
/*
exec sp_posiciones_fijas_asigna_cuit
*/
CREATE OR ALTER PROCEDURE dbo.sp_posiciones_fijas_asigna_cuit
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ERRORNUMBER int
DECLARE @idreg INT,@dni varchar(8),@denominacion varchar(150),@dniOrig varchar(8),@CUIT VARCHAR(11)
DECLARE @W_Nombre VARCHAR(70)
DECLARE @W_NroDoc VARCHAR(12)
DECLARE @nombre_contains varchar(8000)
begin
DECLARE registrosAprocesar Cursor
FOR
select top 3000 idreg,dni,denominacion from posiciones_fijas where procesado_cuit =0 and nombre_cliente='WORLDSYS14082018'
/*
and len(ltrim(rtrim(dni)))<8
*/
Open registrosAprocesar
Fetch NEXT FROM registrosAprocesar INTO @idreg,@dni,@denominacion
While (@@FETCH_STATUS = 0)
BEGIN
set @dniOrig = @dni
--set @dni = iif(len(ltrim(rtrim(@dni)))<8,'00000000' + @dni,@dni)
--set @dni = CONVERT(varchar(8),right(@dni,8))
set @dni= RIGHT('00000000'+CAST(@dni AS VARCHAR(8)),8)
SET @W_Nombre = @denominacion
SET @W_NroDoc = @dni
SET @nombre_contains = @denominacion
--select @dniOrig as dnioriginal,@dni as dni
--select * from posiciones_fijas
/*
EXEC @CUIT = sp_buscar_cuit @W_Nombre,@W_NroDoc,@nombre_contains
*/
declare @cantidad int = 0
declare @W_Nombre1 VARCHAR(70)
declare @W_Cuit1 VARCHAR(12)
declare @iguales BIT
declare @encontro BIT
declare @resultado BIT
set @encontro = 0
if(@W_NroDoc is not null and @W_NroDoc != '')
begin
--set @W_NroDoc = right('00000000'+@W_NroDoc,8);
set @cantidad = (SELECT COUNT(*)
from padrones
where cuerpo_clave = @W_Nrodoc
and habilitado = 1
and identificador in( select identificador from identificadores where identificadores.country_code = 'AR'))
if (@cantidad = 0)
begin
select @CUIT = null
end
if (@cantidad = 1)
begin
SELECT @CUIT = identificacion
from padrones
where cuerpo_clave = @W_Nrodoc
and habilitado = 1
and identificador in( select identificador from identificadores where identificadores.country_code = 'AR')
set @encontro = 1
end
set @nombre_contains= '"' + @nombre_contains + '"'
if (@cantidad > 1 and @nombre_contains is not null)
begin
set @encontro = (select count(*) from padrones where cuerpo_clave = @W_Nrodoc and contains(nombre_persona,@nombre_contains))
if(@encontro = 1)
begin
select @CUIT = identificacion from padrones where cuerpo_clave = @W_Nrodoc and contains(nombre_persona,@nombre_contains)
end
if(@encontro = 0)
begin
select @CUIT = null
end
if(@encontro > 1)
begin
select @CUIT = null
end
if (@encontro = 0)
begin
select @CUIT = null
end
end
end
else
begin
if (@nombre_contains is not null)
begin
set @encontro = (select count(*) from padrones where contains(nombre_persona,@nombre_contains))
if(@encontro = 1)
begin
select @CUIT = identificacion from padrones where contains(nombre_persona,@nombre_contains)
end
if(@encontro = 0)
begin
select @CUIT = null
end
if(@encontro > 1)
begin
select @CUIT = null
end
end
end
/*
select @CUIT as jjjjj,@encontro as enc
*/
if(@encontro = 1)
begin
UPDATE posiciones_fijas SET cuit_asignado=@CUIT,procesado_cuit=1 where idreg= @idreg
end
Fetch NEXT FROM registrosAprocesar INTO @idreg,@dni,@denominacion
END
CLOSE registrosAprocesar
DEALLOCATE registrosAprocesar
end
declare @aAfip int=0
select @aAfip = count(*) from posiciones_fijas where nombre_cliente='WORLDSYS14082018' and procesado_cuit=0
select @aAfip
/* SI NO HAY MAS DNI PARA ASIGNAR CUIT LOS MANDO PARA PASAR POR AFIP */
if (@aAfip=321)
BEGIN
exec sp_posiciones_fijas_cuit_a_afip
END
END
GO
Depends On
4Used By
No items found