#1
|
|||
|
|||
![]() Buenas,
tengo un dypro con un ALV orientado a objetos, el caso es que el programa ya esta hecho y yo tengo que cambiarlo ![]() tiene control de eventos en el alv asi que cada vez que introduzco un valor o hago cualquier cosa lo capta, el problema es que intentando quitar un registros del alv desde el control de eventos no funciona y entonces queria que pasase por el user command, pork cuando pasa por el si que lo elimina bien, he encontrado un parametro i_appl_events que precisamente lo que hace es eso pasar por el pbo y el pai CREATE OBJECT gr_gui_alv_prod EXPORTING i_parent = gr_gui_con_prod i_appl_events = 'X' pero tambien hace que ya no capture los eventos y todo el alv esta montado para funcionar con eventos. Alguien sabe si se puede forzar pasar por el user command?? para que desde la gestion de eventos pueda forzar a que pase por la dynpro como si hubiera pulsado un boton?? No se me ocurre otra solucion :_____( Muchas gracias de antemano. |
#2
|
||||
|
||||
Hola, dentro del Status GUI standard existe un boton que elimina registros, normalmente cuando creo un ALV con OO le exluyo muchos botones, entre ellos
Seria bueno solo mostrar el standard y excluir los botones que no te sirvan menos el de borrar la fila para que no modifiques mucho codigo
__________________
David Carballido Córdova ![]() |
#3
|
|||
|
|||
Muchas gracias, el problema es que yo no tengo que borrar la linea dandole a un boton tengo que borrarla con el control de eventos, cuando introducen un valor, compruebo si esta en determinada tabla y lo borro, en la tabla interna no esta y el refresh lo hace bien, pero al no pasar por el user command, creo yo, no me lo actualiza bien del todo.
Si se os ocurre algo.... ![]() Muchas gracias de nuevo ![]() |
#4
|
|||
|
|||
Puedes probar la función :
desde el PBO de la dynpro. CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' EXPORTING functioncode = '##PAI##' EXCEPTIONS function_not_supported = 1 OTHERS = 2. IF sy-subrc eq 0. d_gui = 'X'. <-- Inicializar flag indicativo del proceso ENDIF. Luego en el USER-COMMAND del PAI de la dynpro : IF NOT d_gui IS INITIAL. CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' EXPORTING functioncode = '=' EXCEPTIONS function_not_supported = 1 OTHERS = 2. CLEAR d_gui. EXIT. <-- para salir del evento y volver a PBO ENDIF. En modul-pool funciona ok, para tu ALV estiendo que también. Lo único que deber buscar es el momento en que fuerzas el salto desde el PBO al PAI. |
#5
|
|||
|
|||
Muchas gracias lo voy a probar ahora mismo
![]() |
#6
|
|||
|
|||
![]() GRACIAS GRACIAS MIL GRACIAS POR AYUDARME!!!!!
la verdad ke habia hecho una cosa mu sucia para arreglarlo pork tenia ke corregirlo si o si pero no me gustaba nada y ahora funciona como yo keria y estoy super FELIZ ![]() Bueno pues he usado la funcion que me habias comentado, la he puesto asi CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' EXPORTING functioncode = '=00' EXCEPTIONS function_not_supported = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. en el codigo del metodo que comprobaba los cambios, simula un enter y entonces pasa por el user comman. GRACIAS GRACIAS GRACIAS, es como kitarse un peso de encima ![]() |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|