dbo.backend_abm_usuarios_productos_secciones

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

10
Name Data Type Length Description
@p_accion_seccion char 1
@p_cliente int 4
@p_user_id int 4
@p_login varchar 60
@p_prod_codigo int 4
@p_seccion int 4
@p_estado_producto char 1
@p_limites_consumos int 4
@p_bloquea bit 1
@p_usuario int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.backend_abm_usuarios_productos_secciones
@p_accion_seccion char(1), 
@p_cliente int, 
@p_user_id int, 
@p_login varchar(60), 

@p_prod_codigo int, 
@p_seccion int,

@p_estado_producto char(1), 
@p_limites_consumos int, 
@p_bloquea bit, 
@p_usuario int

AS
BEGIN
 
    SET NOCOUNT ON;
    
 if (@p_limites_consumos = '' or @p_limites_consumos = null) begin set @p_limites_consumos = 0 end 
 
 set @p_user_id = (select user_id from users where username = @p_login)
  
 if (@p_accion_seccion = 'A') 
 begin
  if (select count(*) from usuarios_productos where user_id = @p_user_id and id_producto = @p_prod_codigo and id_seccion = @p_seccion) = 0
  begin
   insert into usuarios_productos (cliente, user_id, id_producto, id_seccion, activo, limite_consumo, bloquear_consumo, created, created_by)
                          values (@p_cliente, @p_user_id, @p_prod_codigo, @p_seccion,@p_estado_producto,@p_limites_consumos,@p_bloquea,GETDATE(),@p_usuario) 
   select 'OK' as error
  end 
  else
  begin
   select 'alta duplicada' as error
  end
 end 

 if (@p_accion_seccion = 'M') 
 begin
  update usuarios_productos 
     set activo = @p_estado_producto, 
         limite_consumo = @p_limites_consumos, 
      bloquear_consumo = @p_bloquea, 
      modified = GETDATE(), 
      modified_by = @p_usuario
   where cliente = @p_cliente
     and user_id = @p_user_id 
     and id_producto = @p_prod_codigo
     --and id_seccion  = @p_seccion --> para que se modifique todo el producto con todas sus secciones en un solo update
  select 'OK' as error
 end 


 if (@p_accion_seccion = 'B') 
 begin
 /*
  update usuarios_productos
    set activo = '0'
   where cliente = @p_cliente
     and user_id = @p_user_id 
     and id_producto = @p_prod_codigo
     and id_seccion = @p_seccion
     */

  delete from usuarios_productos
   where cliente = @p_cliente
     and user_id = @p_user_id 
     and id_producto = @p_prod_codigo
     and id_seccion = @p_seccion
  select 'OK' as error
 end 
  
END

GO

Used By

No items found