Sí, puedes usar una tabla de rango para hacer tu código más legible y fácil de mantener. En ABAP, una tabla de rango es un tipo de tabla interna que se utiliza para almacenar un rango de valores. Luego puedes utilizar esta tabla de rango en tu código para verificar si un valor está dentro del rango especificado. Aquí tienes un ejemplo de cómo podrías usar una tabla de rango para combinar las condiciones en tu código:
TYPES range_type TYPE RANGE OF string.
DATA(range_table) = VALUE range_type(
( sign = 'I' option = 'CS' low = 'V%' )
( sign = 'I' option = 'CS' low = '7%HA%' )
( sign = 'I' option = 'CS' low = 'Y%' ) ).
if 'V14' in range.
endif.
En este ejemplo, creamos una tabla de rango llamada range_table y agregamos los valores 'V%', 'Y%' y '7%HA%' a ella. Luego utilizamos el operador CS para verificar si el valor de wa_psp-posid está contenido dentro de la tabla de rango.
O si son verdaderamente comodines, entonces usa el Patrón de Contenido en su lugar.
TYPES range_type TYPE RANGE OF string.
DATA(range) = VALUE range_type(
( sign = 'I' option = 'CP' low = 'V*' )
( sign = 'I' option = 'CP' low = '7*HA*' )
( sign = 'I' option = 'CP' low = 'Y*' ) ).
if 'V14' in range.
endif.