primeras 3 posiciones de un campo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • berrius
    Junior Member
    • nov
    • 24

    #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.
  • Bmamba
    Member
    • jun
    • 91

    #2
    Originalmente publicado por berrius
    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.
    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

    Comentario

    • berrius
      Junior Member
      • nov
      • 24

      #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.

      Comentario

      • Bmamba
        Member
        • jun
        • 91

        #4
        es % no &. Si has puesto % y sigue sin funcionarte, lo siento pero no te puedo decir porqué es.

        Saludos

        Comentario

        • berrius
          Junior Member
          • nov
          • 24

          #5
          Me ha servido, muchas gracias por la ayuda.

          Un saludo.

          Comentario

          Trabajando...