04-15-2006 11:17 AM
hi,
suppose in the selection screen i have Customer No. and i want the result for only 4 customers like 1000, 1002, 1009, 1020. can anyone help me how to select only those in the selection screen.
thanks,
swamy
04-15-2006 11:27 AM
hi,
Check this example
check this code..
copy paste it and see...
REPORT ZTEST_CODE_VRM.
TYPE-POOLS: VRM.
TYPES: NAME TYPE VRM_VALUE-TEXT.
DATA: V_VBELN LIKE VBAK-VBELN.
DATA: IT_VALUES TYPE STANDARD TABLE OF VRM_VALUE.
DATA: WA TYPE VRM_VALUE.
TABLES: KNA1.
SELECT-OPTIONS: S_VBELN FOR V_VBELN.
PARAMETERS: P_KUNNR AS CHECKBOX USER-COMMAND ABC.
PARAMETERS: P_CHK1 AS CHECKBOX USER-COMMAND ABC.
PARAMETERS: P_KUNNR1 TYPE NAME AS LISTBOX VISIBLE LENGTH 30.
INITIALIZATION.
S_VBELN-LOW = '123'.
APPEND S_VBELN.
WA-KEY = '1'.
WA-TEXT = 'One'.
APPEND WA TO IT_VALUES.
CLEAR WA.
WA-KEY = '2'.
WA-TEXT = 'Two'.
APPEND WA TO IT_VALUES.
CLEAR WA.
READ TABLE IT_VALUES INTO WA INDEX 1.
P_KUNNR1 = WA-KEY.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_KUNNR1'
VALUES = IT_VALUES
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.
AT SELECTION-SCREEN.
CLEAR S_VBELN.
REFRESH S_VBELN.
S_VBELN-LOW = '456'.
APPEND S_VBELN.
AT SELECTION-SCREEN ON P_KUNNR.
* This event should fire only only for parameters not for select options
P_KUNNR = 'X'.
*
AT SELECTION-SCREEN OUTPUT.
IF P_KUNNR = 'X'.
P_KUNNR = ' '.
ENDIF.
IF P_CHK1 = ' '.
P_CHK1 = 'X'.
ELSE.
P_CHK1 = ' '.
ENDIF.
regards
vijay
04-15-2006 11:22 AM
Swamy,
Yes you can do that. Take a look at the usage VRM_SET_VALUES.
Use this statement.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VALUE.
Here you write the code and call the function, which will provide you the DROP DOWN.
Regards,
Ravi
Note : Please mark the helpful answers
Message was edited by: Ravikumar Allampallam
04-15-2006 11:23 AM
Hi
Did you mean you have customer no as parameter on selection screen and you want only 4 values as valid input ??
if so you can use at selection screen on value request event that triggers when user press F4 key and than in this event you can call screen havin these four values
Thanks
04-15-2006 11:27 AM
Hi Rashmi,
can u pls send me the sample code. it will be uesful.
thanks,
Swamy
04-15-2006 11:35 AM
Hi
just design one more screen having those 4 values say suppose screen no 100.
than in at selection-screen on value-request code like this
at selection-screen on value-request.
call screen 100 starting at x1 y1 ending at x2 y2.
by doing so whenever user will press F4
this screen will display as a window.
I hope you got this point
Thanks
04-15-2006 11:41 AM
Here is the code.
TYPE-POOLS : VRM.
data : t_values type VRM_VALUES,
wa_value type VRM_VALUE.
parameters : p_carrid type S_carrid AS LISTBOX VISIBLE LENGTH 20.
AT SELECTION-SCREEN OUTPUT.
refresh t_values.
wa_value-key = '1'.
wa_value-text = 'a'.
append wa_value to t_values.
clear wa_value.
wa_value-key = '2'.
wa_value-text = 'B'.
append wa_value to t_values.
clear wa_value.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_CARRID'
VALUES = t_values[].
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.
Regards,
Ravi
04-15-2006 11:27 AM
hi,
Check this example
check this code..
copy paste it and see...
REPORT ZTEST_CODE_VRM.
TYPE-POOLS: VRM.
TYPES: NAME TYPE VRM_VALUE-TEXT.
DATA: V_VBELN LIKE VBAK-VBELN.
DATA: IT_VALUES TYPE STANDARD TABLE OF VRM_VALUE.
DATA: WA TYPE VRM_VALUE.
TABLES: KNA1.
SELECT-OPTIONS: S_VBELN FOR V_VBELN.
PARAMETERS: P_KUNNR AS CHECKBOX USER-COMMAND ABC.
PARAMETERS: P_CHK1 AS CHECKBOX USER-COMMAND ABC.
PARAMETERS: P_KUNNR1 TYPE NAME AS LISTBOX VISIBLE LENGTH 30.
INITIALIZATION.
S_VBELN-LOW = '123'.
APPEND S_VBELN.
WA-KEY = '1'.
WA-TEXT = 'One'.
APPEND WA TO IT_VALUES.
CLEAR WA.
WA-KEY = '2'.
WA-TEXT = 'Two'.
APPEND WA TO IT_VALUES.
CLEAR WA.
READ TABLE IT_VALUES INTO WA INDEX 1.
P_KUNNR1 = WA-KEY.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_KUNNR1'
VALUES = IT_VALUES
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.
AT SELECTION-SCREEN.
CLEAR S_VBELN.
REFRESH S_VBELN.
S_VBELN-LOW = '456'.
APPEND S_VBELN.
AT SELECTION-SCREEN ON P_KUNNR.
* This event should fire only only for parameters not for select options
P_KUNNR = 'X'.
*
AT SELECTION-SCREEN OUTPUT.
IF P_KUNNR = 'X'.
P_KUNNR = ' '.
ENDIF.
IF P_CHK1 = ' '.
P_CHK1 = 'X'.
ELSE.
P_CHK1 = ' '.
ENDIF.
regards
vijay