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: 

Search help - Values does not return to input field.

Former Member
0 Kudos

Hi Experts,

Problem 1: I have created one search help with search help exit. This search help is assigned to a field in table. In SE16 when I do F4 on field, it opens the input help with correct filtered values (as specified in search help exit) but when I select one of them, it returns to screen with last value of the populated list.

Also I created maintenance view for table and in SM30 also when I do F4 and select any value, it returns with last value.

Problem 2: Also in SM30, I can enter any value without going to F4. How to restrict user from entering values which are allowed as per the logic added in search help exit?

Kindly tell me what is more to be done.

Thanks and Regards,

Karam

1 ACCEPTED SOLUTION

raymond_giuseppi
Active Contributor
0 Kudos

I have created one search help with search help exit. This search help is assigned to a field in table.

SE11 correct

In SE16 when I do F4 on field, it opens the input help with correct filtered values (as specified in search help exit)

Search Help exit steps before DISPLAY are correct

but when I select one of them, it returns to screen with last value of the populated list.

So the problem seems to come from the exit steps after display, value comes from the initial filling of displayed internal table and not the selected record. Check you exit code, or post it here.

Regards,

Raymond

5 REPLIES 5

Former Member
0 Kudos

Any help?

raymond_giuseppi
Active Contributor
0 Kudos

I have created one search help with search help exit. This search help is assigned to a field in table.

SE11 correct

In SE16 when I do F4 on field, it opens the input help with correct filtered values (as specified in search help exit)

Search Help exit steps before DISPLAY are correct

but when I select one of them, it returns to screen with last value of the populated list.

So the problem seems to come from the exit steps after display, value comes from the initial filling of displayed internal table and not the selected record. Check you exit code, or post it here.

Regards,

Raymond

0 Kudos

Here is the part of code which is calling F4 values and afterward processing


CALL FUNCTION 'F4UT_RESULTS_MAP'

EXPORTING

source_structure   = 'ZCRM_F4'

apply_restrictions = 'X'

TABLES

shlp_tab       = shlp_tab

record_tab     = record_tab

source_tab     = lt_list

CHANGING

shlp           = shlp

callcontrol    = callcontrol

EXCEPTIONS

OTHERS         = 0.

IF sy-subrc EQ 0.

callcontrol-step = 'DISP'.

ELSE.

EXIT. "Don't process STEP DISP additionally in this call.

ENDIF.

  ENDIF. " IF lt_low IS NOT INITIAL.

Thanks and Regards,

0 Kudos

Before this code did you check the current step, a code like "CHECK callcontrol-step = 'SELECT'." else your code will be executed at/after DISP step again.

Regards,

Raymond

0 Kudos

Yeah I added it now. And it is working.

*"----------------------------------------------------------------------

* STEP SELONE  (Select one of the elementary searchhelps)

*"----------------------------------------------------------------------

  IF callcontrol-step = 'SELONE'.

    EXIT.

  ENDIF.

*"----------------------------------------------------------------------

* STEP PRESEL  (Enter selection conditions)

*"----------------------------------------------------------------------

  IF callcontrol-step = 'PRESEL'.

    EXIT.

  ENDIF.

*"----------------------------------------------------------------------

* STEP SELECT    (Select values)

*"----------------------------------------------------------------------

  IF callcontrol-step = 'SELECT'.

..

  CALL FUNCTION 'F4UT_RESULTS_MAP'
    EXPORTING

...

ENDIF.

*"----------------------------------------------------------------------

* STEP DISP     (Display values)

*"----------------------------------------------------------------------

  IF callcontrol-step = 'DISP'.

    EXIT.

  ENDIF.

Thanks and Regards,