MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Control sin pasar por dynpro (foro/showthread.php?t=75778)

yoabapyupi 26/05/16 13:56:43

Control sin pasar por dynpro
 
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
 
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


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.


Husos Horarios son GMT. La hora en este momento es 00:04:26.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web