Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE PRIINF0383
- --Variáveis
- DECLARE @codigoEmpPri NVARCHAR(50); --para empresa ERP e codigo
- DECLARE @nomeCl NVARCHAR(100);
- DECLARE @morada NVARCHAR(500);
- DECLARE @localidade NVARCHAR(100);
- DECLARE @codPostal NVARCHAR(150);
- DECLARE @localidadePostal NVARCHAR(100);
- DECLARE @telefone NVARCHAR(50);
- DECLARE @telemovel NVARCHAR(50);
- DECLARE @fax NVARCHAR(50);
- DECLARE @email NVARCHAR(100);
- DECLARE @website NVARCHAR(100);
- DECLARE @numContrib NVARCHAR(50);
- DECLARE @numIdentificacao NVARCHAR(50);
- DECLARE @numSegSocial NVARCHAR(50);
- DECLARE @valorAvenca FLOAT;
- DECLARE @valorHoraLiquido FLOAT;
- DECLARE @margemLucro FLOAT;
- DECLARE @supervisor NVARCHAR(50);
- DECLARE @ativo BIT;
- DECLARE @codEmpPrincipal NVARCHAR(50);
- DECLARE cursor_clientesAtivos CURSOR FOR
- SELECT DISTINCT CL.Cliente
- , CL.Nome
- , CL.Fac_Mor
- , CL.Fac_Local
- , CL.Fac_Cp
- , CL.Fac_Cploc
- , CL.Fac_Tel
- , CL.Telefone2
- , CL.Fac_Fax
- , CL.CDU_EMAIL
- , CL.EnderecoWeb
- , CL.NumContrib
- , CL.CDU_NISS
- , CL.CDU_SUPERVISOR
- FROM Clientes CL WITH (nolock)
- OPEN cursor_clientesAtivos
- FETCH FROM cursor_clientesAtivos
- INTO @codEmpPrincipal, @nomeCl, @morada, @localidade, @codPostal, @localidadePostal, @telefone, @telemovel, @fax, @email, @website, @numContrib, @numSegSocial, @supervisor
- WHILE @@FETCH_STATUS = 0
- BEGIN
- --SET @supervisor = (select TOP 1 CDU_SUPERVISOR from PRIINF0383.dbo.Clientes where cliente = @codEmpPrincipal)
- SET @supervisor = (SELECT TOP 1 Codigo FROM TGGabinetes.dbo.Funcionarios WHERE VendedorERP = @supervisor)
- SET @codigoEmpPri = (SELECT TOP 1 Codigo FROM TGGabinetes.dbo.Clientes WHERE CodigoEmpresaPrincipal = @codEmpPrincipal)
- IF(SELECT Situacao FROM Clientes WHERE Cliente = @codEmpPrincipal) = 'ACTIVO'
- SET @ativo = 1
- ELSE IF(SELECT Situacao FROM Clientes WHERE Cliente = @codEmpPrincipal) = 'INACTIVO'
- SET @ativo = 0
- ELSE IF(SELECT Situacao FROM Clientes WHERE Cliente = @codEmpPrincipal) IS NULL
- SET @ativo = 0
- IF(SELECT COUNT(*) FROM TGGabinetes.dbo.Clientes WHERE Codigo = @codigoEmpPri) = 0
- INSERT INTO TGGabinetes.dbo.Clientes(Codigo, Nome, Morada, Localidade, CodigoPostal, LocalidadeCodigoPostal,
- Telefone, Telemovel, Fax, Email, Website, NumeroContribuinte, NumeroSegurancaSocial, EmpresaERP, CodigoEmpresaPrincipal, Ativo, FuncionarioResponsavel)
- VALUES(@codigoEmpPri, @nomeCl, @morada, @localidade, @codPostal, @localidadePostal, @telefone, @telemovel, @fax, @email,
- @website, @numContrib, @numSegSocial, @codigoEmpPri, @codEmpPrincipal, @ativo, @supervisor)
- IF(SELECT COUNT(*) FROM TGGabinetes.dbo.Clientes WHERE Codigo = @codigoEmpPri) > 0
- UPDATE TGGabinetes.dbo.Clientes
- --Validar depois se atualizamos os outros campos
- SET Ativo = @ativo
- FETCH NEXT FROM cursor_clientesAtivos
- INTO @codEmpPrincipal, @nomeCl, @morada, @localidade, @codPostal, @localidadePostal, @telefone, @telemovel, @fax, @email, @website, @numContrib, @numSegSocial, @supervisor
- END
- CLOSE cursor_clientesAtivos
- DEALLOCATE cursor_clientesAtivos
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement