sábado, 1 de julio de 2017

select en abap


Hay diferentes maneras de hacer un select en ABAP si vamos al caso mas sencillo, es posible que necesitemos hacer un select para recuperar algún valor, para ello podríamos hacer algo como...


select single marca into misCoches-marca
from coches
where matricula = '1234BCD'. 

De esta manera he podido recuperar cual es la marca del coche cuya matricula es 1234BCD y guardarlo en misCoches-marca
Otra funcionalidad que nos permite ABAP es iterar mientras estamos haciendo un select, por ejemplo

SELECT matricula into ( BajasPorDia-matricula )
FROM CochesEnTaller
WHERE ciudadTaller = 'Valencia'.
BajasPorDia-fecha = sy-datum.
INSERT BajasPorDia INTO TABLE tablaBajasPorDia.
ENDSELECT. 

En este caso, imaginaros que tenemos una tabla con los coches que estan ahora mismo en el taller y nosotros queremos guardar en una tabla por día, que coches estan en el taller. Hacemos un select a la tabla CochesEnTaller y para cada uno de los registros incorporaremos el día. Esto lo hacemos con la instrucción BajasPorDia-fecha = sy-datum. Este es un pequeño ejemplo de como podemos iterar en un select, pero en lugar de nuestra instrucción BajasPorDia-fecha = sy-datum. podemos hacer lo que queramos if, loops...


Truco de optimización:

Evitemos los select * si no son estrictamente necesarios ya que hacemos las consultas muy poco eficientes, de hecho, el primer truco de tunning para HANA es sustituir todos los select * por selects con los campos que sean necesarios.

Más información en blogdesap.com