#4
|
|||
|
|||
Podrias probar la siguientes opciones:
1) Construir el rango r_acao para el campo acao. SELECT pep,acao,conta_debito,ccusto_debito,conta_credito, ccusto_cretito FROM zistps_mtcd_acao INTO TABLE tl_mtcd_acao. SORT tl_mtcd_acao BY pep acao. DELETE tl_mtcd_acao where NOT pep IN rl_pep_ran or NOT acao IN r_acao. 2) Construir el rango r_acao para el campo acao. Construir la tabla interna t_pep sólo con los valores de pep. SELECT pep,acao,conta_debito,ccusto_debito,conta_credito, ccusto_cretito FROM zistps_mtcd_acao INTO TABLE tl_mtcd_acao. SORT tl_mtcd_acao by acao DELETE tl_mtcd_acao NOT acao IN r_acao. SORT t_pep by pep. SORT tl_mtcd_acao BY pep. LOOP at tl_mtcd_acao. READ TABLE t_pep WITH KEY pep = tl_mtcd_acao-pep BINARY SEARCH TRANSPORTING NO FIELDS. IF sy-sybrc NE 0. DELETE tl_mtcd_acao WHERE pep EQ tl_mtcd_acao-pep. CONTINUE. ENDIF. ENDLOOP. Nota: El uso de SELECT sin clausula WHERE no es recomendable si aumenta significativamente el número de registros de la tabla zistps_mtcd_acao. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|