Application Development 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: 

F Help is not properly working on select-options

Former Member
0 Kudos

Hi All,

I have created search help on select-options

but when i am entering value with help of search help

it shows the error lower limit is greater than uper limit.

but some time it is not showing any problem but based on these value it is not fetching data from ztable.

Please help me as soon as possible

The code i have written for search help is given below

&----


*& Include ZQMR_GARDE_SELECTION_SCREEN

&----


SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_SL_NO FOR ZGRADE_CHEMISTRY-SL_NO OBLIGATORY,

S_GL_GRD FOR ZGRADE_CHEMISTRY-GLS_GRADE ,

S_GRADE FOR ZGRADE_CHEMISTRY-GRADE ,

S_CUST FOR ZGRADE_CHEMISTRY-CUSTOMER ,

S_COLOR FOR ZGRADE_CHEMISTRY-COLOR_CODE ,

s_RANGE FOR ZGRADE_CHEMISTRY-RANGE .

SELECTION-SCREEN END OF BLOCK B1 .

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_SL_NO-low.

select sl_no GLS_GRADE GRADE CUSTOMER COLOR_CODE RANGE FROM ZGRADE_CHEMISTRY

INTO CORRESPONDING FIELDS OF TABLE it_f4 .

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'SL_NO'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_SL_NO = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_SL_NO-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'SL_NO'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_SL_NO = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_GL_GRD-low.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'GLS_GRADE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_GL_GRD = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_GL_GRD-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'GLS_GRADE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_GL_GRD = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_GRADE-low.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'GRADE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_GRADE = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_GRADE-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'GRADE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_GRADE = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_CUST-low.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'CUSTOMER'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_CUST = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_CUST-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'CUSTOMER'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_CUST = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_COLOR-low.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'COLOR_CODE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_COLOR = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR S_COLOR-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'COLOR_CODE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

S_COLOR = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR s_RANGE-low.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'RANGE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

s_RANGE = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

AT SELECTION-SCREEN on VALUE-REQUEST FOR s_RANGE-high.

IF sy-subrc = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'RANGE'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'IT_F4'

value_org = 'S'

TABLES

value_tab = it_F4[]

return_tab = return_values

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.

ELSE .

s_RANGE = return_values-fieldval.

ENDIF.

ELSE.

MESSAGE E004 .

ENDIF.

3 REPLIES 3

former_member182426
Active Contributor
0 Kudos

hi,

there is no problem. but the in selectio-screen rule is...

u have to select first low value and in second ip select high value.

ex:

if pernrs are 100, 105, 110,210, 230, 250...

in selection screen u have to select like this.

PERNR 105 to 230.

but not like this.

PERNR 230 to 105.

in this case u will see error like lower is greater than higher like...

so always the first value should be LE second value.

Regards,

shankar.

0 Kudos

yes i am giving the exact value as u told

but but one thing some times it is working

but with these vales it is not fetching data

by taking these values when i goto the table it also shows that there is no value

but that data is mentained in the table

one more thing is that that value are mentained in the table as

mixing with lower case and uppercase

Former Member
0 Kudos

hi,

just try to apply search help any of these methods:

you can use function module F4IF_INT_TABLE_VALUE_REQUEST

or

can follow these simple steps for search help:

go to se11==>

put some name after ticking search help radiobutton==> create==>

then tick " elementery search help " and press enter ===>

then put description and table name in selection method ===>

then put the field on which u want search help

in search help parameter==>

tick IMP EXP ==>

write 1 in lpos and spos===>

save and activate===>

double click on table name ===>

select that field and press search help tab above===>

then copy

i hope it will help u a lot

thaks and regards

rahul sharma

Edited by: RAHUL SHARMA on Oct 3, 2008 3:57 PM