#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! |
#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 |
#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!!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|