Ver la Versión Completa : Select * From ... Where Strlen(f) > 24
Como se hace eso en ABAP?
SELECT * FROM ... WHERE STRLEN(F) > 24
melerogalan
07/02/08, 06:20:24
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.
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.
sap2006
07/02/08, 14:49:17
Puedes ejecutar ese proceso n veces...es decir no tienes porque hacer un select de 5 millones de registros..puedes dividirlo en paquetes.
Saludos.
abapconsultoria
07/02/08, 18:18:29
Si no te convence podrias saltear el OPEN SQL y utilizar SQL nativo con la sentencia EXEC SQL.
Saludos.
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web