dbo.LN_tipo_doc_cliente_espec

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

8
Name Data Type Length Description
@accion varchar 50
@cliente int 4
@tipo_doc int 4
@familia int 4
@user_id int 4
@quien_carga varchar 1
@quien_verifica varchar 1
@activo bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.LN_tipo_doc_cliente_espec
    @accion VARCHAR(50),
    @cliente INT,
    @tipo_doc INT,
    @familia INT = 0,
    @user_id INT = NULL,
    @quien_carga VARCHAR(1) = NULL,
    @quien_verifica VARCHAR(1) = NULL,
    @activo BIT = 1
-- add more stored procedure parameters here
AS
BEGIN
    SET NOCOUNT OFF;
    -- body of the stored procedure
    IF ( @accion = 'INSERTAR' )
        BEGIN
        -- Accion que inserta un registro
        IF ( @tipo_doc IS NOT NULL AND @cliente IS NOT NULL AND @quien_carga IS NOT NULL AND @quien_verifica IS NOT NULL )
            BEGIN
                INSERT INTO LN_tipos_doc_carga_verif (
                    cliente,
                    tipo_doc,
                    quien_carga,
                    quien_verifica,
                    created_by,
                    familia
                ) VALUES (
                    @cliente,
                    @tipo_doc,
                    @quien_carga,
                    @quien_verifica,
                    @user_id,
                    @familia
                );
                RETURN;
            END
        END
    --

  IF ( @accion = 'ACTUALIZAR' )
        BEGIN
        -- Accion que actualiza un quien carga y verifica de un registro
        IF ( (SELECT COUNT(*) FROM LN_tipos_doc_carga_verif WHERE cliente=@cliente AND familia=@familia AND tipo_doc=@tipo_doc) > 0 )
            -- en caso que exista el registro lo actualiza
            BEGIN        
                UPDATE LN_tipos_doc_carga_verif
                SET quien_carga=@quien_carga, quien_verifica=@quien_verifica, modified_by=@user_id, modified=GETDATE()
                WHERE cliente=@cliente AND familia=@familia AND tipo_doc=@tipo_doc
                RETURN;
            END
        END
    --
    IF ( @accion = 'LIST_CLIENTE' )
        BEGIN
            -- Accion que lista las especificaciones de un cliente
            SELECT LN_tipos_doc_carga_verif.cliente,
                LN_tipos_doc_carga_verif.tipo_doc,
                LN_tipos_doc_carga_verif.quien_carga,
                LN_tipos_doc_carga_verif.quien_verifica,
                LN_tipos_doc_carga_verif.activo,
                LN_tipos_doc_carga_verif.created,
                LN_tipos_doc_carga_verif.created_by,
                LN_tipos_doc_carga_verif.modified,
                LN_tipos_doc_carga_verif.modified_by,
                LN_tipos_doc_carga_verif.familia ,
                LN_tipos_doc.nombre_tipo_doc FROM LN_tipos_doc_carga_verif 
            LEFT JOIN LN_tipos_doc ON LN_tipos_doc.tipo_doc=LN_tipos_doc_carga_verif.tipo_doc
            WHERE cliente=@cliente AND activo=1
            --
            RETURN;
        END
    --
    IF ( @accion = 'LIST_FAMILIA_CLIENTE' )
        BEGIN
            -- Accion que lista las especificaciones de una familia de un cliente
            -- en caso de buscar con familia 0 devuelve la especificacion generica de familias
            SELECT LN_tipos_doc_carga_verif.cliente,
                LN_tipos_doc_carga_verif.tipo_doc,
                LN_tipos_doc_carga_verif.quien_carga,
                LN_tipos_doc_carga_verif.quien_verifica,
                LN_tipos_doc_carga_verif.activo,
                LN_tipos_doc_carga_verif.created,
                LN_tipos_doc_carga_verif.created_by,
                LN_tipos_doc_carga_verif.modified,
                LN_tipos_doc_carga_verif.modified_by,
                LN_tipos_doc_carga_verif.familia ,
                LN_tipos_doc.nombre_tipo_doc FROM LN_tipos_doc_carga_verif 
            LEFT JOIN LN_tipos_doc ON LN_tipos_doc.tipo_doc=LN_tipos_doc_carga_verif.tipo_doc
            WHERE cliente=@cliente AND familia=@familia AND activo=1
            --
            RETURN;
        END
    --
    SELECT 'NO SE EJECUTO NINGUNA ACCION'
    RETURN
END
GO

Used By

No items found