Retroceder de campos obligatorios ABAP

Cuando se crean dynpros con campos obligatorios, al momento de querer retroceder la pantalla sin haber ingresado dato alguno te lo bloquea, para evitar ello y poder retroceder sin inconvenientes se emplea las siguientes lineas de código en el PAI y en el menú.

1- En el menú, en la parte de barra de herramientas, dar click a nuestros botones de retroceso y salida, dentro de cada uno de ellos hay que indicarles que son botones de tipo salida (comando exit), tal como muestra la imagen:

Image

2- En la dynpro, en la lógica del programa para los procesos PAI, se debe incluir un modulo que se realizara cuando se presione en los botones de tipo salida, para nuestro caso hemos llamado a este modulo EXIT_COMMAND.

PROCESS AFTER INPUT.
 MODULE EXIT_COMMAND AT EXIT-COMMAND.

3- Una vez creado el modulo, dando doble click en cima de él podremos crear su código en algún include de nuestro programa. Dentro de este include nos cercioraremos de que los botones seleccionados sean los de retroceso a través de la variable sy-ucomm (la cual trae el código del botón presionado), si se comprueban que son los botones de salida le indicaremos que retroceda la pantalla. En caso contrario si hubieran otros botones que hemos creados y le hemos colocado el tipo de salida “E” podremos buscarlos en este mismo modulo y hacer la lógica necesaria, evitando con ello que los campos obligatorios no nos permitan realizar dichas acciones.

*&———————————————————————*
*&      Module  EXIT_COMMAND  INPUT
*&———————————————————————*
*       text
*———————————————————————-*
MODULE EXIT_COMMAND INPUT.
IF sy-ucomm = ‘&SAL’ OR sy-ucomm = ‘&EXIT’.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.                 ” EXIT_COMMAND  INPUT

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s