Ver Mensaje Individual
  #3  
Viejo 17/03/08, 15:52:13
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, Espaņa
Mensajes: 118
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...
Responder Con Cita