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
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
Depends On
2Used By
No items found