|
#1
|
|||
|
|||
Urgente Ayuda con Table Control
Tengo la siguiente definicion en mi programa:
CONTROLS: tc TYPE TABLEVIEW USING SCREEN '9400'. En este table control voy cargando una información que me van ingresando en otra pantalla... luego si quiero eliminar algunos de los registros ingresados, le doy click para seleccionarlo y le doy eliminar... Ahora necesito seleccionar, uno, varios o todos los registros para eliminarlos de una sola pasada... no uno por uno como esta ahora... Como podria hacer para seleccionar varios o todos los registros y eliminarlos... Agradezco la colaboración que me puedan brindar... esto es vital para el desarrollo que estoy realizando.... |
#2
|
|||
|
|||
Hola que tal : Si mal no recuerdo o me confundo con el ALV tenes una opción para poder realizar seleciones multiples. Eso deberia ser indicado dentro del TC seguramente es alguno de sus campos. Lo verificaria ahora pero en este momento no tengo ningun R3 a mano.
Saludos. Javier.
__________________
Lo importante no es saber sino saber quien es el que sabe |
#3
|
|||
|
|||
Podrias intentar con esto...
Hola, yo he generado el codigo con la ayuda del wizard para generar el TC ahora bien, lo que he visto q hace es primero cargar los botones con los eventos de borrar y de insertar...para nuestro caso hablemos de borrar.
En el codigo q genera la funcion encargada de borrar pide los parametros table control, tabla interna asociada y nombre del campo de seleccion q es donde vas guardando q ha sido seleccionado, te anexo el form asi lo mandan a llamar ... WHEN 'DELE'. "delete row PERFORM fcode_delete_row USING p_tc_name p_table_name p_mark_name. Aqui esta la defincion FORM fcode_delete_row USING p_tc_name TYPE dynfnam p_table_name p_mark_name . *-BEGIN OF LOCAL DATA--------------------------------------------------* DATA l_table_name LIKE feld-name. FIELD-SYMBOLS <tc> TYPE cxtab_control. FIELD-SYMBOLS <table> TYPE STANDARD TABLE. FIELD-SYMBOLS <wa>. FIELD-SYMBOLS <mark_field>. *-END OF LOCAL DATA----------------------------------------------------* ASSIGN (p_tc_name) TO <tc>. * get the table, which belongs to the tc * CONCATENATE p_table_name '[]' INTO l_table_name. "table body ASSIGN (l_table_name) TO <table>. "not headerline * delete marked lines * DESCRIBE TABLE <table> LINES <tc>-lines. LOOP AT <table> ASSIGNING <wa>. * access to the component 'FLAG' of the table header * ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>. IF <mark_field> = 'X'. DELETE <table> INDEX syst-tabix. IF sy-subrc = 0. <tc>-lines = <tc>-lines - 1. ENDIF. ENDIF. ENDLOOP. ENDFORM. " FCODE_DELETE_ROW Asi q podria copiarla y mandarle el nombre de tus tablas ya que son apuntadores a las mismas. espero te sirva saludos ...
__________________
el tema esta en hacer la pregunta correcta... |
#4
|
|||
|
|||
Hola para seleccionar varios registros y hacer lo q quieras le das doble click a tu table control , luego en propiedades marc.linea ---> multiple.
con esto te podra seleccionar mas de un linea |
Herramientas | Buscar en Tema |
Desplegado | |
|
|