PDA

Ver la Versión Completa : Control sin pasar por dynpro


yoabapyupi
26/05/16, 13:56:43
Saludos,

En un modulpool tengo varias dynpros.

Necesito que un campo en una de las dynpros sea obligatorio, es decir, que el usuario introduzca algún valor. El problema es que es posible que el usuario no pase por esa dynpro.

¿Como puedo hacer ese control si el usuario no pasa por esa dynpro?

Muchas gracias de antemano.

DavidMX
26/05/16, 14:48:56
Desconozco el proceso de tu programa y no entiendo porque debería ser obligatorio un campo de una dynpro en la cual es posible que el usuario no entre. La sentencia que te puede ayudar es OBLIGATORY ejem.

PARAMETERS p_campo TYPE tabla-campo OBLIGATORY.

En cuanto a la pantalla puedes hacer que se ejecute después de la ejecución de la pantalla anterior y que esta no se salga hasta que llenen ese campo podrías utilizar un siclo y mensaje de error.

Espero esto te ayude saludos.

yoabapyupi
27/05/16, 09:20:45
Gracias por el aporte,

nos vale tu respuesta de que pasar por la dynpro sea obligatorio. El tema es que la dynpro actualiza un infotipo de HR y el objeto que queremos actualizar tiene más de un infotipo y no todos son obligatorios.

¿Como podemos hacer que la dynpro que nos hemos creado para crear ese infotipo sea obligatoria?

Ya hemos puesto que el campo de esa dynpro sea "required".

La transacción con la que estamos trabajando es PV11.

yoabapyupi
03/06/16, 09:15:33
Saludos de nuevo,

¿Como puede hacerse que una dynpro sea obligatoria?

alvarops90
06/06/16, 02:11:14
Buenas,

No entiendo muy bien tu duda, ¿ una Dynpro obligatoria?...

Si a lo que te refieres es que el usuario tiene que pasar por esa dynpro obligatoriamente, pon esa dynpro como principal en la tranx. Si a lo que te refieres es que primero debe rellenar una serie de parámetros y después pasar a esa dynpro, pon a todos los botones que llamen a esa dynpro y después que continúe, pero me parece un método un poco...

Saludos

sconoredhot
06/07/16, 18:38:33
Hola,

quizas algo mas sencillo es que desde esa dynpro el valor que ingrese el usuario se pase a una variable global, por ejemplo GV_VALOR.
entonces, al grabar, salir o lo que necesite, simplemente verificas:
IF GV_VALOR IS INITIAL.
si no tiene valor, quiere decir que no fue a la dynpro y no ingresó valor, entonces no grabas/salis, y le pones un mensaje que diga que vaya a la dynpro e ingrese valor.
ELSE (si tiene valor)
grabar / salir / etc
ENDIF.

Espero que te sirva

yoabapyupi
12/07/16, 10:21:35
Hola,

el problema es que estamos trabajando con infotipos de HR y la grabación se hace en programa estándar...

omegaotaku
12/07/16, 19:31:35
Saludos,

En un modulpool tengo varias dynpros.

Necesito que un campo en una de las dynpros sea obligatorio, es decir, que el usuario introduzca algún valor. El problema es que es posible que el usuario no pase por esa dynpro.

¿Como puedo hacer ese control si el usuario no pasa por esa dynpro?

Muchas gracias de antemano.

Yo tenia el mismo problema en una misma dynpro con unos radio buttons y lo solucione de la siguiente manera:

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-name EQ 'TU_PARAMETER'
SCREEN-required = '2'."salta la validación
MODIFY SCREEN.
ENDLOOP.

en donde luego:

AT SELECTION-SCREEN ON TU_PARAMETER

valido los campos y si no están cargados les muestro un mensaje:
'Complete todos los campos obligatorios por favor.'
Saludos.