|
#1
|
|||
|
|||
Hacer uso del IN en SQL NATIVO (NATIVE SQL) con variante
Buenos días, quisiera saber lo siguiente, para una prueba del sistema necesito USAR SQL Nativo. Estoy usando el siguiente ejemplo. Capturo los valores de la planta de pantalla.
data: w_chars(255) type c. data: w_counter type i, w_counter2 type i. loop at s_werks. if s_werks-low ne space. w_counter = w_counter + 1. if w_counter lt w_counter2. concatenate w_chars '''' s_werks-low '''' c_comma2 into w_chars. else. concatenate w_chars '''' s_werks-low '''' into w_chars. endif. endif. endloop. En variable w_chars debería tener algo así: '1000','RAF' (plantas imaginarias) Después procedo a ejecutar el siguiente código: siempre da sy-subrc eq 4, por lo que no se ejecuta el SQL nativo. en cambio si lo ejecuto de esta manera: Si funciona. Si le quito a mi variante :w_chars ':' , el programa da un shortdump. y si lo intento hacer con un loop y pasar los valores de la planta y material toma demasiado tiempo. Mi pregunta es puedo pasar dentro del SQL nativo mi variante (:w_chars) pero que internamente se comporte como ('1000','RAF'). Si esto funciona, después agrego una lista de materiales. Este ejemplo lo ocupo de esta forma, ya que NECESITO pasar la instrucción de SQL directo a la base de datos, por que nuestro sistema a nivel de BASIS se configuró extrañamente (en 1995 jaja ) que por cada consulta a nivel de base de datos se pase como OR y no como AND o UNION ALL y con este ejemplo lo puedo forzar para demostrar una mejora en el desempeño y ver si nos dejan cambiar eso al menos en el sitema de pruebas de la compañía. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|