|
#1
|
|||
|
|||
Duda sobre el evento DATA_CHANGED
Hola a todos.
tengo un alv, en el que la columna de la cantidad es editable, a partir del valor que introduzcan en una celda de esa columna modifico la celda correspondiente de la columna de precios. Esto lo he hecho como han explicado en otro post usando el evento DATA_CHANGED. Hasta aqui, todo bien. Funciona correctamente. Mi problema viene porque la columna de precios tiene marcado el flag del do_sum. Es decir que al pintar el alv, se calcula el sumatorio de la columna. Y este sumatorio no se esta actualizando. Es decir, yo cambio la cantidad, y se modifica el valor del precio, pero no se modifica la suma total de la columna precio. He estado debbugeando y todo se arreglaría si pudiera marcar el campo rs_selfield-refresh = 'X'. Y mi problema consiste en que no sé como marcarlo desde el evento DATA_CHANGED. Tambien he probado a definirme it_event_exit. CLEAR ls_event_exit. ls_event_exit-ucomm = '%GC_ 117 89'. ls_event_exit-after = 'X'. APPEND ls_event_exit TO lt_event_exit. donde he comprobado que %GC_ 117 89 es el valor que toma sy-ucomm cuando pulsas intro despues de modificar una celda, pero tampoco funciona. Si en vez del campo after, marco el campo before, si me entra en el user-command, pero luego no pasa por el evento, con lo que tampoco me vale. En fin, cualquier sugerencia será bienvenida!!! Muchas gracias por adelantado. |
#2
|
|||
|
|||
utiliza la siguiente sentencia
data: d_stable like lvc_s_stbl. d_stable-row = 'X'. d_stable-col = 'X'. CALL METHOD grid1->refresh_table_display EXPORTING is_stable = d_stable i_soft_refresh = 'X'. sALUDOS |
#3
|
||||
|
||||
HOLA TUESDAY:
esta muy bien hasta donde has avanzado me parece que has codificado bien lo unico q te falta es llamar al metodo CALL METHOD grid1->refresh_table_display para q tus cambios se refresquen internamente con esto no vas a tener problemas buena suerte.
__________________
Si necesitas ayuda solo pidemela!! |
#4
|
|||
|
|||
Hola, esa solucion la lei ayer en distintos foros, pero mi alv no es orientado a objetos yo uso la funcion 'REUSE_ALV_GRID_DISPLAY', perdón se me olvidó mencionarlo en el post anterior.
Así que no se como definirme la instancia del objeto grid1 para aplicarle el metodo refresh_table, ni en que momento hacerlo. Muchas gracias a los dos por contestar tan rapido. |
#5
|
||||
|
||||
Hay una función que te devuelve la referencia al ALV que muestras con el CALL FUNCTION... desde el evento que comentas, puedes obtener la referencia y ya puedes hacer la llamada al metodo. |
#6
|
|||
|
|||
y sabes que funcion es? O me puedes dar una indicacion de como encontrarla??
Yo he encontrado ésta "UPP_ALV_GET_GRID_INSTANCE" pero no encuentro información sobre ella, y no sé muy bien como usarla Gracias por adelantado Úlima edición por TUESDAY fecha: 27/08/08 a las 08:44:08. |
#7
|
||||
|
||||
Decirte que para la version 4.6C no esta disponible el parametro e_grid, para la 6.20 si esta disponible. Es esta. |
#8
|
|||
|
|||
Movimiento de Cursor en ALV Orientado a Objetos.
Hola buenas noches como están?
la verdad que me urge saber lo siguiente: me podrían apoyar por favor? Les comento que tengo un problema, en el cual tengo 2 pantallas una la de parámetros de selección, y la siguiente es la que me muestra una serie de materiales con su descripción, lote, cantidad..etc cuando marco la opción de agregar linea en la posición 3 me la agrega satisfactoriamente, pero al momento de agregar el material lo agrega y posteriormente me regresa el cursor al material de la posición 1, y eso es incorrecto ya que estoy tratando la linea 3 del documento. alguien sabrá porque razón realiza eso? muchas gracias por su apoyo!!!! |
#9
|
|||
|
|||
Movimiento de Cursor en ALV Orientado a Objetos.
Hola buenas noches como están?
la verdad que me urge saber lo siguiente: Les comento que tengo un problema, en el cual tengo 2 pantallas una la de parámetros de selección, y la siguiente es la que me muestra una serie de materiales con su descripción, lote, cantidad..etc cuando marco la opción de agregar linea en la posición 3 me la agrega satisfactoriamente, pero al momento de agregar el material lo agrega y posteriormente me regresa el cursor al material de la posición 1, y eso es incorrecto ya que estoy tratando la linea 3 del documento. alguien sabrá porque razón realiza eso? muchas gracias por su apoyo!!!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|