Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

date operation

Former Member
0 Likes
710

In the selection screen the data in the data range should be defaulted as one year back from the present

date and one year afetr the present date.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
680

hi,

try this.

DATA : dt(2) TYPE c,

mon(2) TYPE c,

yr(4) TYPE c,

dat TYPE sy-datum,

dat_l(10) TYPE c,

dat_h(10) TYPE c,

yr_l(4) TYPE c,

yr_h(4) TYPE c,

datt(10) TYPE c.

SELECT-OPTIONS: date FOR datt.

INITIALIZATION.

dat = sy-datum.

yr = dat+0(4).

mon = dat+4(2).

dt = dat+6(2).

yr_l = yr - 1.

yr_h = yr + 1.

CONCATENATE dt mon INTO dat_l SEPARATED BY '.'.

CONCATENATE dat_l yr_l INTO dat_l SEPARATED BY '.'.

CONCATENATE dt mon INTO dat_h SEPARATED BY '.'.

CONCATENATE dat_h yr_h INTO dat_h SEPARATED BY '.'.

date-low = dat_l.

date-high = dat_h.

date-sign = 'I'.

date-option = 'BT'.

APPEND date.

reward if useful.

5 REPLIES 5
Read only

suresh_datti
Active Contributor
0 Likes
680

try this..

select-options: s_datum for sy-datum.
initialization.
s_datum-sign = 'I'.
s_datum-option = 'EQ'.
s_datum-low = sy-datum.
s_datum-low+0(4) = sy-datum+0(4) - 1.
s_datum-high = sy-datum.
s_datum-high+0(4) = sy-datum+0(4) + 1.
append s_datum.

~Suresh

code expanded

Message was edited by:

Suresh Datti

Read only

Former Member
0 Likes
680

hi abdul,

select-options: s_datum for sydatum.

initialization.

s_datum-low0(4) = sy-datum0(4) - 1.

s_datum-high0(4) = sy-datum0(4) + 1.

Pls reward if helpful.

Read only

varma_narayana
Active Contributor
0 Likes
680

Hi Abdul..

This is the Code:

select-options: s_datum for sydatum.

Initialization.

s_datum-low0(4) = sy-datum0(4) - 1.

s_datum-high0(4) = sy-datum0(4) + 1.

APPEND S_DATUM.

REWARD IF HELPFUL.

Read only

Former Member
0 Likes
681

hi,

try this.

DATA : dt(2) TYPE c,

mon(2) TYPE c,

yr(4) TYPE c,

dat TYPE sy-datum,

dat_l(10) TYPE c,

dat_h(10) TYPE c,

yr_l(4) TYPE c,

yr_h(4) TYPE c,

datt(10) TYPE c.

SELECT-OPTIONS: date FOR datt.

INITIALIZATION.

dat = sy-datum.

yr = dat+0(4).

mon = dat+4(2).

dt = dat+6(2).

yr_l = yr - 1.

yr_h = yr + 1.

CONCATENATE dt mon INTO dat_l SEPARATED BY '.'.

CONCATENATE dat_l yr_l INTO dat_l SEPARATED BY '.'.

CONCATENATE dt mon INTO dat_h SEPARATED BY '.'.

CONCATENATE dat_h yr_h INTO dat_h SEPARATED BY '.'.

date-low = dat_l.

date-high = dat_h.

date-sign = 'I'.

date-option = 'BT'.

APPEND date.

reward if useful.

Read only

Former Member
0 Likes
680

Consider the code below...

parameters p_date like sy-datum default sy-datum.

data:

last_date like sy-datum,

coming_date like sy-datum.

CALL FUNCTION 'MONTH_PLUS_DETERMINE'

EXPORTING

MONTHS = -12

OLDDATE = p_date

IMPORTING

NEWDATE = last_date

.

CALL FUNCTION 'MONTH_PLUS_DETERMINE'

EXPORTING

MONTHS = 12

OLDDATE = p_date

IMPORTING

NEWDATE = coming_date

.

write: last_date,/ p_date,/ coming_date.

Reward points if useful, get back in case of query...

Cheers!!!