cancel
Showing results for 
Search instead for 
Did you mean: 

Month + 14 months = new month, Is there any function module to add months

former_member588853
Active Contributor
0 Kudos

HI,

Reference Date + 14 months..

I know there is a function module in SAP "MONTH_PLUS_DETERMINE" which gives you the " date + No. of months = new date"

Is there any function module in APO to do this kinda work..

regards,

nazeer

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Nazeer,

not in SCM , but in R/3 there is the FM MONTH_PLUS_DETERMINE. I add the coding as a precaution :

FUNCTION MONTH_PLUS_DETERMINE.

*"----


*"Lokale Schnittstelle:

*" IMPORTING

*" MONTHS

*" OLDDATE LIKE SY-DATUM

*" EXPORTING

*" NEWDATE LIKE SY-DATUM

*"----


DATA: BEGIN OF DAT,

JJJJ(4) ,

MM(2) ,

TT(2) ,

END OF DAT,

BEGIN OF HDAT,

JJJJ(4) ,

MM(2) ,

TT(2) ,

END OF HDAT,

NEWMM TYPE P,

DIFFJJJJ TYPE P.

WRITE: OLDDATE+0(4) TO DAT-JJJJ,

OLDDATE+4(2) TO DAT-MM,

OLDDATE+6(2) TO DAT-TT.

DIFFJJJJ = ( DAT-MM + MONTHS - 1 ) DIV 12.

NEWMM = ( DAT-MM + MONTHS - 1 ) MOD 12 + 1.

DAT-JJJJ = DAT-JJJJ + DIFFJJJJ.

IF NEWMM < 10.

WRITE '0' TO DAT-MM+0(1).

WRITE NEWMM TO DAT-MM+1(1).

ELSE.

WRITE NEWMM TO DAT-MM.

ENDIF.

IF DAT-TT > '28'.

HDAT-TT = '01'.

NEWMM = ( DAT-MM ) MOD 12 + 1.

HDAT-JJJJ = DAT-JJJJ + ( ( DAT-MM ) DIV 12 ).

IF NEWMM < 10.

WRITE '0' TO HDAT-MM+0(1).

WRITE NEWMM TO HDAT-MM+1(1).

ELSE.

WRITE NEWMM TO HDAT-MM.

ENDIF.

IF DAT-TT = '31'.

NEWDATE = HDAT.

NEWDATE = NEWDATE - 1.

ELSE.

IF DAT-MM = '02'.

NEWDATE = HDAT.

NEWDATE = NEWDATE - 1.

ELSE.

NEWDATE = DAT.

ENDIF.

ENDIF.

ELSE.

NEWDATE = DAT.

ENDIF.

ENDFUNCTION.

Regards,

Ernst

former_member588853
Active Contributor
0 Kudos

Hi,

Actually I need to add 14 months to my reference data,

I asked whether there exists any funtion module to do this job..

But I wrote the code now and got the solution..

Thanks..

Former Member
0 Kudos

If the month is going to remain constant, you can maintain dates in a selection variable in TVARVC table.

But please be more specific on your query, then more specific answer can be given.

Sandeep

Former Member
0 Kudos

Hi Nazeer.

Could you give some context as to what you are trying to achieve as their might be a number of approaches. e.g., when you say in the title "Add months", add months to what?

cheers, Mark.