Ayuda con Smartform

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • ocubero
    Junior Member
    • ago
    • 15

    #1

    Ayuda con Smartform

    Buenas tengo el siguiente código en un smartform

    SELECT bukrs lifnr augdt gjahr belnr budat waers wrbtr sgtxt
    INTO TABLE it_table
    FROM bsik
    WHERE bukrs = psociedad AND
    budat = pfecha AND
    lifnr in pacreed AND
    belnr = pdoc.

    Pero me da error cuando pongo el operador IN, alguien puede indicarme cómo puedo hacer un SELECT en un Smartform utilizando el IN.

    Gracias
    Oscar Cubero
  • dordonez
    Junior Member
    • mar
    • 1

    #2
    que error te da?

    pareciera que el select es correcto, que error te da?? de compilacion o dump??

    Comentario

    • bisonye
      Senior Member
      • ago
      • 635

      #3
      ¿El campo pacreed es un rango?
      http://sapymas.blogspot.com/

      Comentario

      • ocubero
        Junior Member
        • ago
        • 15

        #4
        Originalmente publicado por bisonye
        ¿El campo pacreed es un rango?
        Gracias por responder, pues es un tipo y lo declare como de tipo lfa1-lifnr, creo que ese es el problema, pero pensé mejor pasar por parámetros una tabla interna, voy a investigar cómo lo puedo realizar de esta manera.
        Oscar Cubero

        Comentario

        • luis999
          Member
          • jun
          • 82

          #5
          Hola, El IN se usa para compararlo con un rango de valores.

          Lo que puede hacer es usar el FOR ALL ENTRIES, para realizar tu consulta.

          Originalmente publicado por ocubero
          Gracias por responder, pues es un tipo y lo declare como de tipo lfa1-lifnr, creo que ese es el problema, pero pensé mejor pasar por parámetros una tabla interna, voy a investigar cómo lo puedo realizar de esta manera.

          Comentario

          • bisonye
            Senior Member
            • ago
            • 635

            #6
            El IN solo puedes utilizarlo con rangos, que son un tipo de datos especiales. Se definen con RANGES o como table interna (ya que están obsoletos) con los campos SIGN, OPTION, LOW y HIGH. Si mirás la ayuda está bastante claro. También puede utilizar una serie de campos así:
            IN (valor1, valor2, valor3, ... , valorN).

            Si quieres pasarle una TI al smartform tendrás que declarar una estructura en el diccionario y pasarsela en el apartado de tables.

            Saludos
            http://sapymas.blogspot.com/

            Comentario

            • ocubero
              Junior Member
              • ago
              • 15

              #7
              Originalmente publicado por bisonye
              El IN solo puedes utilizarlo con rangos, que son un tipo de datos especiales. Se definen con RANGES o como table interna (ya que están obsoletos) con los campos SIGN, OPTION, LOW y HIGH. Si mirás la ayuda está bastante claro. También puede utilizar una serie de campos así:
              IN (valor1, valor2, valor3, ... , valorN).

              Si quieres pasarle una TI al smartform tendrás que declarar una estructura en el diccionario y pasarsela en el apartado de tables.

              Saludos
              Gracias, ya logré pasar la tabla interna al SmartForm, realice los selects desde el programa de control y no dentro del SM, así no me da problemas la claúsula IN.

              Muchas gracias a todos por la ayuda.....
              Oscar Cubero

              Comentario

              Trabajando...