|
#1
|
|||
|
|||
Select * From ... Where Strlen(f) > 24
Como se hace eso en ABAP?
SELECT * FROM ... WHERE STRLEN(F) > 24 |
#2
|
||||
|
||||
No se si podrás hacerlo en una sentencia Select.
Una alternativa es recuperar todos los datos en una tabla interna y una vez recuperados, recorres la tabla interna y vas eliminado o usando una tabla auxiliar para almacenar aquellos registros que deseas almacenar(mas eficiente). ejem: SELECT * FROM <tabla> INTO <tabla_interna_aux> WHERE <clausula_where>. LOOP AT <tabla_interna_aux>. IF <tabla_interna_aux>-<campo> > 24. APPEND <tabla_interna_aux> to <tabla_interna>. ENDIF. ENDLOOP. Nota: Estamos utilizando tablas interna con cabecera, en desuso, tb puedes utilizar works areas , los detalles supongo que lo sabrás . Saludos. |
#3
|
|||
|
|||
Muchas Gracias!,
yo creo que ese codigo funciona, pero que tal si tengo mas de 5 millones de registros? de los cuales strlen > 24 son solo 5? PD. Tu cita me hizo reir mucho. Saludos. |
#4
|
|||
|
|||
Puedes ejecutar ese proceso n veces...es decir no tienes porque hacer un select de 5 millones de registros..puedes dividirlo en paquetes.
Saludos. |
#5
|
|||
|
|||
Si no te convence podrias saltear el OPEN SQL y utilizar SQL nativo con la sentencia EXEC SQL.
Saludos.
__________________
Lo importante no es saber sino saber quien es el que sabe |
Herramientas | Buscar en Tema |
Desplegado | |
|
|