‎2008 Dec 25 9:44 AM
i have a field in screen 1000..where i'm using vrm_set_values to get dropdown list for the field..for removing the balnk value i made it mandatory..but i'm not able to get default value in the screen field..even though i'm assigning it a value..how to do it?
SELECT * FROM ZESCHEME INTO TABLE IT_ZSCHEME.
IF IT_ZSCHEME IS INITIAL.
LOOP AT IT_ZSCHEME.
SVID = 'ZEPRE_M-SCHEME'.
SVALUE-KEY = IT_ZSCHEME-SCHEME.
APPEND SVALUE TO SVALUES.
ENDLOOP.
ENDIF.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = SVID
VALUES = SVALUES
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF ZEPRE_M-SCHEME IS INITIAL.
ZEPRE_M-SCHEME = 'FREE'.
ENDIF.
is this the right approch to do?
‎2009 Mar 04 8:24 AM
i hope ur Internal table SVALUES needs to be structured n populated properly..
chek out this code:
THE TOP INCLUDE:
TYPES: begin of stru_t161t,
BSTYP type t161t-BSTYP,
BSART type t161t-BSART,
BATXT type BATXT,
end of stru_t161t.
types : BEGIN OF STRU_TEXT, "STRUCTURE FOR FUNCTION MODULE
KEY(40) TYPE C, " FOR DROPDOWN BOX
TEXT(80) TYPE C,
END OF STRU_TEXT.
data : it_t161t type TABLE OF stru_t161t,
wa_t161t type stru_t161t,
it_text type TABLE OF STRU_TEXT,
wa_text type STRU_TEXT.
IN THE PBO:
MODULE STATUS_1000 OUTPUT.
SELECT
BSTYP
BSART
BATXT
into table it_t161t
from t161t
where bstyp = 'B'
and SPRAS = 'E'.
clear wa_text.
refresh it_text.
loop at it_t161t into wa_t161t.
move wa_t161t-bsart to wa_text-key.
move wa_t161t-batxt to wa_text-text.
append wa_text to it_text.
endloop.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'V_DRPDWN' "'V_DRPDWN' is the screen name of the dropdown field
VALUES = it_text
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_1000 OUTPUT
regards,
johnson george
Edited by: johnson george on Mar 4, 2009 1:57 PM
‎2009 Mar 05 1:25 PM
In the vrm_set_values, to put something as default values, you must use the id = ' ' for that particular value.
Check out the following code. I think this will help you.
PARAMETERS: p_day TYPE char4 AS LISTBOX VISIBLE LENGTH 6 OBLIGATORY.
TYPE-POOLS: vrm.
DATA: l_sid TYPE vrm_id,
l_i_val TYPE vrm_values,
l_val LIKE LINE OF l_i_val.
INITIALIZATION.
l_sid = 'p_day'.
l_val-key = '0'.
l_val-text = 'SUN'.
APPEND l_val TO l_i_val.
l_val-key = '1'.
l_val-text = 'MON'.
APPEND l_val TO l_i_val.
l_val-key = '2'.
l_val-text = 'TUE'.
APPEND l_val TO l_i_val.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = l_sid
values = l_i_val
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc = 0.
ENDIF.