‎2007 Jun 14 3:30 AM
Hi,
I want to add a search help for select-options. This help can not only supply the basic search help function, but also can supply a function with multi choice. It means that when user press the F4 , he can select more than one value in one time in the pop menu , just like the field 'ABKRS' in LDB 'PNP'.
Can anyone give me some sourch code?
Thanks.
qiuguo
‎2007 Jun 14 3:51 AM
‎2007 Jun 14 3:51 AM
‎2007 Jun 14 4:27 AM
Hi,
chk a sample code.
REPORT abc.
TYPES: BEGIN OF ztable,
numde(20),
KUNNR LIKE KNA1-KUNNR.
TYPES: END OF ztable.
DATA: i_ztable TYPE ztable OCCURS 0 WITH HEADER LINE.
DATA:r_table TYPE ztable OCCURS 0 WITH HEADER LINE.
DATA: v_choice TYPE i.
PARAMETERS: p_kunnr LIKE kna1-kunnr .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_kunnr.
i_ztable-numde = 'JOHN05001'.
i_ztable-kunnr = '1'.
APPEND i_ztable.
CLEAR i_ztable.
i_ztable-numde = 'PETE05001'.
i_ztable-kunnr = '2'.
APPEND i_ztable.
CLEAR i_ztable.
i_ztable-numde = 'JOHN05002'.
i_ztable-kunnr = '1'.
APPEND i_ztable.
CLEAR i_ztable.
i_ztable-numde = 'PETE05002'.
i_ztable-kunnr = '2'.
APPEND i_ztable.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'I_ZTABLE-KUNNR'
PVALKEY = ' '
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_KUNNR'
STEPL = 0
WINDOW_TITLE =
VALUE = '*'
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = i_ztable
FIELD_TAB =
return_tab =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
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 sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
CLEAR i_ztable.
READ TABLE i_ztable INDEX v_choice.
MOVE i_ztable-kunnr TO p_kunnr.
ENDIF.
Regards,
Priyanka.
‎2007 Jun 14 4:37 AM
Hi,
thanks for your response.
What i really want to do is for multi seletion.Please send me some code about select-options.
Thanks.
qiuguo
‎2007 Jun 14 4:29 AM
Hi,
My source code is below,. It works, but it failed to fulfil my requirement. I want the pop menu with a button 'multi selection' when i go for the extension option.But it didn't have.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'LGART'
PVALKEY = 'X'
DYNPPROG = sy-repid
DYNPNR = '3010'
DYNPROFIELD = 'RSCSEL'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = 'X'
DISPLAY = 'F'
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET = '
TABLES
VALUE_TAB = l_helptab
FIELD_TAB = l_help_field_tab
RETURN_TAB = RTN_TABLE
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at rtn_table.
p_wgty-low = rtn_table-FIELDVAL.
p_wgty-sign = 'I'.
p_wgty-option = 'EQ'.
append p_wgty.
endloop.
thanks.
qiuguo