S.O.S.
Necesito eliminar registros de un tabla que actualmente posee 500.000 registros, el problema es que para eliminar un registro se debe verificar en otra tabla que el registro no exista. La segunda tabla posee 2.000.000 de registros. Actualmente lo estoy realizando así:
LOOP AT it_ztar_saldo_factu ASSIGNING <fs_ztar_saldo_factu>.
READ TABLE it_ztar_detalle_aux ASSIGNING <fs_ztar_detalle_aux>
WITH KEY nro_factura = <fs_ztar_saldo_factu>-nro_factura
sociedad = <fs_ztar_saldo_factu>-sociedad.
IF sy-subrc EQ 0.
<fs_ztar_saldo_factu>-compensada = 'B'. "Se marca el registro a borrar
ENDIF.
ENDLOOP.
DELETE it_ztar_saldo_factu WHERE compensada = 'B'. "Se eliminan los registros
Aun utilizando FIELD-SYLBOLS, este proceso se esta muriendo.
¡Alguien que me de una luz!
Necesito eliminar registros de un tabla que actualmente posee 500.000 registros, el problema es que para eliminar un registro se debe verificar en otra tabla que el registro no exista. La segunda tabla posee 2.000.000 de registros. Actualmente lo estoy realizando así:
LOOP AT it_ztar_saldo_factu ASSIGNING <fs_ztar_saldo_factu>.
READ TABLE it_ztar_detalle_aux ASSIGNING <fs_ztar_detalle_aux>
WITH KEY nro_factura = <fs_ztar_saldo_factu>-nro_factura
sociedad = <fs_ztar_saldo_factu>-sociedad.
IF sy-subrc EQ 0.
<fs_ztar_saldo_factu>-compensada = 'B'. "Se marca el registro a borrar
ENDIF.
ENDLOOP.
DELETE it_ztar_saldo_factu WHERE compensada = 'B'. "Se eliminan los registros
Aun utilizando FIELD-SYLBOLS, este proceso se esta muriendo.
¡Alguien que me de una luz!
, lo hice con tablas hashed, esas son un tipo de tablas internas pero de solo consulta, deberias declarar la tabla interna it_ztar_saldo_factu de la siguiente manera
Comentario