Valor antes de Actualizar en Transaction.Notificat

Buenos dias, desde ya gracias por su ayuda, disculpen, cuando realizamos una Orden de Venta, entra en un proceso en el que necesitamos saber la hora exacta de cuando el usuario cambio el valor de un campo de usuario que se llama U_Entregado = NO a U_Entregado = SI, entonces se me ocurrió poder verificar que si el proceso es por actualización y el campo U_Entregado Cambio de NO a SI que actualice otro campo con nombre U_FechaEntregado, El campo U_Entregado se modifica por medio de un programa de un tercero que no tengo acceso a modificarlo, por eso quería tratar por medio de Transacction.Notification, gracias por sus comentarios.

Slds.

Hola

del proceso tal y como lo describes llego a la conclusión de que la otra aplicación accede a la base de datos y lo modifica ¿es así? ¿o utiliza el DI API de SAP Business One para realizar la modificación?

Si el valor del campo se actualizar por SQL, no podrás utilizar el TN. El TN sólo aplica cuando se realizan operaciones desde el interfaz de usuario, DI API o DTW.

Un saludo
Agustín

Marcos, buenos dias, fijate que la actualización la realiza un software de un Tercero que es trabaja en ambiente web y utiliza DI API.

Hola

considero que necesitas saber qué usuario SBO está utilizando el software, para añadirlo en las condiciones del TN, y la validación es sencilla.

Un saludo
Agustín

Amarcos, en estos casos se utilizan licencias indirectas de SAP B1, cada usuario entre con el que le pertenece, ejemplo, el Ventas2 es el usuario del vendedor1 el crea la orden y el que actualiza el estatus es uno de los despachadores que de estos hay aproximadamente 10, segun entiendo el transaction.notification mantiene los registros entre la grabacion y el commit, para que si existe alguna regla que invalide se haga un Rollback, lo que yo necesito es comparar el campo del registro que se estan tratando de grabar contra el que tiene originalmente la base de datos. espero haber podido explicar adecudamente, gracias.

Puedes validar en la tabla ADOC la ultima actualización para ver si ese campo fue el que cambio, lo vinculas con los valores del ObjType, DocEntry que te arroja el TN (@object_type y @list_of_cols_val_tab_del) traes el top 1 ordenados por de forma descendente por UpdateDate y UpdateTime y los comparas contra el valor actual de la tabla en cuestión (ORDR)

Epr06, te agradezco mucho por tu ayuda, hice una prueba y me funciona correctamente, de nuevo gracias.

Slds.