cancel
Showing results for 
Search instead for 
Did you mean: 

Poblar tabla de usuario a partir de la actualizacion de socio de negocio

Former Member
0 Kudos

Buenos días, tengo un inconveniente ya que necesito que cuando yo le coloque '1' en un campo del socio de negocio este arrastre el código del mismo a una tabla de usuario que cree llamada TABLA_BLO y quede insertado de manera automatica a partir de una busqueda formateada. he intentado con un select y me funciona de manera correcta sin embargo me tocaria ingresar a la tabla y estarla actualizando de manera manual y lo que se requiere es que esto quede de manera automatica. Agradezco las ideas que me puedan aportar para el desarrollo del mismo.

Accepted Solutions (1)

Accepted Solutions (1)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

yo lo haría desde el transaction notification, cuando se modifique el socio de negocio lo insertaría en la tabla de usuario. Es la manera más sencilla de hacerlo.

Un saludo

Agustín Marcos Cividanes

Former Member
0 Kudos

Pero esto como lo controlaria? lo que sucede es que se tiene un campo para establecer el bloqueo a los clientes esto lo desbloque y bloquea los directores y el area de cartera, sin embargo lo que se quiere es que cuando el gerente general bloquee un cliente nadie lo pueda desbloquear asi tengan la opcion de hacerlo con otros clientes. para esto lo que pretendia era que cuando el gerente realice el bloqueo esto se vaya a una tabla y lo que este alli solo lo modifique desde el usuario de el. pero adicional a lo anterior y es lo que no he logrado es que el sistema identifique que el bloqueo lo hizo el usuario del gerente y automaticamente agregue el sn a la tabla creada.

este fue el sp que diseñe y el cual ya funciona si diligencio la tabla de forma manual.

if @object_type in ('2')AND @transaction_type in ('U') begin --Socios de negocio

        DECLARE @TABLA_BLO VARCHAR

        if(select Count(*) --–Nombre campo obligatorio

   from OCRD T0 INNER JOIN  [@TABLA_BLO] T1 ON T0.CardCode = T1.Code

                  where ((T0.ValidComm='NO' AND (UserSign2 not in ('5'))

                  and T0.CardCode = @list_of_cols_val_tab_del)))>0 begin

                        set @error= 10

                        set @error_message = 'SP BLOQUEO CLIENTES5: BLOQUEO INMODIFICABLE SOLO PRESIDENCIA IE GRUPO  AUTORIZA'

          end

end

he tratado de usar el siguiente comando para la insertar la tabla pero no me ha funcionado

INSERT INTO [@TABLA_BLO] (name) values ('$[$5.0.0','$7.0.0')

agradezco si me puedes orientar.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos días

Para insertar datos en tablas no nativas, yo recomiendo usar el Post_TransactionNotification, ya que este se ejecuta cuando el dato ya está validado por el Transaction Notification.

Tu código debería ser algo así.

if @object_type = '2' and @transaction_type ='U'

begin

     declare @dato_1 varchar(100)

     declare @dato_2 varchar(100)

     set @dato_1 = (select Campo from OCRD where CardCode=@list_of_cols_val_tab_del)

     set @dato_2 = (select Campo from OCRD where CardCode=@list_of_cols_val_tab_del)

     insert into [@TU_TABLA]

     values (@dato_1,@dato_2)

end

PD: las variables de tipo $[$5.0.0] solo funcionan dentro de SAP.

Saludos

Former Member
0 Kudos

Hola felipe ya lo pude resolver muchas gracias por tu ayuda me fue de gran utilidad.

Former Member
0 Kudos

Buenos dias Sr. Felipe, Mi nombre es Gabriel Escobar te saludo desde Paraguay, soy un programador Junior y nuevo en el SAP B1, serias tan amable de de facilitarme un manual de TN? Desde ya muchas gracias!

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola Gabriel, bienvenido.

Este es el documento oficial

Dropbox - Using the SBO_SP_TransactionNotification Stored Procedure.pdf

Saludos

Answers (1)

Answers (1)

Former Member
0 Kudos

Muy agradecido Sr. Felipe, muchas gracias por la pronta respuesta.

Saludos cordiales