Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
9| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 10 | |
| @p_seccion | int | 4 | |
| @p_tipo_doc | int | 4 | |
| @p_titulo_seccion | varchar | 100 | |
| @p_texto_bajada | varchar | 1000 | |
| @p_texto_pie | varchar | 1000 | |
| @p_orden_seccion | tinyint | 1 | |
| @p_seccion_visible | tinyint | 1 | |
| @p_user_id | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_tipo_doc_secciones_
-- Add the parameters for the stored procedure here
@accion varchar(10),
@p_seccion int,
@p_tipo_doc int,
@p_titulo_seccion varchar(100),
@p_texto_bajada varchar(1000),
@p_texto_pie varchar(1000),
@p_orden_seccion tinyint,
@p_seccion_visible tinyint,
@p_user_id int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @ord tinyint
DECLARE @secc int
DECLARE @cant tinyint
if (@accion = 'INSERT') begin
DECLARE @seccion int
INSERT INTO LN_tipo_doc_secciones
(tipo_doc, titulo_seccion, texto_bajada, texto_pie, orden_seccion, seccion_visible, created, created_by)
SELECT @p_tipo_doc AS tipo_doc, @p_titulo_seccion AS titulo_seccion,
@p_texto_bajada AS texto_bajada, @p_texto_pie AS texto_pie,
(select ISNULL(max(orden_seccion),0)+1
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc) AS orden_seccion,
@p_seccion_visible AS seccion_visible, GETDATE() AS created, @p_user_id AS created_by
SET @seccion = SCOPE_IDENTITY()
SELECT @seccion AS seccion from LN_tipo_doc_secciones
end else
if (@accion = 'UPDATE') begin
UPDATE LN_tipo_doc_secciones SET
titulo_seccion = @p_titulo_seccion,
texto_bajada = @p_texto_bajada,
texto_pie = @p_texto_pie,
seccion_visible = @p_seccion_visible,
modified = GETDATE(),
modified_by = @p_user_id
WHERE seccion = @p_seccion
end else
if (@accion = 'DELETE') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
DELETE LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET orden_seccion = orden_seccion-1
where tipo_doc = @p_tipo_doc
and orden_seccion > @ord
end else
if (@accion = 'SELECT') begin
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.seccion = @p_seccion
end else
if (@accion = 'SEARCH') begin
if (@p_seccion_visible is not null)
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
AND LN_tipo_doc_secciones.seccion_visible = @p_seccion_visible
ORDER BY LN_tipo_doc_secciones.orden_seccion
else
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
ORDER BY LN_tipo_doc_secciones.orden_seccion
end else
if (@accion = 'UP') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where seccion = @p_seccion
IF (@ord > 1) BEGIN
SELECT @secc = seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and orden_seccion = (@ord-1)
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord - 1,
modified = GETDATE(),
modified_by = @p_user_id
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord,
modified = GETDATE(),
modified_by = @p_user_id
where tipo_doc = @p_tipo_doc
and seccion = @secc
END
end else
if (@accion = 'DOWN') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where seccion = @p_seccion
SELECT @cant = MAX(orden_seccion)
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
IF (@ord < @cant) BEGIN
SELECT @secc = seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and orden_seccion = (@ord+1)
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord + 1
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord
where tipo_doc = @p_tipo_doc
and seccion = @secc
END
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_tipo_doc_secciones_
-- Add the parameters for the stored procedure here
@accion varchar(10),
@p_seccion int,
@p_tipo_doc int,
@p_titulo_seccion varchar(100),
@p_texto_bajada varchar(1000),
@p_texto_pie varchar(1000),
@p_orden_seccion tinyint,
@p_seccion_visible tinyint,
@p_user_id int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @ord tinyint
DECLARE @secc int
DECLARE @cant tinyint
if (@accion = 'INSERT') begin
DECLARE @seccion int
INSERT INTO LN_tipo_doc_secciones
(tipo_doc, titulo_seccion, texto_bajada, texto_pie, orden_seccion, seccion_visible, created, created_by)
SELECT @p_tipo_doc AS tipo_doc, @p_titulo_seccion AS titulo_seccion,
@p_texto_bajada AS texto_bajada, @p_texto_pie AS texto_pie,
(select ISNULL(max(orden_seccion),0)+1
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc) AS orden_seccion,
@p_seccion_visible AS seccion_visible, GETDATE() AS created, @p_user_id AS created_by
SET @seccion = SCOPE_IDENTITY()
SELECT @seccion AS seccion from LN_tipo_doc_secciones
end else
if (@accion = 'UPDATE') begin
UPDATE LN_tipo_doc_secciones SET
titulo_seccion = @p_titulo_seccion,
texto_bajada = @p_texto_bajada,
texto_pie = @p_texto_pie,
seccion_visible = @p_seccion_visible,
modified = GETDATE(),
modified_by = @p_user_id
WHERE seccion = @p_seccion
end else
if (@accion = 'DELETE') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
DELETE LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET orden_seccion = orden_seccion-1
where tipo_doc = @p_tipo_doc
and orden_seccion > @ord
end else
if (@accion = 'SELECT') begin
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.seccion = @p_seccion
end else
if (@accion = 'SEARCH') begin
if (@p_seccion_visible is not null)
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
AND LN_tipo_doc_secciones.seccion_visible = @p_seccion_visible
ORDER BY LN_tipo_doc_secciones.orden_seccion
else
SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
users1.first_name + ' ' + users1.last_name AS created_by_user,
users2.first_name + ' ' + users2.last_name AS modified_by_user
FROM LN_tipo_doc_secciones
INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
ORDER BY LN_tipo_doc_secciones.orden_seccion
end else
if (@accion = 'UP') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where seccion = @p_seccion
IF (@ord > 1) BEGIN
SELECT @secc = seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and orden_seccion = (@ord-1)
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord - 1,
modified = GETDATE(),
modified_by = @p_user_id
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord,
modified = GETDATE(),
modified_by = @p_user_id
where tipo_doc = @p_tipo_doc
and seccion = @secc
END
end else
if (@accion = 'DOWN') begin
SELECT @ord = orden_seccion
from LN_tipo_doc_secciones
where seccion = @p_seccion
SELECT @cant = MAX(orden_seccion)
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
IF (@ord < @cant) BEGIN
SELECT @secc = seccion
from LN_tipo_doc_secciones
where tipo_doc = @p_tipo_doc
and orden_seccion = (@ord+1)
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord + 1
where tipo_doc = @p_tipo_doc
and seccion = @p_seccion
UPDATE LN_tipo_doc_secciones SET
orden_seccion = @ord
where tipo_doc = @p_tipo_doc
and seccion = @secc
END
end
END
GO
Depends On
3Used By
No items found