10-03-2008 1:49 PM
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.
10-03-2008 1:57 PM
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.
10-03-2008 2:06 PM
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
10-03-2008 2:57 PM
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