dbo.clientes_insertar

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

30
Name Data Type Length Description
@p_cli_codigo int 4
@p_nombre varchar 200
@p_country_code varchar 2
@p_identificador varchar 10
@p_taxid varchar 50
@p_calle varchar 100
@p_altura varchar 20
@p_piso varchar 20
@p_depto varchar 20
@p_codpos varchar 20
@p_localidad varchar 20
@p_provincia varchar 20
@p_email varchar 100
@p_telefonos varchar 100
@p_website varchar 100
@p_contacto_factura varchar 100
@p_email_factura varchar 100
@p_telefono_factura varchar 100
@p_contacto_1 varchar 100
@p_telefono_1 varchar 100
@p_email_1 varchar 100
@p_contacto_2 varchar 100
@p_telefono_2 varchar 100
@p_email_2 varchar 100
@p_cod_facturacion_agrupado int 4
@p_cliente_agrupado int 4
@p_comentarios varchar -1
@p_ramo int 4
@p_subramo int 4
@p_user_id int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.clientes_insertar  
@p_cli_codigo  int,
@p_nombre   varchar(200), 
@p_country_code     varchar(2), 
@p_identificador varchar(10),
@p_taxid    varchar(50), 
@p_calle  varchar(100), 
@p_altura      varchar(20),
@p_piso      varchar(20)  = null,
@p_depto      varchar(20) = null,
@p_codpos      varchar(20),
@p_localidad      varchar(20),
@p_provincia      varchar(20),
@p_email   varchar(100), 
@p_telefonos        varchar(100),
@p_website   varchar(100) = null,
@p_contacto_factura  varchar(100),
@p_email_factura varchar(100),
@p_telefono_factura   varchar(100),
@p_contacto_1  varchar(100) = null,
@p_telefono_1  varchar(100) = null,
@p_email_1  varchar(100) = null,
@p_contacto_2  varchar(100) = null,
@p_telefono_2  varchar(100) = null,
@p_email_2  varchar(100) = null,
@p_cod_facturacion_agrupado int  = null,
@p_cliente_agrupado int  = null,
@p_comentarios varchar(max) = null,
@p_ramo int = null,
@p_subramo int = null,
@p_user_id int


AS
BEGIN
    SET NOCOUNT ON;

 DECLARE @p_cliente    int = 0
    DECLARE @ok     char(1)
 DECLARE @CLICODIGOEXISTENTE int = 0
 declare @nombre_existente varchar(100) 
 declare @error int=0
 declare @mensajeerror varchar(200)

 /* SE VERIFICA QUE EL CLIENTE CON SU CÓDIGO DE FACTURACIÓN NO EXISTA PREVIAMENTE */
 /*set @CLICODIGOEXISTENTE = (select top 1 cliente from clientes where cli_codigo = @p_cli_codigo)*/
 select top 1 @CLICODIGOEXISTENTE = cliente,@nombre_existente= nombre_cliente from clientes where cli_codigo = @p_cli_codigo


 if (@CLICODIGOEXISTENTE > 0)
  begin
   set @error = 100
   set @mensajeerror = 'El código de facturación ya existe.'
   select @error as cod_error, @mensajeerror as mensaje_error,@p_cli_codigo as cli_codigo,@CLICODIGOEXISTENTE as id_cliente,@nombre_existente as nombre_cliente
   RETURN 
  end


 /* SE VERIFICA QUE EL CUIT NO EXISTA PREVIAMENTE COMO CLIENTE */
/*
select top 1 @p_cliente = cliente,@nombre_existente= nombre_cliente from clientes where numero = @p_taxid


if (@p_cliente > 0)
begin
set @error = 200
set @mensajeerror = 'El cuit ya existe como cliente.'
select @error as cod_error, @mensajeerror as mensaje_error,@p_taxid as tax_id,@p_taxid as id_cliente,@nombre_existente as nombre_cliente
RETURN 
end
*/



  /* SI NO EXISTE EL CÓDIGO DE FACTURACIÓN SE PROCEDE A DAR DE ALTA EL NUEVO CLIENTE */
  if (@error = 0)
   BEGIN
      set @ok = 'N'  
      WHILE (@ok = 'N')
        BEGIN
           set @p_cliente = ROUND(((999999999 - 1) * RAND() + 1), 0)
           if (select count(*) from clientes where cliente = @p_cliente) = 0
              begin 
            set @ok = 'S'
           end
           END 
   END

/*
alter table clientes add contacto_1 varchar(50) null
alter table clientes add te_1 varchar(50) null
alter table clientes add email_1 varchar(100) null
alter table clientes add te_2 varchar(50) null
alter table clientes add email_2 varchar(100) null

*/

 
-- select * from clientes_union where cli_codigo= 71250

  IF (@ok='S')
  begin
   insert into clientes (estado_cliente,cliente,cli_codigo,nombre_cliente,identificador,cuit,numero,
   domicilio_pagos,telefonos,email,website,contacto_pagos,e_mail_factura,telefono_pagos,contacto_1,te_1,email_1
   ,contacto_2,te_2,email_2,comentarios,ram_codigo,sra_codigo,created,created_by,
   country_code,localidad_pagos,provincia_pagos,cp_pagos)

   values ('A',@p_cliente, @p_cli_codigo,@p_nombre,@p_identificador,@p_taxid,@p_taxid,
   @p_calle + ' ' + @p_altura + ' ' + @p_piso + ' ' +  @p_depto ,
   @p_telefonos,@p_email,@p_website,@p_contacto_factura,@p_email_factura,@p_telefono_factura,@p_contacto_1,@p_telefono_1,@p_email_1,
   @p_contacto_2,@p_telefono_2,@p_email_2,@p_comentarios,@p_ramo,@p_subramo,getdate(),@p_user_id,
   @p_country_code,@p_localidad,@p_provincia,@p_codpos)

   if (@p_cod_facturacion_agrupado is not null)
   begin
    insert into clientes_union (cli_codigo,cli_codigo_union,cliente,cliente_union)
    values (@p_cli_codigo,@p_cod_facturacion_agrupado,@p_cliente,@p_cliente_agrupado)
   end

   set @error = 0
   set @mensajeerror = 'Alta de nuevo cliente exitosa'
   select @error as cod_error, @mensajeerror as mensaje_error,@p_cli_codigo as cli_codigo,@p_cliente as id_cliente
   RETURN 

     END

END
GO

Depends On

1

Used By

No items found