Ayuda con un simple SELECT.... :-(

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Driau
    Senior Member
    • ago
    • 235

    #1

    Ayuda con un simple SELECT.... :-(

    Hola...estoy intentando hacer un select de varios tipos de movimiento (BWART) Si hago esto:

    SELECT MBLNR GJAHR MENGE
    FROM MSEG
    INTO CORRESPONDING FIELDS OF TABLE IT_EXPO_MSEG
    WHERE MATNR = P_MATNR
    AND GJAHR = P_ANYO_TMP
    AND BWART = 202.


    No hay problema...la seleccion es correcta.
    Pero si añado mas movimientos para que me coja los (712, 901, etc..)

    SELECT MBLNR GJAHR MENGE
    FROM MSEG
    INTO CORRESPONDING FIELDS OF TABLE IT_EXPO_MSEG
    WHERE MATNR = P_MATNR
    AND GJAHR = P_ANYO_TMP
    AND BWART = 202
    OR BWART = 201
    OR BWART = 712
    OR BWART = 901
    OR BWART = 101
    OR BWART = 911
    OR BWART = 501
    OR BWART = 262
    OR BWART = 531
    OR BWART = MUE.


    Cuando mira la tabla interna en el campo GJAHR...me coge los años que le da la gana. Alguien ve algo que yo no veo????

    Gracias!
  • ballan
    Senior Member
    • oct
    • 671

    #2
    Deberias ponerlo asi:

    SELECT MBLNR GJAHR MENGE
    FROM MSEG
    INTO CORRESPONDING FIELDS OF TABLE IT_EXPO_MSEG
    WHERE MATNR = P_MATNR
    AND GJAHR = P_ANYO_TMP
    AND (BWART = 202
    OR BWART = 201
    OR BWART = 712
    OR BWART = 901
    OR BWART = 101
    OR BWART = 911
    OR BWART = 501
    OR BWART = 262
    OR BWART = 531
    OR BWART = MUE).

    Quiza tengas que dejar hueco en los parentesis, de todas formas seria mucho mas recomendable que introdujeras los movimientos en un rango, haciendo algo asi:

    ranges: s_bwart for mseg-bwart

    s_bwart-sign = 'I'
    s_bwart-option = 'EQ'
    s_bwart-low = '202'.
    append s_bwart.
    clear s_bwart-low.

    s_bwart-low = '301'.
    append s_bwart.
    clear s_bwart-low.

    ... aqui vas añadiendo todos los movimientos que quieras y luego haces el select asi

    SELECT MBLNR GJAHR MENGE
    FROM MSEG
    INTO CORRESPONDING FIELDS OF TABLE IT_EXPO_MSEG
    WHERE MATNR = P_MATNR
    AND GJAHR = P_ANYO_TMP
    AND BWART IN s_bwart

    Comentario

    • Driau
      Senior Member
      • ago
      • 235

      #3
      perfecto!

      he probado lo que me has dicho. Lo del SELECT no sabia que podia hacerlo...pero funciona. Lo de los 'OR' no se por que motivo..no me funciona.

      Pero bueno...el resto todo bien..gracias!!!

      Comentario

      Trabajando...