MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Select * From ... Where Strlen(f) > 24 (foro/showthread.php?t=10813)

aldape 06/02/08 17:43:14

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.

aldape 07/02/08 14:33:36

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.


Husos Horarios son GMT. La hora en este momento es 15:41:38.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web