MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Checkbox alv (foro/showthread.php?t=73450)

josechc23 16/02/15 16:50:23

Checkbox alv
 
Hola muy buenos dias estimdos expertos ..

estoy usaando la función REUSE_ALV_GRID_DISPLAY
para desplegar un alv .. y dentro de el .. uso una columna como checkbox pero no se como hacerle para saber cuales filas fueron las que se marcaron con el checkbox .. alguien que me pueda orientar..

pancho6102 16/02/15 18:27:40

Que tal Josillo buen día

Me imagino que en la tabla interna creaste una columna de tipo C para guardar el valor marcado con el check box.

y que en la definicion del catalogo guardaste el la columna con la siguiente propiedad: CAT-CHECKBOX = 'X'.

si es asi ya solo faltaria definir el USER COMMAND en la funcion REUSE_ALV_GRID_DISPLAY y un GUI STATUS

i_callback_pf_status_set = 'PF' " for PF-STATUS
i_callback_user_command = 'USER_COMMAND'


dentro de la rutina

FORM user_command USING lv_okcode LIKE sy-ucomm l_selfield TYPE slis_selfield.

lv_okcode = sy-ucomm.

if lv_okcode eq 'BACK'. "solo puse de ejemplo la funcion BACK
LEAVE program.
endif.


DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
IF ref_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
ENDIF.

IF NOT ref_grid IS INITIAL.
CALL METHOD ref_grid->check_changed_data.
ENDIF.



LOOP AT it_alv into wa_datos WHERE check = 'X'. "campo check tipo C
"operaciones con las lineas seleccionadas
ENDLOOP.
endform.

Creo que fue un poco general, espero y te sirva, si no pues ya te pongo un ejemplo mas detallado.

Saludos.

josechc23 16/02/15 20:22:23

Hola mi estimado Paquito ....

muchas gracias por responder mi pregunta ...

solo tengo una duda manejas una tabla llamada it_alv esa cual tabla es?

esta funcion GET_GLOBALS_FROM_SLVC_FULLSCR que hace?




josechc23 16/02/15 21:26:05

Listo Paquito ...

ya quedo .... mil gracias !!!



pancho6102 16/02/15 22:34:20




la tabla it_alv es la tabla con tus datos por ejemplo una tabla para los vuelos (ejemplo mas comun).

la tabla con mis datos esta asi:
IT_ALV
CHECK(1),
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID,


lo que hace el codigo final cambia los datos en el ALV que sufrieron modificacion en la vista del ALV y lo pasa a la tabla interna digamos modificamos un valor en ALV con algun campo con propiedad INPUT, cuando pase por la funcion GET_GLOBALS_FROM_SLVC_FULLSCR se pasara el cambio a la tabla interna.


Saludos.


Husos Horarios son GMT. La hora en este momento es 22:06:16.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web