PDA

Ver la Versión Completa : Problema con call screen


GAMO28
15/12/10, 01:14:03
Hola a todos, tal vez alguien cual es la instruccion o si lo estoy haciendo mal.
Actualmente estoy trabajando un programa(ejecutable) desde la SE38 en la cual mando a llamar a un dynpro por medio del call screen. el programa hace todo lo que quiero pero al momento de hacer click en el boton de 'SALIR' o 'REGRESAR' no me retorna al programa que llamo al dynpro sino que me manda al programa SAPMSSY0 y debo de dar nuevamente click al boton de 'SALIR' o 'REGRESAR' para que me retorne al programa Z que llamo a la dynpro (que es una pantalla de parametros).
Este es parte del codigo
*Inicio del programa
START-OF-SELECTION.
perform llena_lista.
call screen 0100.
END-OF-SELECTION.

En el PAI tengo esto:
MODULE user_command_0100 INPUT.
CASE sy-ucomm
WHEN 'BACK' OR 'EXIT'.
SET SCREEN 0.
ENDCASE.

Ya lo hice con un SET SCREEN 0. o con el LEAVE TO SCREEN 0. Y siempre me regresa a al programa SAPMSSY0. Hay alguna manera de saltar ese llamado y que me mande de una vez a mi programa Z.

ppchico
15/12/10, 10:16:22
Hola a todos, tal vez alguien cual es la instruccion o si lo estoy haciendo mal.
Actualmente estoy trabajando un programa(ejecutable) desde la SE38 en la cual mando a llamar a un dynpro por medio del call screen. el programa hace todo lo que quiero pero al momento de hacer click en el boton de 'SALIR' o 'REGRESAR' no me retorna al programa que llamo al dynpro sino que me manda al programa SAPMSSY0 y debo de dar nuevamente click al boton de 'SALIR' o 'REGRESAR' para que me retorne al programa Z que llamo a la dynpro (que es una pantalla de parametros).
Este es parte del codigo
*Inicio del programa
START-OF-SELECTION.
perform llena_lista.
call screen 0100.
END-OF-SELECTION.

En el PAI tengo esto:
MODULE user_command_0100 INPUT.
CASE sy-ucomm
WHEN 'BACK' OR 'EXIT'.
SET SCREEN 0.
ENDCASE.

Ya lo hice con un SET SCREEN 0. o con el LEAVE TO SCREEN 0. Y siempre me regresa a al programa SAPMSSY0. Hay alguna manera de saltar ese llamado y que me mande de una vez a mi programa Z.

Seguro que solo tienes eso?? Que se está mostrando en esta DYNPRO?? Es que con esa información en principio debería de ir bien, tienes que estar llamando a algo por otro lado

jtristan
15/12/10, 11:12:55
He hecho la prueba con el código que pasas y funciona perfectamente. ¿En el llenar_lista simplemente cargas una tabla o se hace algo más?

Un saludo.

GAMO28
15/12/10, 14:27:26
Gracias por su respuesta, la verdad les comento como esta el asunto.
Hice un programa llamado zde_auditar en la se38 (no es modul pool, es programa ejecutable) y a su vez le cree una dynpro donde muestro dos control table. Ya dentro del programa el form llena_lista, si llena una tabla interna que se muestra en los control table al momento de hacer el call screen 0100.
Pero al hacer el SET SCREEN 0 o LEAVE TO SCREEN 0 No me regresa al programa ZDE_AUDITAR sino que me manda a ese otro programa SAPMSSY0 y tengo que dar nuevamente BACK o EXIT para que me regrese a ZDE_AUDITAR (que practicamente es una pantalla donde se llenan los parametros para mostrar la informacion en los control tables).

Gracias.

ppchico
15/12/10, 14:34:15
Gracias por su respuesta, la verdad les comento como esta el asunto.
Hice un programa llamado zde_auditar en la se38 (no es modul pool, es programa ejecutable) y a su vez le cree una dynpro donde muestro dos control table. Ya dentro del programa el form llena_lista, si llena una tabla interna que se muestra en los control table al momento de hacer el call screen 0100.
Pero al hacer el SET SCREEN 0 o LEAVE TO SCREEN 0 No me regresa al programa ZDE_AUDITAR sino que me manda a ese otro programa SAPMSSY0 y tengo que dar nuevamente BACK o EXIT para que me regrese a ZDE_AUDITAR (que practicamente es una pantalla donde se llenan los parametros para mostrar la informacion en los control tables).

Gracias.
Pero es que con eso que comentas, debería regresar correctamente de la DYNPRO y volver a la pantalla de selección... seguro que dentro de la DYNPRO no haces ninguna llamada a otro call transaction o algo así?? que tienes puesto en el PBO¿? Es que con lo que comentas debería funcionar correctamente.. A unas malas, si lo que quieres es que regrese a tu REPORT y no encuentras otra solución, puedes hacer un leave to transaction a tu transacción en vez del SET SCREEN 0... pero aun así es un poco chapuza... algo se te está escapando por ahí!!

Suerte!

cubanito
15/12/10, 17:32:16
Hola GAMO28...

_ Ya verificaste que tienes un STATUS GUI??? y que le asignaste el 'BACK' y el 'EXIT' a los íconos correspondientes???

_ Si es así, declaraste el SET PF-STATUS 'XXX'??? Dónde??? En el PAI o en el PBO???

Saludos!!!

jtristan
16/12/10, 06:32:57
He vuelto a hacer la prueba añadiendo el grid por si las moscas, y sigue funcionando perfectamente. Lo único que se me ocurre es que pegues todo el código para poder verle entero. Desde luego es algo muy raro lo que te está ocurriendo.

Un saludo.