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
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.
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.