jueves, marzo 08, 2007

DYNPRO con AT EXIT-COMMAND

En la lógica de los DYNPROS, muchas veces nos puede interesar terminar la ejecución del programa al realizar una acción (como por ejemplo presionar un botón). Imaginad que tenemos un dynpro donde es obligatorio rellenar un campo. En el PAI tenemos una module que hace la comprobación. Probad a presionar el botón de cancelar de vuestro dynpro sin rellenar el campo obligatorio ¿Que pasa? Que a pesar que queremos salir del programa el PAI se ejecuta y se muestra un mensaje diciendo que es obligatorio informar el campo, pero lo que nos interesa a nosotros es salir del programa y no nos importar el valor de ningún campo. Para hacer que al apretar el botón cancele de todas formas se debe hacer dos pasos:

- Crear un module dentro del PAI que salga del programa (dentro del module hacemos LEAVE PROGRAM). En la llamada al module debemos añadir el siguiente texto AT EXIT-COMMAND.

-Asignar al botón un tipo de función 'Comando Exit'. Para esto vamos al status del dynpro y escogemos el tipo E en las características del botón.

lunes, marzo 05, 2007

Objetos locales

Nos puede interesar crear algún objeto (report, dynpro, TX) de manera temporal, es decir, no nos interesa añadirlo a una Orden de Transporte puesto que no se va a Transportar en ningún sistema (sólo pruebas) .
En este caso el objeto se guarda como objeto temporal, dentro del paquete $TMP. Si alguna vez queremos añadir a otra orden de transporte deberemos ir a la 'Entrada del catálogo de objetos y modificar su paquete por otro que si este previsto transportar. Con la Transacción SE80 se puede trabajar con los paquetes (crear, modificar, visualizar, eliminar).