Comparar Años en una Select

Buenas tardes;

estoy intentando hacer una select com parando los años de un campo de la tabla con el año actual y me da error al comparar los años.

He probado diferentes manera pero no hay forma de que no de error.
La Select es la siguiente

select sflight~carrid scarr~carrname connid fldate price from sflight
INNER JOIN scarr
on sflight~carrid = scarr~carrid
into table tb_vuelos
WHERE sflight~carrid = 'UA’
and sflight~fldate(4) = sy-datum(4).

Hola @Pablo68, primero que nada tienes algunos errores en tu consulta.

Aquí te dejo mi código para que evalúes si funciona para ti.

  DATA: BEGIN OF st_it,
        carrid LIKE scarr-carrid,
        carrname LIKE scarr-carrname,
        connid LIKE  sflight-connid,
        fldate LIKE sflight-fldate,
        price LIKE sflight-price,
    END OF st_it.

  DATA: tb_vuelos LIKE TABLE OF st_it.
  DATA: lv_ano TYPE c LENGTH 5.

  CONCATENATE sy-datum(4) '%' INTO lv_ano.


  SELECT sflight~carrid scarr~carrname sflight~connid sflight~fldate sflight~price
  FROM sflight INNER JOIN scarr
    ON sflight~carrid = scarr~carrid
  INTO TABLE tb_vuelos
    WHERE sflight~carrid = 'UA'
    AND sflight~fldate LIKE lv_ano.
4 Me gusta

Gracias por la respuesta.

Efectivamente con un variable que contenga el “año+%” funciona

Osea que no se pueden usar funciones dentro de una WHERE de una SELECT ??

Como por ejemplo comparar los dos primeros caracteresde un campo, o los 3 ultimos, o el dia de una fecha, o el año, o el mes, sino es a traves de creación de variales ?? Tal y como lo estaba intentado yo ??

Por ejemplo. como podría sacar los vuelos de junio, julio y agosto??

Saludos

Recuerda que en ABAP no es SQL Nativo.
Te recomiendo revises un tema muy importante que son los RANGES, esto te ayudara mucho si lo combinas bien con un los patrones que crees.
Saludos.

Para las fechas, te paso un ejemplo:

date = sy-datum + 30. 

SELECT carrid connid fldate 
       FROM sflight 
       INTO CORRESPONDING FIELDS OF TABLE sflight_tab 
       WHERE fldate BETWEEN sy-datum AND date.

Saludos,
Sebastián

Gracias por las respuestas.

Echaré un vistazo a los RANGES

Un saludo

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.