Anuncio

Colapsar
No hay anuncio todavía.

Expresión lógica con IN

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Expresión lógica con IN

    Hola a todos,
    estoy buscando una expresión lógica (si existe) equivalente a lo siguiente:

    if vble_char in ( 'cadena1' 'cadena2' 'cadena3 )
    .....

    Si lo hiciesemos con condiciones separadas sería algo como ésto:
    if vble_char <> 'cadena1' and
    vble_char <> 'cadena2' and
    vble_char <> 'cadena3'.
    .....


    Estoy probando a hacerlo con IN pero sólo sirve con tablas internas.

    Si alguien me puede ayudar.

    Gracias de antemano.

  • #2
    Hola,

    tenés que usar la sentencia FIND IN cadenadecaracteres.

    IF sy-subrc eq X hacés lo que necesitas.

    Saludos!

    Comentario


    • #3
      Expresión lógica con IN

      Gracias koken por la ayuda.

      Me he explicado mal. Estoy haciendo un condicional if con varias condiciones. El operando "vble_char" es el mismo siempre y lo comparo con varias cadenas. Estaba viendo si existía algo parecido al IN de por ejemplo visual basic para porder hacer la condición más corta, pero por lo que veo no hay nada. Lo más parecido que he encontrado es es "CASE WHERE" pero es un poco más largo que el siguiente IF que utilizo:

      if vble_char <> 'cadena1' and
      vble_char <> 'cadena2' and
      vble_char <> 'cadena3'.

      Saludos y gracias. de nuevo.

      Comentario


      • #4
        Me pillas con muchas horas de trabajoa cuestas pero creo que puedes usar el IN sin necesidad de indicar una tabla interna, pero no recuerdo si solo funciona para condiciones en los selects.

        La sintaxis sería algo así:
        Código:
         IF campo IN ('VAR1', 'VAR2', 'VAR3' )
        Si no te funciona así pero sí con tablas internas, utiliza un rango indicando los campos Sign y options.

        Saludos
        "Soy el señor Lobo, arreglo problemas"
        http://sapymas.blogspot.com/

        Comentario


        • #5
          Expresión lógica con IN

          Hola bisonye,
          no me funciona con el IN así que lo dejo como al principio con las condiciones unidas por AND.

          Gracias.

          Comentario

          Trabajando...
          X