cancel
Showing results for 
Search instead for 
Did you mean: 

query sap

Former Member
0 Kudos

hola

como puedo hacer si tengo un campo de usuario en la parte operaciones de stocks de transferencia

y quiero que ya no pueda ser modificado!!!!!!!!!

agradecere su respuesta-

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Puedes intentar deshabilitar el campo de usuario para la cuenta de usuario específica, así:

1. Ir al menñu Herramientas, Herramientas de personalización, Parametrizaciones.

2. En la ventana que aparece, buscar el campo deseado.

3. Frente al campo deshabilitar el check de "Activo" y/o "Visible" según sea el caso.

Nos cuentas cómo te va.

Saludos.

Former Member
0 Kudos

Hola

fijate que ese campo de usuario, necesito que no lo puedan modificar

despues  de haber realizado la transferencia como puedo hacer !!!!!!!!

gracias de antemano

former_member210784
Active Contributor
0 Kudos

Hola.

1. ¿Cómo diligencian el campode usuario, digitando manualmente o con una Búsqueda Formateada?

2. Necesitan bloquear la modificación posterior para el mismo usuario o para otro diferente?.

Former Member
0 Kudos

hola

es un campo de usuario, el digita manualmente

el campo se llama U_orden esta en la parte de transferencia

y necesito que cuando el usuario haga la transferencia, ya no se pueda

modificar por otro usuario el campo U_orden

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta dejar activo el campo para el usuario que realiza la transferencia, y para los demás lo dejas deshabilitado (que lo puedan ver pero no activo).

Nos cuentas cómo te va.

Saludos.

Former Member
0 Kudos

Tengo esta consulta pero no me valida dejar modificar el campo de usuario

IF ( @object_type = '67' AND @transaction_type IN ('U') )

BEGIN

   

    DECLARE @U_ORDEN NUMERIC

    SELECT @u_ORDEN = A.U_ORDEN FROM OWTR A

   

    WHERE A.DocEntry=convert(Int,@list_of_cols_val_tab_del)

    IF( @U_orden IS NOT NULL )

  

        BEGIN   

            set @error  = 1

            set @error_message = 'NO PUEDE CAMBIAR ORDEN ARTICULO'

       

    END

  despues que el usuario que ha realizado la trasnferencia , el campo U:_orden

no pueda ser modificado,

former_member210784
Active Contributor
0 Kudos

Hola.

Probé el Transaction Notification (TN) y funciona haciéndole un pequeño cambio:

/*

Objetivo: no permitir que se modifique el campo de usuario después de estar lleno.

*/

IF

( @object_type = '67' AND @transaction_type IN ('U') )

BEGIN

DECLARE @U_ORDEN NUMERIC

SET @U_ORDEN = (SELECT A.U_Cod_Causal FROM OWTR A WHERE A.DocEntry=@list_of_cols_val_tab_del)

   IF( @U_ORDEN IS NOT NULL )

   BEGIN   

      set @error  = 1

      set @error_message = 'NO PUEDE CAMBIAR ORDEN ARTICULO'

END

END

¿Los demás usuarios que acceden a las transferencias deben modificar algún campo después de creada o sólo la consultan sin modificar absolutamente nada?. Si es así, se puede controlar esto sólo con permisos de acceso en vez del TN

Saludos.

former_member188440
Active Contributor
0 Kudos

Sera que lo que necesita (si es que entiendo bien) es que no se pueda modificar por ningun otro dato mas que el primero que se puso al crear la OWTR ?

Si es asi, necesitaria consultar la ADOC para comparar con la ultima instancia, creo yo

former_member210784
Active Contributor
0 Kudos

Hola Mauricio.

Si, de acuerdo. Eso es lo que quería validar pues actualmente no se está comparando contra el valor anterior ni por usuario, sólo si el campo no está vacío.

Former Member
0 Kudos

hola

fijate que lo que necesito que si el otro realizo un tranferencia y lleno el campo

de usuario U_orden, ya no puede ser modificado otra vez por ese usuario,

probe la consulta pero me sigue permitiendo moficar el campo U_orden

gracias de antemano

former_member188440
Active Contributor
0 Kudos

Asi es Sandra, lo que necesitas es comparar contra la tabla ADOC pues es la que guarda el historial del movimiento. Aqui es donde tomaras como comparacion la U_orden vs la que se pretende actualizar.  Filtra tus movimientos segun tu docentry y ordenalos por el campo loginstanc desc

De tal forma que te quede algo como

IF ( @object_type = '67' AND @transaction_type IN ('U') )

BEGIN

if (select u_orden from owtr where docentry=@list_of_cols_val_tab_del) <>

(select  top 1 u_orden from adoc where docentry=@list_of_cols_val_tab_del and

ObjType=67 and loginstanc in (select max(loginstanc)-1 from adoc where docentry=@llist_of_cols_val_tab_del))

Begin

set @error=1

set @error_message='Error'

End

END

Former Member
0 Kudos

muchas gracias mauricio

me funciono

Answers (0)