PDA

Ver la Versión Completa : Ayuda urgente fechas


miguel.esteban.martin
14/04/09, 08:12:28
Hola amigos

Tengo un problema que no se como resolver, es una tonteria pero no ses porqeu no funciona, espero que me podais ayudar.

tengo 2 variables que contienen la semana del año y el año

var1 = 200910 ->Semana 10 del año 2009
var2 = 200912-> Semana 12 del año 2009

Yo tenog que hacer una serie de comparaciones para realizar cambios en mi tabla

El caso es que tengo que ver si var1 es menor que var2, es igual o esta comprendida entre 6 semanas, me esplico con un ejemplo.

if var1 < var2.
.
.
elseif var1 = var2.
.
.
elseif var1 = var2 +1.
.
.
elseif var1 = var2 +2.
.
.
elseif var1 = var2 +3.
.
.
elseif var1 = var2 +4.
.
.
elseif var1 = var2 +5.
.
.
elseif var1 = var2 +6.
.
.
endif.

los dos primeros casos funcionan pero no me deja activar cuadno pongo los demas casos.
Como podria poner estas expresiones bien para que me dejara activar.

muchas gracias

ongo
14/04/09, 09:38:31
Buenas,

Supongo que las sumas las tendrás que hacer antes del IF. Es decir:

var2 = var2 + 2.

Y luego poner la IF

Espero te de alguna pista

jcflores
14/04/09, 14:27:16
Estimado.

No estoy seguro si se podra utilizar operaciones dentro de la condición de un IF, en lo personal no lo he realizado, pero deberias probar utilizando paréntesis para las mismas.

Ahora si tu único punto de comparación es una diferencia de 6 semanas, podrías utilizar un 'Loop' o un 'Do 6 Times' y manejar un "puntero" que permita aumentar.

Bueno, espero que te ayude la respuesta y aparte como consejo intenta utilizar siempre otra lógica distinta a la del común denominador.

Exitos.:rolleyes:

goyleo
14/04/09, 16:06:49
Si andas dando vuelta con fechas te paso un par de funciones que por ahi te servan :D

http://www.abap.es/SE37.htm

Atlas
14/04/09, 18:50:26
lo mas correcto seria utilizar una variable auxiliar:

dif = var1 - var2.

case dif.
when '1'.
...
when '2'.
....
....
....
endcase.