Periodo de inicio y de fin

Hola expertos
Necesito saber si se puede hacer un periodo de inicio y de fin para generar una secuencia digamos si estoy en año 2010 empiece desde enero con 1 y que se finalice en diciembre, ¿para el año 2011 empiece se 1 me pueden ayudar?

1 Respuesta

Respuesta
1
Haber lo que tu quieres es que cada vez que se cree un año automáticamente el sistema cree los 12 meses.
de ser así, puedes utilizar un for
for k=1 to 12
//creas los periodos
next
¿Si no fuera mucha molestia me puedes explicar no entiendo mucho? ¿Gracias?
Que parte no has entendido y dime como piensas crear los años, osea cual es la lógica que quieres usar, para poder explicarte mejor.
¿Hola?
Tengo este script que esta en un botón NUEVO
Select max(convert(integer,left(cargo,4))) into :ll_cant_1 from registro using sqlca;
IF isnull(ll_cant_1) then ll_cant_1 = 0
ll_cant_1 +=1
ls_cargo = string(ll_cant_1,'0000')+"-"+mid(string(year(today())),3,4)
dw_1.object.cargo[1]=ls_cargo
Como pantalla me muesta lo siguiente 0001-10
Deseo que cuando empiece el año 2011 que digamos automáticamente me muestre así 0001-11

¿Muchas gracias?
Ok lo que debes hacer es lo siguiente
Primero debes recuperar el ultimo cargo y sobretodo la ultimas 2 letras, es decir el año y compararlo con el año actual si en caso son iguales entonces lo que debe aumentar es el contador, pero si en caso son diferentes entonces lo que debe aumentar son las ultimas 2 letras y comenzar de uno.
select max(cargo) into :ls_ult_cargo from nombre_tabla;
ls_ult_anio = right(ls_ult_cargo,2)
ls_anio_actual = right(string(year(today())),2)
IF ls_ult_anio = ls_anio_actual THEN
     ll_cant_1 += 1
ELSE
    ll_cant_1 = 1   
END IF
ls_cargo = string(ll_cant_1,'0000')+'-'+mid(string(year(today())),3,4)
...
Hola de nuevo molestándote
Al momento de guardar sale este error
bad argument list for function
este es el scritp
integer ls_ult_cargo
string ls_anio_actual, ls_ult_anio
select max(cargo) into :ls_ult_cargo from registro;
ls_ult_anio = right(ls_ult_cargo,4)
ls_anio_actual = right(string(year(today())),2)
IF ls_ult_anio = ls_anio_actual THEN
     ll_cant_1 += 1
ELSE
    ll_cant_1 = 1   
END IF
ls_cargo = string(ll_cant_1,'0000')+'-'+mid(string(year(today())),3,4)
dw_1.object.cargo[1]=ls_cargo
gracias...?
El problema está en que estas declarando como entero la variable ls_ult_cargo cuando debería ser string.
Asimismo cambia esta parte
ls_ult_anio = right(ls_ult_cargo,4) cambialo por
ls_ult_anio = right(ls_ult_cargo,2)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas