#1
|
|||
|
|||
primeras 3 posiciones de un campo
Hola buenas, tengo una duda con como seleccionar las primeras 3 posiciones de un campo de tipo j_objnr, que no es más que un char(22). La petición es que debo realizar un select en el que solo se seleccionen los registros en los que el campo objnr empiece por 'ORV', para lo que realizo la siguiente query:
SELECT * FROM cobrb INTO CORRESPONDING FIELDS OF TABLE t_cobrb WHERE aufnr IN s_orden AND objnr(1) = 'O' AND objnr(2) = 'R' AND objnr(3) = 'V'. Con lo que al verificar me sale el error de que firld objnr(1) unknown. Si alguien es capaz de explicarme porque sucede eso u otra forma de realizar la consulta indicada lo agradecería mucho. Un saludo. |
#2
|
|||
|
|||
TEndrás que hacer algo asi mediante un patrón: DATA: LV_VALOR(4) VALUE ‘ORV%’. “Donde quiero un asterisco pongo el caracter % SELECT * FROM cobrb INTO CORRESPONDING FIELDS OF TABLE t_cobrb WHERE aufnr IN s_orden AND objnr like lv_valor. Saludos |
#3
|
|||
|
|||
No me deja poner el simbolo &, la condición del where podría funcionar si me creo la cariable que me has dicho de la siguiente manera:
DATA: lv_valor(3) VALUE 'ORV'. y la consulta la realizo igual como dijiste?? SELECT * FROM cobrb INTO CORRESPONDING FIELDS OF TABLE t_cobrb WHERE aufnr IN s_orden AND objnr LIKE lv_valor. |
#4
|
|||
|
|||
es % no &. Si has puesto % y sigue sin funcionarte, lo siento pero no te puedo decir porqué es.
Saludos |
#5
|
|||
|
|||
Me ha servido, muchas gracias por la ayuda.
Un saludo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|