PDA

Ver la Versión Completa : Confirmacion luego de report Write


Ariel-StaFe
22/08/13, 12:57:54
Estimados:
tengo un programa donde se ingresa un documento x
el mismo toma ese documento, busca los datos y lo muestra tipo Report Write.. (en una rutina aparte)
y luego, el usuario debe verificar los datos visualizados para dar el ok de borrar o no.
Pero cualquier mensaje pidiendo confirmacion al usuario, sale previo a la visualizacion por write. (sea por MESSAGE, o CALL FUNCTION 'POPUP_TO_CONFIRM')

Es decir. que la visualizacion la hace al final de todo. pidiendo confirmacion antes.
Como puedo hacer para forzar que los Write's se ejecuten antes ?

Espero haber sido claro.
Muchas gracias.

ballan
22/08/13, 15:20:47
Primer prueba a utilizar las sentencias

LEAVE LIST-PROCESSING
LEAVE TO LIST-PROCESSING

Si eso no te funciona creo que tendras que crear algun boton o algo en tu lista y entonces mostrar el popup cuando pulsen dicho boton

Ariel-StaFe
22/08/13, 18:55:35
Estimado Ballan
Muchas Gracias. Estuve probando pero:
el LEAVE TO LIST-PROCESSING sigue igual, muestra el write desp del Popup de confirmacion.
y el LEAVE LIST-PROCESSING No muestra nada.

Voy a ver el tema por el lado de un botón.

Saludos

ballan
23/08/13, 10:09:55
A la sentencia write le puedes añadir

AS CHECKBOX
AS ICON

y tenia alguna otra opcion que ahora no recuerdo exactamente, en principio con eso y asignandole un UCOMM deberias de poder recepcionarlo y hacer lo que quieres

De todas formas lo mejor seria que postees el codigo y asi podemos analizarlo para ver si hay una opcion mas limpia porque en principio deberia de poder hacerse lo que quieres sin necesidad de implementar botones, pulsadores en la pantalla del write

Ariel-StaFe
23/08/13, 13:44:43
Muchas gracias por tu tiempo.
Te comento que para variar. como le lo pedian para "ayer".. como siempre. tuve que resolverlo rapido. y lo hice con la misma funcion
CALL FUNCTION 'POPUP_TO_CONFIRM'
Dentro de esta.. o Visualiza el reporte.. o Efectua otra acción.
Tendre en cuenta tus apreciaciones para otra ocasión similar.
(aunque es mejor tratarlo con un modul pool parece)
Muchisimas gracias !.
Abrazo

Ariel-StaFe
11/09/13, 19:37:06
Ballan
Como estas, perdon que te moleste.
Tengo otro reporte, del tipo alv, que cuando hacen click sobre una posicion, abre un reporte de tipo write.. (codigo sobre el mismo programa que contiene el alv), y solo me lo visualiza si le coloco despues la sentencia LEAVE TO LIST-PROCESSING

Peero. me queda planchado ahi. muestra el reporte write.. pero no me deja volver al reporte principal (alv), ni me toma las funciones del FileStatus ni las funciones de SAP de arriba (Back, Finalizar, Cancelar), que me puede estar faltando ?

Muchas gracias desde ya.
Saludos

ballan
12/09/13, 11:39:00
Prueba a utilizar LEAVE LIST-PROCESSING para salir del modo lista y que te permita tocar botones y procesar los PBO y PAI de las dynpros

Si no te funciona prueba a utilizar la adiccion AND RETURN TO SCREEN xxxx en la llamada LEAVE TO LIST-PROCESSING

Ariel-StaFe
12/09/13, 12:30:54
Ballan
Gracias por tu tiempo.
Pero no funciona.
Es un Reporte tipo ALV. dentro del ALV, si el usuario hace click sobre una fila, captura la fila, y abre un detalle (tipo report write) sobre ese documento, solo quiero que se muestre dicho detalle, y desp se pueda cerrar y volver al ALV.
El LEAVE TO LIST-PROCESSING, lo abre. pero queda todo deshabilitado, muestra las funciones del File-Status, pero no ejecuta mas nada. (hay que salir con /n)
Si luego del LEAVE TO LIST-PROCESSING le coloco el LEAVE LIST-PROCESSING directamente el programa no abre el detalle que quiero, no muestra nada, por lo que quedo trabado ahi. Sigo buscando.
Muchas gracias.
Ss

ballan
12/09/13, 14:34:45
Debes estar teniendo algun tipo de problema con el PF-STATUS

Puedes probar a hacer la llamada de la siguiente forma


LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
SET PF-STATUS space.
SUPPRESS DIALOG.


Tambien puedes darle un vistazo al programa DEMO_LEAVE_TO_LIST_PROCESSING

Ariel-StaFe
16/09/13, 15:18:30
Ballan
Pude resolverlo
Muchisimas gracias !