09-17-2008 1:09 PM
Hi All,
I have a screen in Module pool which has 3 input fields, each input field is attached to the same search help.
These fields are from ztable . I have created a search help USING these 3 fields. All the 3 fields are marked for IMPORT and EXPORT.
So whenever i click F4 on any of the above 3 fields, It will display search help popup and returns some rows...But the values are transfered back only for 1 fields ..i.e for the first field only .
I want that ...as soon as i select any of the row from Search hit list..all the 3 columns should get populated with corresponding fields from that row.
I require it this way as user wants to select based on * selection.Ex: as then every this related to that should be popped up.
Pls help ASAP
Thanks,
09-17-2008 1:11 PM
u need to write down the code for that
DATA : SCR_FIELDS LIKE DYNPREAD OCCURS 0 ,
SCR_FIELDS-FIELDNAME = 'FIELDNAME'.
SCR_FIELDS-FIELDVALUE = VALUE.
SCR_FIELDS-STEPL = LINE NO.
APPEND SCR_FIELDS.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = PROGRAM NAME
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = SCR_FIELDS
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
UNDEFIND_ERROR = 7
OTHERS = 8.
Regards,
Alpesh
09-17-2008 1:15 PM
09-17-2008 1:13 PM
hi ,
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
09-17-2008 1:13 PM
I require it this way as user wants to select based on * selection.Ex: * as * then every this related to that should be popped up.
09-17-2008 1:17 PM
For that u have to implement the logic in serach help.
Use below select statement:
CONCATENATE: '%' input1'%' INTO p_search.
SELECT SINGLE objid FROM p1000 INTO p1000-objid,
WHERE MC_STEXT LIKE p_search.
Regards,
09-17-2008 1:19 PM
u will have to create your own screen help
in pai
PROCESS ON VALUE-REQUEST.
FIELD field_name MODULE GET_data.
Edited by: Alpesh on Sep 17, 2008 2:19 PM
09-17-2008 1:23 PM
Alpesh,
i didnt get if i can use search help ie assign it to screen fields and then in pov i need to write a module and call the FM given by you in it.
09-17-2008 1:26 PM
09-19-2008 6:17 AM
This is how i got.
data:l_shlp type SHLP_DESCR,
l_rc type sy-subrc,
w_DDSHRETVAL type DDSHRETVAL ,
ls_shintf LIKE LINE OF l_shlp-interface,
t_DDSHRETVAL type TABLE OF DDSHRETVAL.
DATA: dyname LIKE d020s-prog,
dynumb LIKE d020s-dnum.
DATA: BEGIN OF dynpfields OCCURS 3.
INCLUDE STRUCTURE dynpread.
DATA: END OF dynpfields.
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
EXPORTING
SHLPNAME = 'YTESTDMSSB'
SHLPTYPE = 'SH'
IMPORTING
SHLP = l_shlp .
ls_shintf-valfield = 'X'.
MODIFY l_shlp-interface FROM ls_shintf TRANSPORTING valfield
WHERE shlpfield = 'SNNTX'.
MODIFY l_shlp-interface FROM ls_shintf TRANSPORTING valfield
WHERE shlpfield = 'SBRTX'.
MODIFY l_shlp-interface FROM ls_shintf TRANSPORTING valfield
WHERE shlpfield = 'SBSTX'.
MODIFY l_shlp-interface FROM ls_shintf TRANSPORTING valfield
WHERE shlpfield = 'ENPTX'.
MODIFY l_shlp-interface FROM ls_shintf TRANSPORTING valfield
WHERE shlpfield = 'PLANT_CODE'.
CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
EXPORTING
SHLP = l_shlp
DISPONLY = ' '
MAXRECORDS = 500
MULTISEL = 'X'
CUCOL = SY-CUCOL
CUROW = SY-CUROW
IMPORTING
RC = l_rc
TABLES
RETURN_VALUES = t_DDSHRETVAL
.
IF l_rc = 0.
LOOP AT t_DDSHRETVAL INTO w_DDSHRETVAL.
CASE w_DDSHRETVAL-fieldname.
WHEN 'SNNTX'. "W_SNNTX = w_DDSHRETVAL-fieldval.
dyname = sy-repid.
dynumb = sy-dynnr.
dynpfields-fieldname = 'W_SNNTX'.
dynpfields-fieldvalue = w_DDSHRETVAL-fieldval.
APPEND dynpfields.
WHEN 'SBRTX'. "W_SBRTX = w_DDSHRETVAL-fieldval.
dyname = sy-repid.
dynumb = sy-dynnr.
dynpfields-fieldname = 'W_SBRTX'.
dynpfields-fieldvalue = w_DDSHRETVAL-fieldval.
APPEND dynpfields.
WHEN 'SBSTX'. "W_SBSTX = w_DDSHRETVAL-fieldval.
dyname = sy-repid.
dynumb = sy-dynnr.
dynpfields-fieldname = 'W_SBSTX'.
dynpfields-fieldvalue = w_DDSHRETVAL-fieldval.
APPEND dynpfields.
WHEN 'ENPTX'. "W_ENPTX = w_DDSHRETVAL-fieldval.
dyname = sy-repid.
dynumb = sy-dynnr.
dynpfields-fieldname = 'W_ENPTX'.
dynpfields-fieldvalue = w_DDSHRETVAL-fieldval.
APPEND dynpfields.
WHEN 'PLANT_CODE'. "W_ENPTX = w_DDSHRETVAL-fieldval.
dyname = sy-repid.
dynumb = sy-dynnr.
dynpfields-fieldname = 'W_WERKS'.
dynpfields-fieldvalue = w_DDSHRETVAL-fieldval.
APPEND dynpfields.
ENDCASE.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = dyname
dynumb = dynumb
TABLES
dynpfields = dynpfields.
ENDIF.