*--
Cuando queremos guardar el contenido de una tabla de la BD a una tabla interna:
*-- Para seguir añadiendo registros en una tabla interna sin borrar los que hay:
SELECT * APPENDING TABLE ti_bsid
FROM bsid
WHERE kunnr = ti_write-kunnr2
AND bschl = '01'
AND bldat <= fecha_b-high.
*-- Cuando queremos coger campos sueltos de una tabla de la BD a unas variables:
SELECT SINGLE werks aubel
INTO (v_werks, v_aubel)
FROM vbrp
WHERE vbeln = ti_vbrk-vbeln.
*-- Como recuperar el nombre de usuario:
SELECT SINGLE *
FROM usr21
WHERE bname = v_ernam.
SELECT SINGLE name_text
INTO v_nombre
FROM adrp
WHERE persnumber = usr21-persnumber.
*-- Para sacar la cantidad de registros que hay en la selección utilizamos COUNT
SELECT COUNT( * ) INTO v_number1
FROM bsid
WHERE kunnr = ti_write-kunnr2
AND bschl = '01'
AND bldat <= fecha_b-high.
*-- Para hacer sumatorios utilizamos SUM
SELECT SUM( CANTIDADTTE )
SUM( CANTIDADPAGADA )
SUM( IMPORTE )
SUM( IMPORTE_CIN )
CAMION PLANTA_SAP DIVISION
INTO (I_DATOS-MCTRAN, I_DATOS-MCPAGA, I_DATOS-IMPTOT,
I_DATOS-IMPINC, I_DATOS-CAMION, I_DATOS-PLANTA,
I_DATOS-DIVISI)
FROM ZALBARANES
WHERE FECHA IN S_FECHA
AND ESTADO GT '4'
GROUP BY DIVISION PLANTA_SAP CAMION.
ENDSELECT.
*-- Cuando queremos decir que nos coja todos lo registros que empiecen por... 006*
SELECT *
FROM COSP
WHERE GJAHR EQ P_EJERCI
AND OBJNR EQ D_CENTRO_COSTE
AND ( KSTAR LIKE '006%' OR
KSTAR LIKE '009%' OR KSTAR LIKE '008%' )
AND WRTTP EQ '04'.
*-- Para evitar hacer un LOOP a una tabla interna.
SELECT *
FROM /bic/cubo23
INTO TABLE i_cub
FOR ALL ENTRIES IN ti_cuentas
WHERE fiscyear = p_gjahr
AND /bic/co_area = i_sociedades-co_area
AND /bic/version = version
AND /bic/costelmnt = ti_cuentas-cuenta
AND /bic/center IN s_kostl.
Referencia: http://www.abap.es/foro/index.php#c1