Ver Mensaje Individual
  #1  
Viejo 17/09/09, 00:53:28
ClaudioC ClaudioC is offline
Junior Member
 
Fecha de Ingreso: ago 2008
Mensajes: 11
Duda de principiante

Hola a todos.
Este es mi primer post, ojala que me vaya bien
Les comento mi problema: hace poco empece con abap (antes estuve casi 1 año con XI / PI) y hoy me encontre con el siguiente codigo:

DATA: r_knumv type range of knumv. "char de 10

[...]

CHECK r_knumv IS NOT INITIAL.

SELECT knumv kschl kmprs
FROM konv
INTO TABLE it_konv
WHERE knumv IN r_knumv.

DELETE it_konv WHERE kmprs IS INITIAL OR kschl(1) NE 'J'.
SORT it_konv BY knumv.


Bueno las dudas que tengo son las siguientes:

1) que significa cuando se declara a una variable con el TYPE RANGE OF?
2) para que es el CHECK en este codigo? Si no se cumple la condición que sucede?
3) esta es la pregunta mas importante y la que necesito con mas urgencia para solucionar este problema para mañana: cuando la variable r_knumv posee mas de 3 mil registros, el reporte tira un DUMP. Un chico de BASIS me dijo que esto se da por el IN, y un funcional me dijo que levante los datos a esa tabla interna mediante un INNER JOIN. A alguien se le ocurre como deberia hacer esto, o si hay una forma mas perfomante para realizar esto?
Les comento que el r_knumv es una especie de it que contiene todos los knumv contra los que debo realizar el select. Obviamente pense en hacerle un LOOP y por cada registro hacer un SELECT a la tabla konv, pero como todos sabran, si hago eso, voy en cana o me mandan a la silla electrica xD

Bueno espero que algun genio pueda aclararme esto, especialmente lo del punto 3 que me es casi de urgencia.

Muchas gracias a todos!
Responder Con Cita