PDA

Ver la Versión Completa : enum


sandri_82
03/09/07, 16:09:56
Hola estoy haciendo un if y me keda enorme no paro de ponerle OR , esto me parece poco estetico, hay alguna manera de declarar una variable con todas las comparaciones posibles de ese if , es decir alguna instruccion equivalente al enum de C y luego hacer solo un if .
¿Como se haria la comparación posteriormente ?

Saludos

ballan
03/09/07, 17:15:04
No se si sera esto lo que quieres...

if material = '123' or material = '345' or material = '678' then.
"hacer algo
endif.

tambien podrias hacer:

ranges: s_matnr like mara-matnr.

s_matnr-sign = 'I'.
s_matnr-option = 'EQ'.
s_matnr-low = '123'.
append s_matnr.
clear s_matnr-low.

s_matnr-low = '456'.
append s_matnr.
clear s_matnr-low.

s_matnr-low = '789'.
append s_matnr.
clear s_matnr-low.

if materal IN s_matnr.
"hacer algo
endif.

conrad10ar
03/09/07, 19:24:06
Hola,

creo que la solución correcta es usar un case y listo.

Saludos

ibecerra
03/09/07, 21:01:13
Hola q tal, creo q la forma mas optima y evitar el hardcore en tu programa
es saber si tienes una tabla de constante, en ella matriculas los datos q vas a comparar luego cargas esa informacion a esa tabla interna luego solo lees en la tabla interna el valor q deseas evaluar si se encuentra entonces procedes con las demas instrucciones.

sandri_82
04/09/07, 07:33:47
Acabare poniendo todos los ifs aunque kede horrible , tendria k crear la tabla interna y cargarla .
Yo estoy convencida de k hay una sentencia analoga al enum de C pero no consigo dar con ella.
Saludos y gracias