‎2008 Aug 12 3:13 PM
Hi Guys!!!
I have Date field as select-option,just below that i have three radiobuttons on a single line namely R1(Today),R2(Current month) and R3(Last month).....
The thing is if i select the first radio button the date field should be updated with SY-DATUM,if the second one date field should be updated with current months start and end date,if i select last one then the date field should be updated with last months start and end date....
Can be done? share your exp.
By,
Mohandoss P.
‎2008 Aug 12 3:55 PM
Hi,
Please find the following code for your reference.
REPORT y_test.
TABLES: vbak,
sscrfields.
DATA lv_date TYPE sydatum.
PARAMETERS: rb_today TYPE char1 RADIOBUTTON GROUP g1 USER-COMMAND f1,
rb_currm TYPE char1 RADIOBUTTON GROUP g1,
rb_lastm TYPE char1 RADIOBUTTON GROUP g1.
SELECT-OPTIONS: s_date FOR vbak-erdat.
INITIALIZATION.
s_date-sign = 'I'.
s_date-option = 'EQ'.
s_date-low = sy-datum.
APPEND s_date.
AT SELECTION-SCREEN.
CHECK sscrfields-ucomm EQ 'F1'.
CASE 'X'.
WHEN rb_today.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
s_date-low = sy-datum.
WHEN rb_currm.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
iv_date = sy-datum
IMPORTING
ev_month_begin_date = s_date-low
ev_month_end_date = s_date-high.
WHEN rb_lastm.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
CALL FUNCTION 'CCM_GO_BACK_MONTHS'
EXPORTING
currdate = sy-datum
backmonths = 1
IMPORTING
newdate = lv_date.
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
iv_date = lv_date
IMPORTING
ev_month_begin_date = s_date-low
ev_month_end_date = s_date-high.
ENDCASE.
APPEND s_date.
Award points if found useful.
Thanks
Indrajit
‎2008 Aug 12 3:18 PM
Hi....
Use this FM...
HR_JP_MONTH_BEGIN_END_DATE
Excute this progarm....
data: date like sy-datum,
date1 like sy-datum,
date2 like sy-datum.
parameters: r1 RADIOBUTTON GROUP rad,
r2 RADIOBUTTON GROUP rad,
r3 RADIOBUTTON GROUP rad.
if r1 = 'X'.
date1 = sy-datum.
write:/ date1.
clear date1.
elseif r2 = 'X'.
call function 'HR_JP_MONTH_BEGIN_END_DATE'
exporting
IV_DATE = sy-datum
IMPORTING
EV_MONTH_BEGIN_DATE = date1
EV_MONTH_END_DATE = date2.
write:/ date1,
date2.
clear: date1, date2.
else.
date = sy-datum.
if date+4(2) ne 1.
date+4(2) = date+4(2) - 1.
else.
date+4(2) = '12'.
endif.
call function 'HR_JP_MONTH_BEGIN_END_DATE'
exporting
IV_DATE = date
IMPORTING
EV_MONTH_BEGIN_DATE = date1
EV_MONTH_END_DATE = date2.
write:/ date1,
date2.
clear: date1, date2.
endif.Thanks,
Naveen.I
‎2008 Aug 12 3:21 PM
check below code and change the code accordingly...
----
S E L E C T I O N S C R E E N
----
SELECTION-SCREEN BEGIN OF BLOCK FILE WITH FRAME TITLE TEXT-000.
SELECTION-SCREEN : BEGIN OF LINE.
PARAMETERS: RB_APPN RADIOBUTTON GROUP RAD1 DEFAULT 'X' USER-COMMAND RAD.
SELECTION-SCREEN COMMENT 3(25) TEXT-030.
PARAMETERS: RB_PRTN RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN COMMENT 32(20) TEXT-031.
SELECTION-SCREEN : END OF LINE.
PARAMETERS : P_LPATH TYPE FILEPATH-PATHINTERN MODIF ID Z1,
P_FILE TYPE RLGRAP-FILENAME OBLIGATORY.
PARAMETERS : P_SUBGRP TYPE RLGRAP-FILENAME,
P_INVEN TYPE RLGRAP-FILENAME,
P_SALES TYPE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK FILE.
SELECTION-SCREEN BEGIN OF BLOCK FILE1 WITH FRAME TITLE TEXT-032.
SELECT-OPTIONS:
S_WERKS FOR T001W-WERKS OBLIGATORY DEFAULT 5210,
S_SPART FOR MARA-SPART,
S_MATNR FOR MARA-MATNR.
SELECTION-SCREEN END OF BLOCK FILE1.
----
A T S E L E C T I O N - S C R E E N O U T P U T
----
AT SELECTION-SCREEN OUTPUT.
PERFORM F_MODIFY_SCREEN.
----
A T S E L E C T I O N S C R E E N
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM VALIDATE_FILE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SUBGRP.
IF RB_PRTN = 'X'.
PERFORM GET_LOCAL_FILE_NAME USING P_SUBGRP .
ELSEIF RB_APPN = 'X'.
MESSAGE I000 WITH
'No F4 help for files on Application Server.'(033).
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INVEN.
IF RB_PRTN = 'X'.
PERFORM GET_LOCAL_FILE_NAME USING P_INVEN .
ELSEIF RB_APPN = 'X'.
MESSAGE I000 WITH
'No F4 help for files on Application Server.'(033).
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SALES.
IF RB_PRTN = 'X'.
PERFORM GET_LOCAL_FILE_NAME USING P_SALES .
ELSEIF RB_APPN = 'X'.
MESSAGE I000 WITH
'No F4 help for files on Application Server.'(033).
ENDIF.
&----
*& Form F_MODIFY_SCREEN
&----
text
----
FORM F_MODIFY_SCREEN .
*-- For Output Options
IF RB_PRTN = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'Z1' .
SCREEN-INVISIBLE = 1.
SCREEN-ACTIVE = 0.
ELSE.
SCREEN-INVISIBLE = 0.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDFORM. " F_MODIFY_SCREEN
‎2008 Aug 12 3:55 PM
Hi,
Please find the following code for your reference.
REPORT y_test.
TABLES: vbak,
sscrfields.
DATA lv_date TYPE sydatum.
PARAMETERS: rb_today TYPE char1 RADIOBUTTON GROUP g1 USER-COMMAND f1,
rb_currm TYPE char1 RADIOBUTTON GROUP g1,
rb_lastm TYPE char1 RADIOBUTTON GROUP g1.
SELECT-OPTIONS: s_date FOR vbak-erdat.
INITIALIZATION.
s_date-sign = 'I'.
s_date-option = 'EQ'.
s_date-low = sy-datum.
APPEND s_date.
AT SELECTION-SCREEN.
CHECK sscrfields-ucomm EQ 'F1'.
CASE 'X'.
WHEN rb_today.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
s_date-low = sy-datum.
WHEN rb_currm.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
iv_date = sy-datum
IMPORTING
ev_month_begin_date = s_date-low
ev_month_end_date = s_date-high.
WHEN rb_lastm.
REFRESH s_date.
CLEAR s_date.
s_date-sign = 'I'.
s_date-option = 'EQ'.
CALL FUNCTION 'CCM_GO_BACK_MONTHS'
EXPORTING
currdate = sy-datum
backmonths = 1
IMPORTING
newdate = lv_date.
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
iv_date = lv_date
IMPORTING
ev_month_begin_date = s_date-low
ev_month_end_date = s_date-high.
ENDCASE.
APPEND s_date.
Award points if found useful.
Thanks
Indrajit