11-28-2013 3:54 AM
why my program goes to dump, it shows,
When calling the function module "RP_CALC_DATE_IN_INTERVAL", one of the
parameters
needed according to the interface description was not specified.
This parameter was "DAYS".
data: vm1 type sy-datum,
vm2 type sy-datum,
vm3 type sy-datum,
vd1 type sy-datum,
vd2 type sy-datum,
vd3 type sy-datum.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = p_date
* DAYS = 0
MONTHS = '01'
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vm1
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = p_date
DAYS = 01
* MONTHS =
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vd1
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = vm1
* DAYS = 0
MONTHS = 01
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vm2
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = vm1
DAYS = 01
* MONTHS =
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vd2
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = vm2
* DAYS = 0
MONTHS = 01
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vm3
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = vm2
DAYS = 01
* MONTHS =
SIGNUM = '-'
* YEARS =
IMPORTING
CALC_DATE = vd3
.
loop at gt_mseg into gs_mseg.
read table gt_mkpf into gs_mkpf index 1.
if sy-subrc = 0.
read table g_t_totals_flat into g_s_totals_flat with key matnr = gs_mseg-matnr.
if sy-subrc = 0.
if gs_mkpf-budat BETWEEN vm1 and vd1.
g_s_totals_flat-cons_month_1 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
* endif.
endif.
if gs_mkpf-budat between vm2 and vd2.
g_s_totals_flat-cons_month_2 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
endif.
if gs_mkpf-budat BETWEEN vm3 and vd3.
g_s_totals_flat-cons_month_3 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
endif.
endif.
endif.
endloop
11-28-2013 4:04 AM
Hi Manisha jaiswal ,
Try like this
DATA: vm1 TYPE sy-datum,
vm2 TYPE sy-datum,
vm3 TYPE sy-datum,
vd1 TYPE sy-datum,
vd2 TYPE sy-datum,
vd3 TYPE sy-datum.
PARAMETERS : P_date type P0001-BEGDA.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = p_date
DAYS = '0'
months = '01'
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vm1
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = p_date
days = 01
MONTHS = '0'
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vd1
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = vm1
DAYS = '0'
months = 01
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vm2
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = vm1
days = 01
MONTHS = '0'
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vd2
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = vm2
DAYS = '0'
months = 01
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vm3
.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = vm2
days = 01
MONTHS = '0'
signum = '-'
YEARS = '0'
IMPORTING
calc_date = vd3
.
loop at gt_mseg into gs_mseg.
read table gt_mkpf into gs_mkpf index 1.
if sy-subrc = 0.
read table g_t_totals_flat into g_s_totals_flat with key matnr = gs_mseg-matnr.
if sy-subrc = 0.
if gs_mkpf-budat BETWEEN vm1 and vd1.
g_s_totals_flat-cons_month_1 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
* endif.
endif.
if gs_mkpf-budat between vm2 and vd2.
g_s_totals_flat-cons_month_2 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
endif.
if gs_mkpf-budat BETWEEN vm3 and vd3.
g_s_totals_flat-cons_month_3 = gs_mseg-menge.
append g_s_totals_flat to g_t_totals_flat1 .
clear g_s_totals_flat.
endif.
endif.
endif.
endloop
11-28-2013 4:14 AM
Hi Manisha,
You must pass the values for following fields, since all are mandatory.
DATE
DAYS
MONTHS
YEARS
Arivazhagan S
11-28-2013 4:20 AM
Hi,
In the FM RP_CALC_DATE_IN_INTERVAL all the input parameters are required except 'SIGNUM'. Please check the import parameters to the FM RP_CALC_DATE_IN_INTERVAL.
You have to pass date,day,month and year.
Regards,
Jeffin
11-28-2013 4:21 AM
Hi Manisha,
In the FM RP_CALC_DATE_IN_INTERVAL, the following are the mandatory parameters. So pass the values of mandatory parameters when you call FM
Regards,
Riju Thomas.
11-28-2013 6:05 AM
Use this:
DATA: week TYPE numc1,
days TYPE t5a4a-dlydy,
date TYPE p0001-begda,
months TYPE t5a4a-dlymo,
years TYPE t5a4a-dlyyr.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = date
days = days
months = months
signum = '+'
years = years
IMPORTING
calc_date = date.
Regards
Vivek