dbo.LN_campos_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

13
Name Data Type Length Description
@accion varchar 10
@p_campo int 4
@p_nombre_campo varchar 100
@p_etiqueta varchar 300
@p_tipo_campo varchar 1
@p_longitud smallint 2
@p_decimales tinyint 1
@p_opciones text -1
@p_validacion varchar 1
@p_filas tinyint 1
@p_columnas tinyint 1
@p_user_id int 4
@p_anual_vencida tinyint 1

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_campos_ 
 -- Add the parameters for the stored procedure here

 @accion         varchar(10),
 @p_campo        int,
 @p_nombre_campo       varchar(100),
 @p_etiqueta        varchar(300),
 @p_tipo_campo       varchar(1),
 @p_longitud        smallint,
 @p_decimales       tinyint,
 @p_opciones        text,
 @p_validacion       varchar(1),
 @p_filas        tinyint,
 @p_columnas        tinyint,

 @p_user_id        int,

 @p_anual_vencida      tinyint = 0
 
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 IF (@accion = 'INSERT') BEGIN

  DECLARE @campo int

  INSERT INTO LN_campos
   (nombre_campo, etiqueta, tipo_campo, longitud, decimales, opciones, validacion, filas, columnas, anual_vencida, created, created_by)
  values
   (@p_nombre_campo, @p_etiqueta, @p_tipo_campo, @p_longitud, @p_decimales, @p_opciones, @p_validacion, @p_filas, @p_columnas, @p_anual_vencida, GETDATE(), @p_user_id)

  SET @campo = SCOPE_IDENTITY()

  SELECT @campo AS campo FROM LN_campos

 END ELSE

  IF (@accion = 'UPDATE') BEGIN

   UPDATE LN_campos SET
   nombre_campo = @p_nombre_campo, 
   etiqueta = @p_etiqueta, 
   tipo_campo = @p_tipo_campo,
   longitud = @p_longitud,
   decimales = @p_decimales,
   opciones = @p_opciones, 
   validacion = @p_validacion,
   filas = @p_filas,
   columnas = @p_columnas,
   anual_vencida = @p_anual_vencida,
   modified = GETDATE(),
   modified_by = @p_user_id
   WHERE campo = @p_campo
  

  END ELSE
  
   IF (@accion = 'DELETE') BEGIN

    DECLARE @tipodoc int
    DECLARE TiposDoc cursor for

    select tipo_doc from LN_tipo_doc_campos
    where campo = @p_campo

    Open TiposDoc
    fetch next from TiposDoc into @tipodoc
    while @@FETCH_STATUS = 0 begin
     exec LN_tipo_doc_campos_ 'delete', @tipodoc, @p_campo, NULL
     fetch next from TiposDoc into @tipodoc
    end
    Close TiposDoc
    Deallocate TiposDoc

    DELETE FROM LN_campos_col WHERE campo = @p_campo
   
    DELETE LN_campos
    WHERE campo = @p_campo

   END ELSE
 
    IF (@accion = 'SELECT') BEGIN
     
     SELECT LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, 
       LN_campos.tipo_campo, LN_campos.longitud, LN_campos.decimales,
       LN_campos.opciones, LN_campos.validacion,
       CASE 
        WHEN LN_campos.tipo_campo = 'N' THEN 'Numérico'
        WHEN LN_campos.tipo_campo = 'T' THEN 'Texto'
        WHEN LN_campos.tipo_campo = 'D' THEN 'Fecha'
        WHEN LN_campos.tipo_campo = 'B' THEN 'SI/NO'
        WHEN LN_campos.tipo_campo = 'S' THEN 'Sel. opciones'
        WHEN LN_campos.tipo_campo = 'M' THEN 'Texto largo'
        WHEN LN_campos.tipo_campo = 'R' THEN 'Radio'
        WHEN LN_campos.tipo_campo = 'C' THEN 'Checkbox'
        WHEN LN_campos.tipo_campo = 'F' THEN 'Archivo'
        WHEN LN_campos.tipo_campo = 'L' THEN 'Texto fijo'
        WHEN LN_campos.tipo_campo = 'G' THEN 'Tabla'
       END AS nombre_tipo_campo,
       LN_campos.filas, LN_campos.columnas, LN_campos.anual_vencida,

       CONVERT(VARCHAR(19), LN_campos.created, 121) AS created,
       LN_campos.created_by, users1.first_name + ' ' + users1.last_name AS created_by_user,
       CONVERT(VARCHAR(19), LN_campos.modified, 121) AS modified,
       LN_campos.modified_by, users2.first_name + ' ' + users2.last_name AS modified_by_user
     FROM LN_campos
     LEFT OUTER JOIN users users1 ON LN_campos.created_by = users1.user_id
     LEFT OUTER JOIN users users2 ON LN_campos.modified_by = users2.user_id
     WHERE campo = @p_campo


    END ELSE BEGIN

     IF (@p_nombre_campo IS NULL) BEGIN

      IF (@p_tipo_campo IS NULL)

       SELECT LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, 
         LN_campos.tipo_campo, LN_campos.longitud, LN_campos.decimales,
         LN_campos.opciones, LN_campos.validacion,
         CASE 
          WHEN LN_campos.tipo_campo = 'N' THEN 'Numérico'
          WHEN LN_campos.tipo_campo = 'T' THEN 'Texto'
          WHEN LN_campos.tipo_campo = 'D' THEN 'Fecha'
          WHEN LN_campos.tipo_campo = 'B' THEN 'SI/NO'
          WHEN LN_campos.tipo_campo = 'S' THEN 'Sel. opciones'
          WHEN LN_campos.tipo_campo = 'M' THEN 'Texto largo'
          WHEN LN_campos.tipo_campo = 'R' THEN 'Radio'
          WHEN LN_campos.tipo_campo = 'C' THEN 'Checkbox'
          WHEN LN_campos.tipo_campo = 'F' THEN 'Archivo'
          WHEN LN_campos.tipo_campo = 'L' THEN 'Texto fijo'
          WHEN LN_campos.tipo_campo = 'G' THEN 'Tabla'
         END AS nombre_tipo_campo,
         LN_campos.filas, LN_campos.columnas, LN_campos.anual_vencida,

         CONVERT(VARCHAR(19), LN_campos.created, 121) AS created,
         LN_campos.created_by, users1.first_name + ' ' + users1.last_name AS created_by_user,
         CONVERT(VARCHAR(19), LN_campos.modified, 121) AS modified,
         LN_campos.modified_by, users2.first_name + ' ' + users2.last_name AS modified_by_user
       FROM LN_campos
       LEFT OUTER JOIN users users1 ON LN_campos.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_campos.modified_by = users2.user_id
       ORDER BY LN_campos.nombre_campo

      ELSE

       SELECT LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, 
         LN_campos.tipo_campo, LN_campos.longitud, LN_campos.decimales,
         LN_campos.opciones, LN_campos.validacion,
         CASE 
          WHEN LN_campos.tipo_campo = 'N' THEN 'Numérico'
          WHEN LN_campos.tipo_campo = 'T' THEN 'Texto'
          WHEN LN_campos.tipo_campo = 'D' THEN 'Fecha'
          WHEN LN_campos.tipo_campo = 'B' THEN 'SI/NO'
          WHEN LN_campos.tipo_campo = 'S' THEN 'Sel. opciones'
          WHEN LN_campos.tipo_campo = 'M' THEN 'Texto largo'
          WHEN LN_campos.tipo_campo = 'R' THEN 'Radio'
          WHEN LN_campos.tipo_campo = 'C' THEN 'Checkbox'
          WHEN LN_campos.tipo_campo = 'F' THEN 'Archivo'
          WHEN LN_campos.tipo_campo = 'L' THEN 'Texto fijo'
          WHEN LN_campos.tipo_campo = 'G' THEN 'Tabla'
         END AS nombre_tipo_campo,
         LN_campos.filas, LN_campos.columnas, LN_campos.anual_vencida,

         CONVERT(VARCHAR(19), LN_campos.created, 121) AS created,
         LN_campos.created_by, users1.first_name + ' ' + users1.last_name AS created_by_user,
         CONVERT(VARCHAR(19), LN_campos.modified, 121) AS modified,
         LN_campos.modified_by, users2.first_name + ' ' + users2.last_name AS modified_by_user
       FROM LN_campos
       LEFT OUTER JOIN users users1 ON LN_campos.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_campos.modified_by = users2.user_id
       WHERE LN_campos.tipo_campo = @p_tipo_campo
       ORDER BY LN_campos.nombre_campo

     END ELSE BEGIN

      IF (@p_tipo_campo IS NULL)

       SELECT LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, 
         LN_campos.tipo_campo, LN_campos.longitud, LN_campos.decimales,
         LN_campos.opciones, LN_campos.validacion,
         CASE 
          WHEN LN_campos.tipo_campo = 'N' THEN 'Numérico'
          WHEN LN_campos.tipo_campo = 'T' THEN 'Texto'
          WHEN LN_campos.tipo_campo = 'D' THEN 'Fecha'
          WHEN LN_campos.tipo_campo = 'B' THEN 'SI/NO'
          WHEN LN_campos.tipo_campo = 'S' THEN 'Sel. opciones'
          WHEN LN_campos.tipo_campo = 'M' THEN 'Texto largo'
          WHEN LN_campos.tipo_campo = 'R' THEN 'Radio'
          WHEN LN_campos.tipo_campo = 'C' THEN 'Checkbox'
          WHEN LN_campos.tipo_campo = 'F' THEN 'Archivo'
          WHEN LN_campos.tipo_campo = 'L' THEN 'Texto fijo'
          WHEN LN_campos.tipo_campo = 'G' THEN 'Tabla'
         END AS nombre_tipo_campo,
         LN_campos.filas, LN_campos.columnas, LN_campos.anual_vencida,

         CONVERT(VARCHAR(19), LN_campos.created, 121) AS created,
         LN_campos.created_by, users1.first_name + ' ' + users1.last_name AS created_by_user,
         CONVERT(VARCHAR(19), LN_campos.modified, 121) AS modified,
         LN_campos.modified_by, users2.first_name + ' ' + users2.last_name AS modified_by_user
       FROM LN_campos
       LEFT OUTER JOIN users users1 ON LN_campos.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_campos.modified_by = users2.user_id
       WHERE (LN_campos.nombre_campo LIKE '%' + @p_nombre_campo + '%'
         OR LN_campos.etiqueta LIKE '%' + @p_nombre_campo + '%')
       ORDER BY LN_campos.nombre_campo

      ELSE

       SELECT LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, 
         LN_campos.tipo_campo, LN_campos.longitud, LN_campos.decimales,
         LN_campos.opciones, LN_campos.validacion,
         CASE 
          WHEN LN_campos.tipo_campo = 'N' THEN 'Numérico'
          WHEN LN_campos.tipo_campo = 'T' THEN 'Texto'
          WHEN LN_campos.tipo_campo = 'D' THEN 'Fecha'
          WHEN LN_campos.tipo_campo = 'B' THEN 'SI/NO'
          WHEN LN_campos.tipo_campo = 'S' THEN 'Sel. opciones'
          WHEN LN_campos.tipo_campo = 'M' THEN 'Texto largo'
          WHEN LN_campos.tipo_campo = 'R' THEN 'Radio'
          WHEN LN_campos.tipo_campo = 'C' THEN 'Checkbox'
          WHEN LN_campos.tipo_campo = 'F' THEN 'Archivo'
          WHEN LN_campos.tipo_campo = 'L' THEN 'Texto fijo'
          WHEN LN_campos.tipo_campo = 'G' THEN 'Tabla'
         END AS nombre_tipo_campo,
         LN_campos.filas, LN_campos.columnas, LN_campos.anual_vencida,

         CONVERT(VARCHAR(19), LN_campos.created, 121) AS created,
         LN_campos.created_by, users1.first_name + ' ' + users1.last_name AS created_by_user,
         CONVERT(VARCHAR(19), LN_campos.modified, 121) AS modified,
         LN_campos.modified_by, users2.first_name + ' ' + users2.last_name AS modified_by_user
       FROM LN_campos
       LEFT OUTER JOIN users users1 ON LN_campos.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_campos.modified_by = users2.user_id
       WHERE LN_campos.tipo_campo = @p_tipo_campo
       AND (LN_campos.nombre_campo LIKE '%' + @p_nombre_campo + '%'
         OR LN_campos.etiqueta LIKE '%' + @p_nombre_campo + '%')
       ORDER BY LN_campos.nombre_campo

       
     END


    END
END

GO

Used By

No items found