PDA

Ver la Versión Completa : Funciones para fechas


Alfredosite
23/06/08, 16:34:25
Una consulta conocen alguna forma de controlar fechas o funciones..tengo este caso:

Tipo: Tipo de contrato
FecIni: Inicio de contrato
FecFin: Fin de contrato
Transc: Transcurrido en ese contrato

Tipo FecIni FecFin transc
A 01.01.06 30.06.06 6mese
A 01.08.06 31.12.06 5meses
B 01.01.07 01.08.07 8meses


Suponiendo que con este reporte veo los historicos de inicios y fines de un tipo de contrato.

Y si me dan que no dedo de exceder como maximo acumulado del tipo de contrato :
A.- Max 1 año
B.- Max 2 años

Es decir que si para A ya acumule mas de 1 año y tuve n contratos con esa modalidad ya no deberia poder firmar un contrato pro esa modalidad ya que acumule 1 año y advertirme a la fecha que solo me quedaria 1mes para firmar como contrato tipoA ...como podria controlar esto?? que funciones me ayudarian?? alguna idea porfa??

Muchas gracias

gerbeltran
25/06/08, 15:39:18
Una consulta conocen alguna forma de controlar fechas o funciones..tengo este caso:

Tipo: Tipo de contrato
FecIni: Inicio de contrato
FecFin: Fin de contrato
Transc: Transcurrido en ese contrato

Tipo FecIni FecFin transc
A 01.01.06 30.06.06 6mese
A 01.08.06 31.12.06 5meses
B 01.01.07 01.08.07 8meses


Suponiendo que con este reporte veo los historicos de inicios y fines de un tipo de contrato.

Y si me dan que no dedo de exceder como maximo acumulado del tipo de contrato :
A.- Max 1 año
B.- Max 2 años

Es decir que si para A ya acumule mas de 1 año y tuve n contratos con esa modalidad ya no deberia poder firmar un contrato pro esa modalidad ya que acumule 1 año y advertirme a la fecha que solo me quedaria 1mes para firmar como contrato tipoA ...como podria controlar esto?? que funciones me ayudarian?? alguna idea porfa??

Muchas gracias


Buen día Alfredo, no sé si te entendí bien si no es así me disculpo de antemano.

Para obtener el /los meses entre dos fechas podrías llegar a usar alguna función como MONTHS_BETWEEN_TWO_DATES (no la he usado pero por el nombre podría llegar a andar). En cuanto al acumulado para un tipo de contrato lo que podrías hacer es un corte de control por tipo de contrato a la tabla donde tengas esta información (previamente ordenada por tipo) , pero a su vez verificando que la sumatoria de meses no supere el límite.

Si es algo asi avisame y te lo detallo un poco mas sino te voy a pedir que me expliques un poco mas para ayudarte.

danny
25/06/08, 15:48:51
Holas,

DATA: BEGIN OF T_tipo OCCURS 0,
tipo type xxxx,
mes type i,
END OF T_tipo.

loop at tabla.
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = fecini
END_DA = fecfin
IMPORTING
NO_MONTH = los_mths.
t_tipo-tipo = tabla-tipo.
t_tipo-mes = los_mths.
collect t_tipo.
endloop.

con esto tienes cuantos meses tienes acumulados x tipo de contrato.

Saludos;

Alfredosite
26/06/08, 19:17:39
Muchas gracias Danny esa funcion no la conocia pero use la funcion HR_SGPBS_YRS_MTHS_DAYS y salio perfectamente muchas gracias por al orientacion.
Saludos..:D
Holas,

DATA: BEGIN OF T_tipo OCCURS 0,
tipo type xxxx,
mes type i,
END OF T_tipo.

loop at tabla.
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = fecini
END_DA = fecfin
IMPORTING
NO_MONTH = los_mths.
t_tipo-tipo = tabla-tipo.
t_tipo-mes = los_mths.
collect t_tipo.
endloop.

con esto tienes cuantos meses tienes acumulados x tipo de contrato.

Saludos;