Skip to Content
0

Transaction Notification

Dec 22, 2016 at 02:03 PM

84

avatar image
Former Member

Hola estimados intento realizar una validación de un campo de usuario (U_CL_COPGBCO) que entrega un correlativo bajo una búsqueda formateada, lo que quiero validar que impida poder cambiar el correlativo antes de crearlo. El campo entrega el correlativo cuando le hacen un click, algunas veces los usuarios terminan modifican dolo, mi idea fue que en el caso que lo hagan dispare un mensaje comentando que no es el correlativo que le toca a dicho documento por que el correlativo depende de una serie.

Ejemplo el ultimo correlativo de la serie A es : "00078-A" entonces el correlativo que le debe tocar seria el "00079-A" pero el usuario termina modifican dolo ( antes de crearlo ) por "00378-A" .

Entonces la idea seria algo como esto :

declare @ultimo_mov int

set @ultimo_mov = 'A11579' -- La serie del documento

SELECT TOP 1 U_CL_COPGBCO FROM OVPM WHERE U_CL_NCTABCO= @ultimo_mov ORDER BY docentry DESC - Me entrega el ultimo valor de la serie entonces el siguiente valor debe ser un "+1"

Asi me botara el registro que debe ser y en el caso que modifiquen el campo antes de crearlo me impida hacerlo pero no se como plasmarlo en una validacion ( Transaction Notification ). La version de sap es la 9.1, cualquier idea sera de gran ayuda. Gracias

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Gonzalo Gomez Dec 22, 2016 at 03:22 PM
0

El transaction actúa al darle actualizar o añadir al documento, no al valor en el campo....y el valor en ese campo puede cambiar infinitas veces, bien sea tecleando o mediante búsqueda formateada

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hola tal vez no me explique bien,

El valor sigue un correlativo significa que siempre estará atada a una secuencia lo que quiero validar que esa secuencia se respete y el usuario no la pueda modificar, por que yo puedo conocer el ultimo valor registrado de esa secuencia y cual es el valor que le debería tocar como mencione arriba con el script :

SELECT TOP 1 U_CL_COPGBCO FROM OVPM WHERE U_CL_NCTABCO= @ultimo_mov ORDER BY docentry DESC > Me dara el ultimo valor con el que se registro

y el siguiente valor siempre sera un "+1" pero mi problema es que no se como expresarlo, supongo que seria como una validacion que no pueda registrarse un valor que ya se ha registrado antes. Saludos

0
Gonzalo Gomez Dec 23, 2016 at 08:10 AM
0

Lo que quiero decirte.... es que el transaction funciona al darle añadir o actualizar al documento y no al valor del campo....

Share
10 |10000 characters needed characters left characters exceeded