Application Development and Automation 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: 
Read only

Search Help

Former Member
0 Likes
402

I want to create search help that is actually pick only those values that is entered in previous search help.

for ex. there are 6 lots against 4 dates.

when the user enter 4 dates then he has to select only 4 lots from 6 lots. so i want when the user enter 4 dates then the lots concerning to that 4 dates will only flow that are 6 in number and the user will select 4 from 6 lots..

4 REPLIES 4
Read only

Former Member
0 Likes
374

Hi,

Write this code in a module in PROCESS ON VALUE REQUEST

CLEAR wa_dynpread1.

wa_dynpread1-fieldname = 'WPLANT'.

APPEND wa_dynpread1 TO it_dynpread1.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = sy-repid

dynumb = sy-dynnr

  • TRANSLATE_TO_UPPER = ' '

  • request = 'A'

  • PERFORM_CONVERSION_EXITS = ' '

  • PERFORM_INPUT_CONVERSION = ' '

  • DETERMINE_LOOP_INDEX = ' '

  • START_SEARCH_IN_CURRENT_SCREEN = ' '

  • START_SEARCH_IN_MAIN_SCREEN = ' '

  • START_SEARCH_IN_STACKED_SCREEN = ' '

  • START_SEARCH_ON_SCR_STACKPOS = ' '

  • SEARCH_OWN_SUBSCREENS_FIRST = ' '

  • SEARCHPATH_OF_SUBSCREEN_AREAS = ' '

TABLES

dynpfields = it_dynpread1

EXCEPTIONS

invalid_abapworkarea = 1

invalid_dynprofield = 2

invalid_dynproname = 3

invalid_dynpronummer = 4

invalid_request = 5

no_fielddescription = 6

invalid_parameter = 7

undefind_error = 8

double_conversion = 9

stepl_not_found = 10

OTHERS = 11

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CLEAR wa_dynpread1.

READ TABLE it_dynpread1 INTO wa_dynpread1 WITH KEY fieldname = 'WPLANT'.

IF sy-subrc = 0.

SELECT boe_no plant hawb_bl_no exbond_no FROM zboe_hdr INTO TABLE it_boe

WHERE plant = wa_dynpread1-fieldvalue.

ENDIF.

REFRESH it_dynpread.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'BOE_NO'

  • PVALKEY = ' '

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'ITAB_HDR-BOE_NO'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = it_boe

  • 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.

CLEAR wa_dynpread2.

wa_dynpread2-fieldname = 'ITAB_HDR-BOE_NO'.

APPEND wa_dynpread2 TO it_dynpread2.

*Read the Type

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = sy-repid

dynumb = sy-dynnr

  • TRANSLATE_TO_UPPER = ' '

  • request = 'A'

  • PERFORM_CONVERSION_EXITS = ' '

  • PERFORM_INPUT_CONVERSION = ' '

  • DETERMINE_LOOP_INDEX = ' '

  • START_SEARCH_IN_CURRENT_SCREEN = ' '

  • START_SEARCH_IN_MAIN_SCREEN = ' '

  • START_SEARCH_IN_STACKED_SCREEN = ' '

  • START_SEARCH_ON_SCR_STACKPOS = ' '

  • SEARCH_OWN_SUBSCREENS_FIRST = ' '

  • SEARCHPATH_OF_SUBSCREEN_AREAS = ' '

TABLES

dynpfields = it_dynpread2

EXCEPTIONS

invalid_abapworkarea = 1

invalid_dynprofield = 2

invalid_dynproname = 3

invalid_dynpronummer = 4

invalid_request = 5

no_fielddescription = 6

invalid_parameter = 7

undefind_error = 8

double_conversion = 9

stepl_not_found = 10

OTHERS = 11

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CLEAR wa_dynpread2.

READ TABLE it_dynpread2 INTO wa_dynpread2 WITH KEY fieldname = 'ITAB_HDR-BOE_NO'.

IF wa_dynpread2-fieldvalue IS INITIAL.

CLEAR wa_dynpread2.

wa_dynpread2-fieldname = 'WPLANT'.

APPEND wa_dynpread2 TO it_dynpread2.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = sy-repid

dynumb = sy-dynnr

  • TRANSLATE_TO_UPPER = ' '

  • request = 'A'

  • PERFORM_CONVERSION_EXITS = ' '

  • PERFORM_INPUT_CONVERSION = ' '

  • DETERMINE_LOOP_INDEX = ' '

  • START_SEARCH_IN_CURRENT_SCREEN = ' '

  • START_SEARCH_IN_MAIN_SCREEN = ' '

  • START_SEARCH_IN_STACKED_SCREEN = ' '

  • START_SEARCH_ON_SCR_STACKPOS = ' '

  • SEARCH_OWN_SUBSCREENS_FIRST = ' '

  • SEARCHPATH_OF_SUBSCREEN_AREAS = ' '

TABLES

dynpfields = it_dynpread2

EXCEPTIONS

invalid_abapworkarea = 1

invalid_dynprofield = 2

invalid_dynproname = 3

invalid_dynpronummer = 4

invalid_request = 5

no_fielddescription = 6

invalid_parameter = 7

undefind_error = 8

double_conversion = 9

stepl_not_found = 10

OTHERS = 11

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CLEAR wa_dynpread2.

READ TABLE it_dynpread2 INTO wa_dynpread2 WITH KEY fieldname = 'WPLANT'.

IF sy-subrc = 0.

SELECT hawb_bl_no boe_no plant exbond_no FROM zboe_hdr INTO TABLE it_hawb

WHERE plant = wa_dynpread2-fieldvalue.

ENDIF.

REFRESH it_dynpread.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'HAWB_BL_NO'

  • PVALKEY = ' '

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'HWB_NO'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = it_hawb

  • 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.

ELSE.

SELECT hawb_bl_no boe_no plant exbond_no FROM zboe_hdr INTO TABLE it_hawb

WHERE boe_no = wa_dynpread2-fieldvalue.

REFRESH it_dynpread.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'HAWB_BL_NO'

  • PVALKEY = ' '

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'HWB_NO'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = it_hawb

  • 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.

ENDIF.

This is a sample code

Read only

Former Member
0 Likes
374

Hi,

goto se11 (Noraml Search help )

select the search help radio button

enter the short description

give the table name in selection method

in the table below

press f4 in the field search help parameter

enter the req parameters

give imp and exp as required

and activate

***********************************************************

Dynamic Search Help

REPORT ZTEST_F4HELP .

*---Report with selection screen and to display the list of

    * possible entries for field 'B' as per the value in field 'A'.

parameters: p_vbeln type vbak-vbeln,
p_posnr type vbap-posnr.

at selection-screen on value-request for p_posnr.

data: begin of help_item occurs 0,
posnr type vbap-posnr,
matnr type vbap-matnr,
arktx type vbap-arktx,
end of help_item.

data: dynfields type table of dynpread with header line.

dynfields-fieldname = 'P_VBELN'.
append dynfields.

call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynfields
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
others = 11.

read table dynfields with key fieldname = 'P_VBELN'.

p_vbeln = dynfields-fieldvalue.

call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = p_vbeln
importing
output = p_vbeln.

select posnr matnr arktx into table help_item
from vbap
where vbeln = p_vbeln.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'POSNR'
dynprofield = 'P_POSNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = help_item.

Please reward points if it helps

Thanks

VIkranth

Read only

Former Member
0 Likes
374

i am using selection-screen not module program

Read only

Former Member
0 Likes
374

thanks