Skip to Content
0
Former Member
Oct 27, 2005 at 06:00 AM

Problem with dates

16 Views

Hi,

Presently I am working in travel module and developing a RFC function module , the code is below mention ,the out put of this is that it will give the list of visa capacity for the present month & next 2 motnhs ahead.

My problem is that with respect to sy-datum i am getting data correctly.For the present month & next 2 months.

If i am passing furture date in the parameter i am not getting the data.

Please provide me with neccesary logic.

Thanks in Advance

Irfan Hussain

*********************************************************

DATA:DATE1 LIKE SY-DATUM,

LINES LIKE SY-TABIX.

DATA: MON LIKE ZHTWPVERT_FCAST-CMONTH,

YER LIKE ZHTWPVERT_FCAST-CYEAR,

FMON LIKE ZHTWPVERT_FCAST-CMONTH,

FYER LIKE ZHTWPVERT_FCAST-CYEAR.

IF P_DATE IS INITIAL.

P_DATE = SY-DATUM.

ENDIF.

SELECT * FROM ZHTWPVERT_FCAST INTO CORRESPONDING

FIELDS OF TABLE IT_WPFCAST WHERE SVERT EQ SVERT

AND CNTRY EQ CNTRY

AND TVISA EQ TVISA.

CALL FUNCTION 'MONTH_PLUS_DETERMINE'

EXPORTING

MONTHS = '2'

OLDDATE = P_DATE

IMPORTING

NEWDATE = DATE1.

MON = P_DATE+4(2).

YER = P_DATE+0(4).

FMON = DATE1+4(2).

FYER = DATE1+0(4).

LOOP AT IT_WPFCAST.

IF IT_WPFCAST-CYEAR NE YER AND IT_WPFCAST-CYEAR NE FYER.

DELETE IT_WPFCAST.

ENDIF.

ENDLOOP.

LOOP AT IT_WPFCAST.

IF IT_WPFCAST-CMONTH LT MON OR IT_WPFCAST-CMONTH GT FMON.

DELETE IT_WPFCAST.

ENDIF.

ENDLOOP.

DESCRIBE TABLE IT_WPFCAST LINES LINES.

IF LINES GT 0.

RETMSG = 'SUCCESS'.

ELSE.

RETMSG = 'FAILURE'.

ENDIF.

ENDFUNCTION.