Ayuda SAP

Mensaje de error en va02

Hola gururs,

Necesito mostrar un mensaje de dialogo al meter un valor dentro de la pestaña condiciones de la va02, encontré un include donde se hace la operación y ahí mismo le coloque el mensaje lo cual si me sale el mensaje, pero para quitarlo y seguir debo darle doble enter y al grabar tambien. Alguien sabe porque y como puedo quitarlo?

les muestro como lo ingrese

esta es la pestaña y me muestra el mensaje, pero me doy cuenta que tengo que darle doble enter ya que modifica el campo de PRECIO y el de PRECIO VTA Recomendada.

1 me gusta

Hola Ulises, no es un capricho el mío eh… por favor (ya no sé como pedirte esto), no me adjuntes capturas de TEXTO.

Pon en modo texto (es decir, copia y pega el texto) del nombre del include, y el código que pusiste. :pray:

xkwert = komp-netwr - komp-wavwr.
     if xkwert < 0.
     MESSAGE i398(00) WITH 'La utilidad es negativa'.
     endif.
endform.

@SidV así esta bien?

1 me gusta

Hola,

Tenés como opción, declarar una variable global, por ejemplo GV_MOSTRADO.

Entonces, en el código que tenés, después del MESSAGE, ponés GV_MOSTRADO = ‘X’.
y aparte, cubriendo tu código, ponés IF GV_MOSTRADO IS INITIAL.
De esta manera el mensaje se va a mostrar sólo una vez.

Saludos.

3 Me gusta

@sconoredhot gracias por tu respuesta, la variable la puedo declarar ahi mismo en el include? el GV_MOSTRADO debería contener el campo xkwert? que es el resultado

Hola,

Podés probar de declararla en el mismo include, pero no creo que te guarde el valor.

Yo la pondría en otro include que tenga declaraciones globales, como por ej LV61ATOP.

y, por otro lado, seria declarada TYPE C. Ya que solo necesitamos que guarde una X o vacío.

Saludos.

2 Me gusta

excelente @sconoredhot ya sale una vez, pero sale antes de que ingrese a la pestaña de condiciones y guardar el cambio mira lo tengo así:

form frm_kondi_wert_011.
  xkwert = komp-netwr - komp-wavwr.
     IF gv_enter is initial.
     if xkwert < 0.
     MESSAGE i398(00) WITH 'La utilidad es negativa'.
     gv_enter = 'X'.
     endif.
     endif.
endform.

Lo de como verificar que se mande en la pestaña de condiciones no lo sé, pero…

si necesitás mandarlo al momento de grabar sería:

IF FCODE = ‘SICH’.

ENDIF.

Saludos.

@sconoredhot el FCODE se debe declarar también? disculpa si pregunto mucho pero no llevo mucho en esto y apenas lo estoy comprendiendo.

Hola,

No hay problema. No, esa variable ya está declarada, prueba de usarla.

Saludos.

Te agradezco la ayuda @sconoredhot, funciona perfectamente.

Saludos desde México

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.