Función para sumarle meses a una fecha

17 11 2007

La siguiente función sirve para sumarle/agregarle meses a una fecha.

A la función le pasamos como parámetros una fecha de entrada (inicial) y un número de meses. La función nos devolverá una fecha que será el resultado de agregar el número de meses a la fecha inicial.


*——————————————————————————-
*LV_DATE_ENT : Fecha de entrada a la que le calculo los meses
*LV_MES: Cantidad de meses que le sumo a LV_DATE_ENT
*LV_DATE_SAL : Fecha que me devuelve la función

*——————————————————————————-

CALL FUNCTION ‘HR_PSD_DATES_ADD_MONTHS’
    EXPORTING
      V_DATE       = LV_DATE_ENT
      V_MONTHS     = LV_MES
    IMPORTING
      E_DATE       = LV_DATE_SAL
    EXCEPTIONS
      NOT_POSITIVE = 1
      OTHERS       = 2.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


Technorati tags:





Calcula fecha a futuro o pasado

20 10 2007

Esta función calcula una fecha según la cantidad de días que se le pase por parametro al campo ANZAHL_TAGE. Se pueden calcular días anteriores o futuros.


WRITE P_FECHA TO LV_FECHA DD/MM/YYYY.
PERFORM RESTAR_DIA CHANGING LV_FECHA LV_FECHA_SAL.

*&———————————————————————*
*& Form RESTAR_DIA
*&———————————————————————*
* llamo a la función que le resta un día a la fecha
* pasada por parámetro
*———————————————————————-*
* –>P_LV_FECHA text
*———————————————————————-*
FORM RESTAR_DIA CHANGING P_LV_FECHA P_LV_FECHA_SAL.

   CALL FUNCTION ‘DATE_IN_FUTURE’
    EXPORTING
     ANZAHL_TAGE = ‘-1’ «un día atrás
     IMPORT_DATUM = P_LV_FECHA «fecha a la que le quiero restar un dia
    IMPORTING
     * EXPORT_DATUM_EXT_FORMAT = P_LV_FECHA_SAL
     EXPORT_DATUM_INT_FORMAT = P_LV_FECHA_SAL. «fecha que se obtiene

ENDFORM. » RESTAR_DIA


Technorati tags: