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

reg select-option

Former Member
0 Likes
697

Hi

in my select-option i need default date that is, if i give today's date in select-option it show starting of that montha and end of that month as default

that is 1.02.2008 and 29.02.2008

or if today date is march 12 it should show 1.03.2007 and 31.03.2007 in select-option as default...

pls help on this issue

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
674

Hi,

initialization.
DATA: YY(4)      TYPE N,
      MM(2)      TYPE N,
      DD(2)      TYPE N  VALUE '01',
      CURR_DATE  type sy-datum,
      CURR_MONTH TYPE N,
      LEAP_CHK   TYPE P.

    MOVE SY-DATUM TO CURR_DATE.
    MOVE SY-DATUM+4(2) TO MM.
  MOVE CURR_DATE+0(4) TO YY.
  LEAP_CHK = YY MOD 4.
  CONCATENATE YY MM DD INTO s_date-low .
  IF MM EQ '04' OR MM EQ '06' OR MM EQ '09' OR MM EQ '11'.
      MOVE '30' TO DD.
  ELSEIF MM NE '02'.
      MOVE '31' TO DD.
  ELSEIF LEAP_CHK <> 0.
      MOVE '28' TO DD.
  ELSE.
      MOVE '29' TO DD.
  ENDIF.
  CONCATENATE YY MM DD INTO s_date-high.
append s_date.           " s_date is ur select-option.

Cheers,

Will.

Edited by: Will smith on Feb 5, 2008 7:33 AM

Hi

in my select-option i need default date that is, if i give today's date in select-option it show starting of that montha and end of that month as default

that is 1.02.2008 and 29.02.2008

or if today date is march 12 it should show 1.03.2007 and 31.03.2007 in select-option as default...

pls help on this issue

5 REPLIES 5
Read only

Former Member
0 Likes
674

Hi,

select-option.

s_date for w_date.

initialization.

w_date = sy-datum+(2).

w_date1 = sy-datum - w_date.

loop at s_date.

s_date-low = w_date1.

s_date-high = w_date2.

endloop.

Plzz reward points if it helps.

Read only

Former Member
0 Likes
674

Hi,

You can do as below :


select-options : so_budat for bsis-budat.

data : gv_firstday like sy-datum,
         gv_lastday like sy-datum.

at selection-screen output.

   CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
                 EXPORTING
                    i_gjahr              = sy-datum(4)
                    i_periv              = 'K4'            "Fiscal year Varaint
                    i_poper              = sy-datum+4(2)
                 IMPORTING
                    e_date               = gv_firstday
                 EXCEPTIONS
                    input_false          = 1
                    t009_notfound        = 2
                    t009b_notfound       = 3
                    OTHERS               = 4
                              .
 so_budat-low = gv_firstday.


CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
                 EXPORTING
                   i_gjahr              = sy-datum(4)
                    i_periv              = 'K4'            "Fiscal year Varaint
                    i_poper              = sy-datum+4(2)
                 IMPORTING
                    e_date               = gv_lastday
                 EXCEPTIONS
                    input_false          = 1
                    t009_notfound        = 2
                    t009b_notfound       = 3
                    OTHERS               = 4
                              .

so_budat-high = gv_lastday.

Thanks,

Sriram Ponna.

Read only

former_member156446
Active Contributor
0 Likes
674

in the Initialization even..

set the default values..

else.

select-options: so_date for syst-datum default sy-datum.

Read only

Former Member
0 Likes
674

In initialization event:

Use FM BKK_GET_MONTH_LASTDAY to get the last day of the month.

First day should always be 01.

Read only

Former Member
0 Likes
675

Hi,

initialization.
DATA: YY(4)      TYPE N,
      MM(2)      TYPE N,
      DD(2)      TYPE N  VALUE '01',
      CURR_DATE  type sy-datum,
      CURR_MONTH TYPE N,
      LEAP_CHK   TYPE P.

    MOVE SY-DATUM TO CURR_DATE.
    MOVE SY-DATUM+4(2) TO MM.
  MOVE CURR_DATE+0(4) TO YY.
  LEAP_CHK = YY MOD 4.
  CONCATENATE YY MM DD INTO s_date-low .
  IF MM EQ '04' OR MM EQ '06' OR MM EQ '09' OR MM EQ '11'.
      MOVE '30' TO DD.
  ELSEIF MM NE '02'.
      MOVE '31' TO DD.
  ELSEIF LEAP_CHK <> 0.
      MOVE '28' TO DD.
  ELSE.
      MOVE '29' TO DD.
  ENDIF.
  CONCATENATE YY MM DD INTO s_date-high.
append s_date.           " s_date is ur select-option.

Cheers,

Will.

Edited by: Will smith on Feb 5, 2008 7:33 AM