ABAP: Sumar/restar días, meses o años a una fecha

En ocasiones necesitaremos en ABAP: sumar/restar días, meses o años a una fecha, teniendo en cuenta si el año es bisiesto, el número de días de cada mes, etc. Para ello utilizaremos la función: RP_CALC_DATE_IN_INTERVAL con los siguientes parametros:

Parametros de Entrada
  • date: Fecha incial sobre la que se realziarán las operaciones
  • days: Dias que se restarán/sumarán
  • months: Meses que se restarán/sumarán
  • signum: Con los signos «+» o «-» se estableces si se sumará o restará
  • years: Años que se restarán/sumarán
Parametros de Salida
  • calc_date: Fecha resultante.

Código
DATA: lv_newdate TYPE sy-datum.

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
  EXPORTING
    date      = sy-datum
    days      = 70
    months    = 00
    signum    = '-'
    years     = 00
  IMPORTING
    calc_date = lv_newdate.

Con este simple método podremos realizar las operaciones que queramos con una fecha.

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

2 comentarios en “ABAP: Sumar/restar días, meses o años a una fecha”

  1. Hola,

    ¿Como sería el caso en el que se necesiten sumar más de 100 días a una fecha siendo que el parámetro DAYS de la función es de tipo NUMC(2)?

    Gracias.

    1. Hola.
      Para sumar mas de 99 días puedes utilizar la función ADD_TIME_TO_DATE, donde en el parámetro I_IDATE informas la fecha y en I_TIME el número de días a sumar, admite hasta 9999 días.
      Un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *