PDA

Ver la Versión Completa : Posicionar pantalla en alv OO


zezita
30/11/11, 08:12:16
Buenos días,

estoy haciendo una dynpro con un módulo de funciones en la que he colocado un ALV OO de la clase cl_gui_alv_grid.

En este ALV he incluido un campo checkbox para seleccionar las celdas que quiera. Por los requisitos del programa, debo actualizar la cantidad de registros seleccionados en un campo de la dynpro, lo hago de manera 'dinámica', de manera que cuando selecciono un campo del ALV, lanzo la función CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' que emula la pulsación de la tecla INTRO para actualizar el total de campos seleccionados.

Mi problema viene, cuando hago esta selección, la pantalla no se me posiciona en la última celda seleccionada.

He probado con :
CALL METHOD wg_grid_cen->SET_SCROLL_INFO_VIA_ID
EXPORTING
* IS_ROW_INFO = wl_row
IS_COL_INFO = wl_col
IS_ROW_NO = wl_roid.

y con:

*CALL METHOD wg_grid_cen->set_current_cell_via_id
*
* EXPORTING
* IS_COLUMN_ID = wl_col
* IS_ROW_ID = wl_row.

En teoría los valores los he conseguido haciendo esto:

LOOP AT p_data->mt_mod_cells INTO ls_mod_cell.

de manera que en ls_mod_cell, tengo las posiciones, pero aún así me vuelve a la parte superior de la pantalla.

Puede que sea porque IS_ROW_INFO, está compuesto por ROWTYPE e INDEX, pero no sé cómo rellenar esta estructura, aunque a la función no se la he enviado.

¿alguna idea?

Gracias de antemano.

zezita
30/11/11, 14:33:57
Me contesto a mi mismo después de haberlo conseguido, por si a alguien le interesa.

Era bastante evidente, casi vergonzante.

Como emulo la pulsación de la tecla intro, pasa por el pbo mis modificaciones,por lo tanto, con incluir el metodo CALL METHOD wg_grid_cen->set_current_cell_via_id en el PBO ha funcionado.

Gracias y un saludo.