Hola a todos

Debo hacer un TN que restringa el ingreso de las condiciones de pago al crear y modificar un socio de negocio, solo 3 usuarios pueden ingresar socios nuevos, su restricción es que solo pueden imputar 3 condiciones de pago el TN funciona bien solo en la actualización, pero al ingreso de un nuevo SN el SP no me funciona, espero que puedan darme una ayudita

Probe usando dos variables @Pago_SN1 que almacene la condición que viene por defecto (desde los parametros generales) y @Pago_OV1, la condición que estoy ingresando al momento de crear el SN

If @Object_Type = ‘2’ AND @transaction_type IN (‘A’,’U’)

Begin

    DECLARE

       @CardCode1 varchar(12),

       @Pago_SN1 SMALLINT,

       @UserId1 SMALLINT,

       @Pago_OV1 SMALLINT

      SET @CardCode1 =(SELECT CardCode from OCRD where CardCode = @list_of_cols_val_tab_del)

      SET @Pago_SN1 = (SELECT GroupNum FROM OCRD WHERE CardCode = @CardCode1)

      SET @UserId1 = (SELECT UserSign2 FROM OCRD WHERE CardCode=@CardCode1)

      SET @Pago_OV1 = (SELECT GroupNum FROM OCRD WHERE CardCode=@list_of_cols_val_tab_del)

              

      IF (@Pago_OV1 IN ( ‘1’,’2′,’3′) AND @UserId1 IN (‘1′,’4′,’8’))

     BEGIN

          SELECT @error = -600, @error_message= ‘No puede usar esta Condicion de Pago’

     END                     

End

gracias

Marianet

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Gustavo Monterroso

    Marianet, buenos dias no te funciona en la creacion porque cuando creas el usuario que lo esta haciendo se almacena en UserSign y cuando actualizas en UserSign2, podria quedar asi:

    If @Object_Type = ‘2’ AND @transaction_type IN (‘A’,’U’)

    Begin

        DECLARE

           @CardCode1 varchar(12),

           @Pago_SN1 SMALLINT,

           @UserId1 SMALLINT,

        @UserId2 SMALLINT,

           @Pago_OV1 SMALLINT

          SET @CardCode1 =(SELECT CardCode from OCRD where CardCode = @list_of_cols_val_tab_del)

          SET @Pago_SN1 = (SELECT GroupNum FROM OCRD WHERE CardCode = @CardCode1)

          SET @UserId1 = (SELECT UserSign2 FROM OCRD WHERE CardCode=@CardCode1)

       SET @UserId2 = (SELECT UserSign FROM OCRD WHERE CardCode=@CardCode1)

          SET @Pago_OV1 = (SELECT GroupNum FROM OCRD WHERE CardCode=@list_of_cols_val_tab_del)

                 

          IF (@Pago_OV1 IN ( ‘1’,’2′,’3′) AND @UserId2 IN (‘1′,’4′,’8′) and @transaction_type=’A’)

         BEGIN

              SELECT @error = -600, @error_message= ‘No puede usar esta Condicion de Pago’

         END             

      

            IF (@Pago_OV1 IN ( ‘1’,’2′,’3′) AND @UserId1 IN (‘1′,’4′,’8′) and @transaction_type=’U’)

         BEGIN

              SELECT @error = -600, @error_message= ‘No puede usar esta Condicion de Pago’

         END                    

           

    End

    (0) 

Leave a Reply