Si, los botones pueden estar bien definidos a nivel diseño, pero qué me dices del código del reporte zeta?
Puede estar programado para que no sean funcionales. ¬¬
Tendrás que brindar más datos si deseas que los @abapers te ayuden, no me animaría a decir que necesitarían leer todo el código, pero casi con seguridad que el código del menú si.
Asi es, como dice @SidV se necesita adicionar codigo para que al presionar esos botones que ya tienes configurados a nivel visual, tengan la funcionalidad de marcar y desmarcar esos radio button.
mirá por favor en la se38 el report SALV_TEST_TABLE_SELECTIONS. En el está usando también el mismo status que vos y el quiz de la cuestión es usar una ALV que la primera columna sea la de poder hacer una selección de cada fila individualmente. En ese caso los elementos del menú Marcar todo y Desmarcar todo se habilitan.
En tu aLv parece que no tienes esa primera columna de selección habilitada.
siempre es dependiento de tu programa, pero lo que si debes hacer es asignarle una ‘X’ a todos tus raddiobutton en la rutina del boton de seleccionar todo, y cuando estes en la rutina que desmarcar, solo asinale un espacio ’ '.
Ya agregué la opción que me indicas, pero lo guarda en nivel de la tabla, pero no se muestra a nivel de ALV,
La sección de código donde carga el ALV es la siguiente
METHOD generate_output.
PERFORM generate_output.
DATA: lx_msg TYPE REF TO cx_salv_msg.
DATA: lo_cols TYPE REF TO cl_salv_columns.
DATA: lo_column TYPE REF TO cl_salv_column_list.
DATA: lo_events TYPE REF TO cl_salv_events_table.
DATA: lo_event_handler TYPE REF TO lcl_event_handler.
DATA: lo_funct TYPE REF TO cl_salv_functions.
Estoy viendo que este programa lo han trabajado con metodos y clases, los botones ya me aparecen pero no me refresca las posiciones con el check marcado, al dar clip en marcar todo no me refresca la vista.
claro ya hice el loop a la tabla y moví el valor ‘X’ a campo check, modifique la tabla y todo, pero para este caso como hago un refrescar a este tipo de ALV.
Si ya puse el o_alv->refresh() pero no me refresca la pantalla.
Por no contrario cuando pongo el o_alv->display() si me muestra todo bien, pero el problema es que cuando quiero salir de la transaccion, la primera vez que hago clip me lleva al anterior alv en que estaba sin los check, y tengo que dar clip otra vez para que salga de la transaccion. Al parecer si vuelvo a poner display es como si cargara nuevamente otro alv.
@harliza0 men tu problema esta es que estas creando el objeto nuevamente, debes llevar la referencia del objeto del alv del momento al user command donde haces la actualización de la tabla interna y luego refrescar el objeto