#1
|
|||
|
|||
AYUDA URGENTE borrar lineas tabla interna
Tengo un alv y borro los registros seleccionados.
si solo selecciono un registro me lo borra bien, si selecciono dos o mas solo me borra uno. os pongo mi codigo: CLEAR lt_rows. REFRESH lt_rows. CALL METHOD g_grid2->get_selected_rows IMPORTING et_index_rows = lt_rows. CALL METHOD cl_gui_cfw=>flush. IF lt_rows IS NOT INITIAL. CLEAR i_pos[]. REFRESH i_pos. LOOP AT lt_rows INTO ls_selected_line. READ TABLE i_pos_bulto INTO lw_posiciones INDEX ls_selected_line-index TRANSPORTING ALL FIELDS. MOVE-CORRESPONDING lw_posiciones TO i_pos. APPEND i_pos. ENDLOOP. sort i_pos by bulto equnr. sort i_pos_bulto by bulto equnr. IF i_pos IS NOT INITIAL. LOOP AT i_pos_bulto. READ TABLE i_pos INTO borra_linea. check sy-subrc = '0'. DELETE i_pos_bulto WHERE bulto = borra_linea-bulto AND equnr = borra_linea-equnr. ENDLOOP. ENDIF. ________________________________________---- En i_pos guardo las lineas que he seleccionado en el alv. i_pos_bulto es mi tabla interna. He debugueado el programa y depues de los sort a las dos tablas los datos son correctos y bien ordenados, cuando da el problema es en el loop que no compriueba la primera posicion con la primera y no se porqeu me podeis echar una mano. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|