Search help fill
hi experts,
Consider a scenario where my selection screen has got three parameter box :
werks - plant
lgort - storage location
matnr - material no
In search help of material,i have selected plant-warehouse-storage location tab, if i select a material then not only material should get fill up but the corresponding warehouse and plant should also get fill up in their respective input box.
How can we do the same???
Thanks and regards,
Gaurav
Hi Gaurav,
Check this sample code
REPORT zvenkat_head MESSAGE-ID zmsg .
TABLES :marc.
DATA: BEGIN OF i_t001w OCCURS 0,
werks TYPE t001w-werks,
name1 TYPE t001w-name1,
END OF i_t001w.
DATA : i_return_tab LIKE ddshretval OCCURS 0 ,
return_wa LIKE ddshretval .
*& SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS :p_werks TYPE t001w-werks,
p_name1 TYPE t001w-name1.
SELECTION-SCREEN END OF BLOCK b1.
*& AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks.
PERFORM f4_help_for_palant.
*& Form f4_help_for_palant
FORM f4_help_for_palant.
DATA:
w_dynpfields TYPE dynpread,
i_dynpfields LIKE STANDARD TABLE OF dynpread.
SELECT werks name1
FROM t001w
INTO TABLE i_t001w.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = 'WERKS'
* PVALKEY = ' '
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_WERKS'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
value_tab = i_t001w
* FIELD_TAB =
return_tab = i_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.
READ TABLE i_return_tab INTO return_wa INDEX 1.
p_werks = return_wa-fieldval.
READ TABLE i_t001w WITH KEY werks = p_werks.
IF sy-subrc = 0.
w_dynpfields-fieldname = 'P_NAME1'.
w_dynpfields-fieldvalue = i_t001w-name1.
APPEND w_dynpfields TO i_dynpfields.
CLEAR w_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = i_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
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.
ENDFORM. " f4_help_for_palant
Similar Messages
-
Search Help for a Field of a Table Control
I have designed a screen using 'Table Control' with fields like Date, BoxNo,Quantity etc. Kindly tell me how to go about providing a search help for the field 'BoxNo' of this table control so that the user is not required to scroll down the entire table/list for selecting a particular box no.
Thanx in advance,
Alok.When you go to screen painer, in screen painter attributes window, there is an atribute called search help, fill it.
Another way is, after PAI put:
PROCESS ON VALUE-REQUEST.
FIELD box_no MODULE f1_help_box_no.
And gives logic in that module using FM F4IF_INT_TABLE_VALUE_REQUEST.
Regards. -
Search Help on Table Control - Fill more than one field in the table?
Hey everyone,
I have built a screen with a Table Control on it... the fields of the table control are linked to an internal table... The internal table has the line type of a structure I've defined in the data dictionary. Within that structure in the data dictionary, I've linked some fields to search helps (For example, a MATNR and CUSTOMER search help)... I've defined in the structure definition which fields from the search help are to be returned to which fields in the structure.
The problem is, even though I have the search help set to export both the customer number and location when using the search help on the customer field, it still does not fill the location field within the table. Is this a limitation of using search helps within table controls?
I'm also finding that by defining the search help through the structure, instead of directly within the screen, the search help round button does not show up on the field, yet I can still press F4 to bring up the search help. Is there a reason why it's not showing the search help clickable button even though it works fine using F4?
For doing search helps in Table Controls, is it better to just build the search help, attach it directly to the field in the table, and then after the user picks the single field, use the PAI to run a select and fill the rest of the fields required?
Thanks,
DallasHi Dallas,
(1)
What i understood is that you added a search help by defining it in the internal table type for a field customer number..in the search help you have 2 fields customer number and location...user press the search help ..then you need to fill 2 different fields or 1 field?
if you need to fill the customer location or location (only one) then you need to set the "import" in the search help for whichever is required.....
if you need to fill 2 or more different fields..then you can use the technique you have mentioned last , to do a select in PAI and fill the fields....but this you can use if the combination for the fields is unique...eg: u have customer number and location..if customer X can be mapped to location X and location Y..when a select statement is done there are 2 options..so in such cases it is better to leave the option to the user otherwise if there is a clear mapping like customer X can be mapped only to location X then you can use the select..
(2)
usually when you define it as a type in the internal table the icon doesn't show up..but you can do alternative like mentioned..go to the table,find the search help for the required field if present or create a new one if required and place the search help mentioned in the screen itself..so as to see the icon...sometimes users are adamant that they need the search help icon to be seen..so it depends on if your user
(3)
as in the example of customer number and location mentioned we can provide them different search helps and do the needful processing in PAI to fill the fields
Table controls may be used for different purposes and requirements....even a checkbox,push button can be placed as a field in table control and used,but yes most of the time requirements are like what is mentioned in your case...
Regards
Byju -
Fill data in 2 fields on selection screen from a search help
Hi,
I have defined a custom search help as given below.
Selection Method : ZTSTCT
Search Help Parameters :
TCODE Importing & Exporting
TTEXT Exporting Only
I have two parameters in my report as declared below:
PARAMETERS : tcode TYPE tstct-tcode MATCHCODE OBJECT zm_tstc,
ttext TYPE tstct-ttext.
Now whenever a user selects any TCODE in the help ZM_TSTC, I need both the fields on the selection screen to be filled with appropriate data. When I tested the search help in SE11, both fields are getting filled with appropriate data but in the report only the field TCODE gets filled. Is there any way to get the other field also filled with the appropriate data ?
Points will be awarded for helpful answers.
Thanks & Regards,
MukulHi,
Use the Event.
AT SELECTION-SCREEN AT tcode.
Use the select query from the method ZTSTCT.
select single TTEXT into ttext from ZTSTCT where TCODE = TCODE.
you will get the value of TTEXT .
Regards,
Balakumar.G. -
Search help paramter to be filled during runtime
Hi Experts,
I have a requirement to create a search help, below is the description of my requirement....
1. I have two search help parameters in the search help.
Division (1st parameter)
Divistion text (2nd Parameter)
2.When the user provides the Division, then Division text parameter has to be filled automatically during the runtime. Logic needs to be handled only in the Search help exit(Function module) .
Kindly provide your valuable suggestions regarding this requirement. Contributions will be highly appriciated. Thanks
Regards,
Laxman.PHi
Check this link fuller.mit.edu/tech/search_helps.ppt
In your search help exit, in events SELECT and DISP, manipulate the values in the table SHLP with your new field.
For example
IF callcontrol-step = 'SELECT'.
SHLP-INTERFACE-SHLPFIELD = 'DIVISIONTEXT'.
APPEND SHLP-INTERFACE.
SHLP-FIELDDESCR-FIELDNAME = 'DIVISIONTEXT'.
SHLP-FIELDDESCR-LANGU = 'E'.
SHLP-FIELDDESCR-POSITION = '0002'.
SHLP-FIELDDESCR-DOMNAME = 'ZDIVISIONTEXTDOMAIN'
.etc(all relevant fields)
APPEND SHLP-FIELDDESCR.
MODIFY SHLP_TAB FROM SHLP.
ENDIF.
Regards,
Deepa. -
Search help to fill 2 related fields
Hi
I have a table that I populate though SM30.
I have 2 fields and I have a matchcode for the first one. Since the end one is a description field, I would like that the when I choose a value from the searchhelp, it return 2 values , 1 to each field...one for name, and one for description
Is this possible and how?
Thanks
ParvezHi Soobhany
Assumptions: The math code you have for the first field is custom (means You created that Match code)
for your req:
you need to go into the search help and do some modifications.
Se11> search help > ex: BUPAP > change
check the check box for the second field (description) IMP (import)
which means when you see the two fields in the search help screen and select ur choice the description will also get imported to the screen.
Award points If helpful. -
Search Help Not show/display the data
Dear All,
I have created a search help whith mannual itab of 4 entries. Itab is filled correctly, but when i see in the screen field it show the search help and display no record with the message 4 entries found; but I can't see the data.
pls. guide me what can be the problem
Thanks and Regards,
SohailHi,
If you want to Show the Search help for Particular Field in Screen painter , You must give the Code In PROCESS ON VALUE REQUEST(POV).
ie.
process on value-request.
field P9611-REQ_STATUS module GET_REQ_STATUS.
and in Program Give the internal table Fieldname in Capital Letter while Passing in Fuctional Module.
like.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'REQ_STATUS2' "internal table field
dynpprog = sy-dynnr
dynpnr = sy-dynnr
dynprofield = 'P9611-REQ_STATUS' "screen field name
value_org = 'S'
TABLES
value_tab = req_status_tab "internal table
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
With Regards
Kesavaperumal -
Hi All,
when am trying to search some ids using search help it is showing all ids.
For Ex: i want to search which ids starts with 'A', am give 'A*' but it is showing all ids.
Thanks in Advance{FUNCTION /VIRSA/ZVIRFFOWNER.
""Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" REFERENCE(SHLP) TYPE SHLP_DESCR_T
*" REFERENCE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
EXIT immediately, if you do not want to handle this step
IF CALLCONTROL-STEP <> 'SELONE' AND
CALLCONTROL-STEP <> 'SELECT' AND
" AND SO ON
CALLCONTROL-STEP <> 'DISP'.
EXIT.
ENDIF.
STEP SELONE (Select one of the elementary searchhelps)
This step is only called for collective searchhelps. It may be used
to reduce the amount of elementary searchhelps given in SHLP_TAB.
The compound searchhelp is given in SHLP.
If you do not change CALLCONTROL-STEP, the next step is the
dialog, to select one of the elementary searchhelps.
If you want to skip this dialog, you have to return the selected
elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
either to 'PRESEL' or to 'SELECT'.
IF CALLCONTROL-STEP = 'SELONE'.
PERFORM SELONE .........
EXIT.
ENDIF.
STEP PRESEL (Enter selection conditions)
This step allows you, to influence the selection conditions either
before they are displayed or in order to skip the dialog completely.
If you want to skip the dialog, you should change CALLCONTROL-STEP
to 'SELECT'.
Normaly only SHLP-SELOPT should be changed in this step.
IF CALLCONTROL-STEP = 'PRESEL'.
PERFORM PRESEL ..........
EXIT.
ENDIF.
STEP SELECT (Select values)
This step may be used to overtake the data selection completely.
To skip the standard seletion, you should return 'DISP' as following
step in CALLCONTROL-STEP.
Normally RECORD_TAB should be filled after this step.
Standard function module F4UT_RESULTS_MAP may be very helpfull in this
step.
IF CALLCONTROL-STEP = 'SELECT'.
EXIT. "Don't process STEP DISP additionally in this call.
ENDIF.
STEP DISP (Display values)
This step is called, before the selected data is displayed.
You can e.g. modify or reduce the data in RECORD_TAB
according to the users authority.
If you want to get the standard display dialog afterwards, you
should not change CALLCONTROL-STEP.
If you want to overtake the dialog on you own, you must return
the following values in CALLCONTROL-STEP:
- "RETURN" if one line was selected. The selected line must be
the only record left in RECORD_TAB. The corresponding fields of
this line are entered into the screen.
- "EXIT" if the values request should be aborted
- "PRESEL" if you want to return to the selection dialog
Standard function modules F4UT_PARAMETER_VALUE_GET and
F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF CALLCONTROL-STEP = 'DISP'.
PERFORM AUTHORITY_CHECK TABLES RECORD_TAB SHLP_TAB
CHANGING SHLP CALLCONTROL.
data: begin of i_idowner,
zvirffid like /virsa/zvirffids-zvirffid,
zvirffowner like /VIRSA/zvirffids-zvirffowner,
end of i_idowner.
data: wa_shlp TYPE SHLP_DESCR_T,
iface like DDSHIFACE occurs 0 with header line.
authority-check object 'GRCFF_0002' id 'YACTVT' field 'OWNR'.
if sy-subrc = 0.
select distinct zvirffowner into i_idowner from
/VIRSA/ZVIRFFIDS.
record_tab = i_idowner.
append record_tab.
clear: record_tab, i_idowner.
endselect.
else.
select distinct zvirffrole into i_rolemonapvr from
/VIRSA/ZFFROLES.
where zvirffowner = sy-uname.
record_tab = i_rolemonapvr.
append record_tab.
clear: record_tab, i_rolemonapvr.
endselect.
endif.
EXIT.
ENDIF.
ENDFUNCTION.} -
Further action after leaving search help without event "onEnter"
Hi,
I created an iView with an input field to select an employee with search help PREM. Everything works well, so I can search by several match codes.
And here's my problem: I need the name of the employee in an output field of my iView whenever I select a result of the search help without pressing the enter key (just to make the user sure to use the right employee).
Is there the possibility to call a customer function and afterwards to bind the element? Ok, I think I need an interaction but how can I do this without the event onEnter? I just want to select an employee with the search help and -when returning back- displaying his name.
We substituted an html-application with this iView. The html-appl used a piece of java script in which we used the "on blur"-function, so when we left the input field we called a function to select the employee's name. This way was fine...
Ok folks, who has an idea/solution?!
Steffenhi steff........
what you can do is... instead of a standard search help, you can use ovs... so in the coding part you can fill other details too with respect to the selected value... or
try filling the output field in the wddomodify method.
---regards,
alex b justin -
Hi,
I need to enhanse search help and add F4 functionality to display list of company codes when cursor is in PBUKR field. I put F4IF_INT_TABLE_VALUE_REQUEST
into the user exit but nothing works.
I get error that PROCESS is not defined. If I remove that line there is no error but nothing works.
Can someone tell me what is wrong in the code below.
Thank you.
FUNCTION z_hr_shlp_wbs_element.
""Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
TABLES: prps.
DATA: it_prps LIKE prps OCCURS 0 WITH HEADER LINE.
DATA: status_tab LIKE jstat OCCURS 0 WITH HEADER LINE.
DATA: l_posid LIKE prps-posid.
DATA: l_subrc LIKE sy-subrc.
DATA: l_pbukr LIKE prps-pbukr, " Added by vr
value TYPE DDSHIFACE-VALUE.
EXIT immediately, if you do not want to handle this step
IF callcontrol-step <> 'SELONE' AND
callcontrol-step <> 'SELECT' AND
" AND SO ON
callcontrol-step <> 'DISP'.
EXIT.
ENDIF.
------------------------------------------------------ added by vr
PROCESS ON VALUE-REQUEST.
FIELD PRPS-PBUKR MODULE PBUKR.
DATA: BEGIN OF VALUE_TAB OCCURS 0,
LPBUKR LIKE PRPS-PBUKR,
LPOSID LIKE PRPS-POSID,
END OF VALUE_TAB.
DATA: BEGIN OF RETURN_TAB OCCURS 0.
INCLUDE STRUCTURE DDSHRETVAL.
DATA END OF RETURN_TAB.
SELECT PBUKR POSID FROM PRPS UP TO 20 ROWS
INTO TABLE VALUE_TAB WHERE SLWID = 'QLT UDF'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'PBUKR'
WINDOW_TITLE = 'Statusselektion'
VALUE_ORG = 'S' "hierdurch kann die Struktur genommen werden
TABLES
VALUE_TAB = VALUE_TAB
RETURN_TAB = RETURN_TAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
end of additions
STEP SELONE (Select one of the elementary searchhelps)
This step is only called for collective searchhelps. It may be used
to reduce the amount of elementary searchhelps given in SHLP_TAB.
The compound searchhelp is given in SHLP.
If you do not change CALLCONTROL-STEP, the next step is the
dialog, to select one of the elementary searchhelps.
If you want to skip this dialog, you have to return the selected
elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
either to 'PRESEL' or to 'SELECT'.
IF callcontrol-step = 'SELONE'.
PERFORM SELONE .........
EXIT.
ENDIF.
STEP PRESEL (Enter selection conditions)
This step allows you, to influence the selection conditions either
before they are displayed or in order to skip the dialog completely.
If you want to skip the dialog, you should change CALLCONTROL-STEP
to 'SELECT'.
Normaly only SHLP-SELOPT should be changed in this step.
IF callcontrol-step = 'PRESEL'.
PERFORM PRESEL ..........
EXIT.
ENDIF.
STEP SELECT (Select values)
This step may be used to overtake the data selection completely.
To skip the standard seletion, you should return 'DISP' as following
step in CALLCONTROL-STEP.
Normally RECORD_TAB should be filled after this step.
Standard function module F4UT_RESULTS_MAP may be very helpfull in this
step.
IF callcontrol-step = 'SELECT'.
Maximum records are set to 0 because the counter for Max records keeps
running, even if you filter out certain records. This is a similar
problem as described in OSS Note 148525.
Feb 3, 2004 LS: devk907353
(maxrecords = 0 defaults to maxrecords 500)
As of release 4.7, it appears that maxrecords is
being considered on the read of the view, rather
than prior to presenting the selection list.
When only 500 records are passed into this exit,
the subsequent evaluation yields very few records
in the selection list. By setting maxrecords to
8000, the entire contents of the view are passed
to this user exit, and therefor the search help
yields a reasonable selection list to the user
(as was the case in release 4.6b).
callcontrol-maxrecords = 0. " devk907353
callcontrol-maxrecords = 8000. " devk907353
PERFORM STEP_SELECT TABLES RECORD_TAB SHLP_TAB
CHANGING SHLP CALLCONTROL RC.
IF RC = 0.
CALLCONTROL-STEP = 'DISP'.
ELSE.
CALLCONTROL-STEP = 'EXIT'.
ENDIF.
EXIT. "Don't process STEP DISP additionally in this call.
ENDIF.
Added by vr, Nov. 2007 ---------------------------
CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
EXPORTING
PARAMETER = 'PBUKR' " Reference to search help parameter
IMPORTING
VALUE = value
TABLES
SHLP_TAB = shlp_tab
RECORD_TAB = record_tab
CHANGING
SHLP = shlp
CALLCONTROL = callcontrol.
l_pbukr = value.
End of additions by vr ---------------------------
STEP DISP (Display values)
This step is called, before the selected data is displayed.
You can e.g. modify or reduce the data in RECORD_TAB
according to the users authority.
If you want to get the standard display dialog afterwards, you
should not change CALLCONTROL-STEP.
If you want to overtake the dialog on you own, you must return
the following values in CALLCONTROL-STEP:
- "RETURN" if one line was selected. The selected line must be
the only record left in RECORD_TAB. The corresponding fields of
this line are entered into the screen.
- "EXIT" if the values request should be aborted
- "PRESEL" if you want to return to the selection dialog
Standard function modules F4UT_PARAMETER_VALUE_GET and
F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF callcontrol-step = 'DISP'.
DEVK909420 Begin
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'.
Changed by vr, Nov. 2007
IF l_pbukr <> ''.
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'
AND fkstl <> ''
AND pbukr = l_pbukr.
ELSE.
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'
AND fkstl <> ''.
ENDIF.
End of changes
DEVK909420 End
SORT it_prps BY posid.
LOOP AT record_tab.
l_posid = record_tab+96(24).
READ TABLE it_prps WITH KEY posid = l_posid.
IF sy-subrc = 0.
CALL FUNCTION 'STATUS_READ'
EXPORTING
objnr = it_prps-objnr
only_active = 'X'
TABLES
status = status_tab.
DEVK909329 Begin
read table status_tab with key inact = ''
stat = 'E0001'.
if sy-subrc is initial.
read table status_tab with key inact = '' "DEVK909345
stat = 'I0002'. "DEVK909345
endif.
DEVK909329 End
ENDIF.
IF sy-subrc NE 0.
DELETE record_tab.
ELSE.
IF record_tab+114(1) EQ '.' AND
record_tab+115(1) EQ '9'.
DELETE record_tab.
ELSE.
DEVK909420 Begin
IF record_tab+102(1) EQ '9'.
DELETE record_tab.
ELSEIF record_tab+104(1) EQ '9'.
DELETE record_tab.
ENDIF.
DEVK909420 End
ENDIF.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
ENDFUNCTION.Hi Vitaly,
Process on Value Request and search help exit is entirely two idea to display the f4 values.please remove the PROCESS ON VALUE REQUEST from the function module.write the required select statements after CHECK callcontrol-step EQ 'SELECT' . and pass the value to the function module
CALL FUNCTION 'F4UT_RESULTS_MAP'
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
source_tab = l_record
CHANGING
shlp = shlp
callcontrol = callcontrol
EXCEPTIONS
illegal_structure = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF ( sy-subrc = 0 AND l_record IS INITIAL ).
MESSAGE 'No values found' TYPE 'S'.
ENDIF.
callcontrol-step = 'DISP'.
Find the documentaion for this function module for further help
message edited by
shibu -
How Can I get multi column values from dynamic search help?
Hi Gurus;
I'm using dynamic search help in my program.
I want to get multi column values from search help. But I dont know solution for this issue.
I'm using F4IF_INT_TABLE_VALUE_REQUEST FM.
How Can I get multi column values from dynamic search help?
Thanks.Believe it or not, the same FM worked for me in a dynpro. I will try to explain here how it works in custom screen and then you can do your work for other screens or program types. I am not going to write my actual work but will explain in general.
I have 4 fields (FLD1, FLD2, FLD3, FLD4) and i made the search based on FLD2 and when user click on a line (could be any field), then this would bring the line on to the screens.
There are like 3 steps.
You have your value_tab for my fields FLD1, FLD2, FLD3 and FLD4. This is just the data that we pass into the FM. (data: IT_VALTAB type table of ZVAL_TABLE)
Next map the screen fields into an internal table (data: It_dynpfld type table of dselc ). I also have other internal tables defined (just to keep it straight, i will be putting here) data: It_return type standard table of ddshretval.
Next step is to call the function module. Make sure you have values in IT_VALTAB.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'FLD2'
value_org = 'S'
tables
value_tab = It_VALTAB
return_tab = It_return
dynpfld_mapping = It_dynpfld
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.
perform get_selected_fields tables It_return.
endif.
The code within the perform GET_SELECTED_FIELDS - We need to map the result fields after user selects it. The code goes like this. This is step is to update the dynpro fields.
I need a internal table as well as a work area here. like,
data: lt_fields type table of dynpread,
la_fields type dynpread.
field-symbols: <fs_return> type ddshretval.
so fill out LT_FIELDS from the IT_RETURN table
loop at lt_return assigning <fs_return>.
la_fields-fieldname = <fs_return>-retfield.
la_fields-fieldvalue = <fs_return>-fieldval.
append la_fields to lt_fields.
clear: la_fields.
endloop.
Call the FM to update the dynpro
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-repid
dynumb = '1002' "This is my screen number. You could use 1000 for selection screen (hope so)
tables
dynpfields = lt_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.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
good luck -
How to add search help for field in ALV object
Hello,
In a program, we use ALV object ( container) to create a liste like : field1, field2 .. but when display we do not have search help for this . Could you please help me how to add match code in this case for field 1 and field2, We use set_table_for_first_display
Thanks,Hi,
when you define your field catalogue you can create data elements with search help in se11 and use them for field 1 and field 2.
But maybe it is enough to use data elements belonging to a domain with a value help and to set field F$AVAILABL in the field catalogue or to fill the name of the field CHECKTABLE.
Regards,
Klaus -
How to get search help for 2nd parameter based on the 1st parameter value
Hi all!
I have 2 parameters (material no, revision level). I have created a search help for revision level. It has an importing parameter :material no. and one exporting parameter : revision level.When I checked it, it's giving the revision values only for the specified.
In my report , I have kept these 2 materials in my selection screen.For revision level , I have added the matchcode object which I have created. When I pressed F4 for revision level, it's giving all the values irrespective of the material no. in the first parameter. How to solve it? Please suggest.Hi,
Try this code filling internal table fields,
DATA: BEGIN OF values,
OID TYPE ZCL_OBJECT-OBJECTID,
ODEC TYPE ZCL_OBJECT-OBJECT_DESC,
END OF values,
W_FIELD(10).
DATA: ZCL_PROJECT-PROJECTID type zcl_project-projectid,
ZCL_OBJECT-OBJECTID(5).
DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr,
dynpro_values TYPE TABLE OF dynpread,
field_value LIKE LINE OF dynpro_values,
values_tab LIKE TABLE OF values.
CALL SCREEN 100.
*& Module VALUE_PROJECTID INPUT
text
*MODULE VALUE_PROJECTID INPUT.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'ZCL_PROJECT'
fieldname = 'PROJECTID'
dynpprog = progname
dynpnr = dynnum
dynprofield = 'ZCL_PROJECT-PROJECTID'.
*ENDMODULE. " VALUE_PROJECTID INPUT
*& Module VALUE_OBJECTID INPUT
text
MODULE VALUE_OBJECTID INPUT.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = progname
dynumb = dynnum
translate_to_upper = 'X'
TABLES
dynpfields = dynpro_values.
READ TABLE dynpro_values INDEX 1 INTO field_value.
W_FIELD = FIELD_VALUE-FIELDVALUE.
SELECT OBJECTID
OBJECT_DESC
FROM ZCL_OBJECT
INTO (VALUES-OID,
VALUES-ODEC)
WHERE PROJECTID = FIELD_VALUE-FIELDVALUE.
APPEND VALUES TO VALUES_TAB.
ENDSELECT.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'OID'
dynpprog = progname
dynpnr = dynnum
dynprofield = 'ZCL_OBJECT-OBJECTID'
value_org = 'S'
TABLES
value_tab = values_tab.
ENDMODULE. " VALUE_OBJECTID INPUT
*& Module INIT OUTPUT
text
MODULE INIT OUTPUT.
progname = sy-repid.
dynnum = sy-dynnr.
CLEAR: field_value, dynpro_values.
field_value-fieldname = 'ZCL_PROJECT-PROJECTID'.
APPEND field_value TO dynpro_values.
IF SY-UCOMM = 'BACK'.
LEAVE program.
ENDIF.
IF SY-UCOMM = 'ANS'.
LEAVE TO SCREEN '0'.
ENDIF.
ENDMODULE. " INIT OUTPUT
START-OF-SELECTION.
WRITE: / field_value-fieldvalue,
W_FIELD.
LOOP AT VALUES_TAB INTO VALUES.
WRITE / VALUES.
ENDLOOP.
if sy-subrc <> 0.
WRITE / field_value-fieldvalue.
endif.
Plzz reward points if it helps -
Search Help Parameter Default - Problems with VKO and VTW in Sales Order
Hello,
we've implementend an own serchhelp for the material-search.
The fields VKORG and VTWEG have the default VKO and VTW.
If I open this searchhelp in VA03 those values are not filled, if I open it in MM03 or ME23N those values are filled.
My user has the VKO and VTW-parameters set.
We have no custom "preselect-code" implemented.
If I change the values to VKU and VTW the output is the same (works in MM03 / ME23N but not in VA03) (copied default values from MAT1S search help, didn't change my user parameters!)
What could be the problem?Our searchelp was in our own append ZA_SD_MAT1.
Solution:
We deleted this append and added our search-helps to SD_MAT1 and now everythings works in mm03, me23n and va03. -
Creation of search help manually fro select-options
hi friends i got a requirement for creating the search helps manually for select-options.
but i am facing a progbalem.
i am attaching a sample code for what i have written for select-opions low of which when i am pressing f4 button i am getting list of data but when i am selecting that particular it is not withstading on the screen...kindly help in this regard very urguent..plz...all answers are rewarded..
tableS: kna1.
datA: BEGIN OF ITAB OCCURS 1,
KUNNR TYPE KNA1-KUNNR,
END OF ITAB.
data: kunnr type kunnr.
select-options: cust for kunnr .
at selection-screen on value-request for cust-low.
select kunnr from kna1 into table itab .
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ''
RETFIELD = 'CUST-LOW'
* PVALKEY = ' '
* DYNPPROG = ' '
* DYNPNR = ' '
* DYNPROFIELD = ''
* STEPL = 0
* WINDOW_TITLE =
VALUE = 'CUST-LOW'
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = 'X'
CALLBACK_PROGRAM = SY-CPROG
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
VALUE_TAB = ITAB
* 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.Hai Saslove,
I think Problem Lies In this Area When U r Creating Search Helps.
Import and Export Parameters
When an input help is called, the entries that the user already made in the input template are taken into consideration. For example, if a user calls the input help for the flight number and already specified the carrier, of course only the numbers of flights of this carrier should be offered.
On the other hand, if the user selects one row of the hit list, more than one field of the input template might have to be filled with data from the selected row of the hit list. For example, if the flight number is obtained from the hit list, the city of departure and the destination should also be returned in the screen template.
The interface of a search help defines the context data that can be used in the input help and the data that can be returned in the input template.
A parameter of a search help can be classified as:
Import parameters: Parameters with which context information from the processed input template (screen) may be copied to the help process.
Export parameters: Parameters with which values from the hit list may be returned to the input template.
A parameter can simultaneously be an input and an export parameter. A search help can also contain parameters that are neither import nor export parameters. Such parameters could be required for the internal input help process, for example.
When you attach a search help, you must define where the import parameters of the search help get their values from and the fields in which the contents of the export parameters are returned. See also Value Transport for Input Helps.
Regards.
Eshwar.
Maybe you are looking for
-
How do I undo a dual boot?
I have a machine running win 8.1. I used Keith Mayer's instructions to setup dual boot with server 2012 R2 core with Gui. I would like to undo this and return to single boot. I have tried to run Diskpart and find the Vdisk and detach it. The system s
-
How do I get rid of "Acrobat is installed" in the CC-App?
I was very dissatisfied with Acrobat XI (slow as hell) so that I immediately deinstalled it with the Acrobat uninstaller in the utilities folder. After reboot of the Mac and even after deinstallation of the creative cloud app, using the Adobe Cleaner
-
BUSINESS SERVICE is not getting invoked
Hi all, I am trying to do OSP application in which I have a proxy service and I should call the business service. That business service is generated by DB Adapter jca file. It does not accept any input but gives output if we invoke it. In my Proxy Se
-
I need upgrade hard drives hp pavilion ze1210
My pc need more space in the hard drive, but i don't know. which is the correct and the maximun for me Laptop. Is a hp Pavilion ze1210,the s.o. is xp , 1gb memory , with 20gb of hard drive installed now. please help me...
-
Authentication Fault: Invalid User Session Token
Hi, I am trying to protect a call to third party webservices using OWSM and OAM. I followed the steps mentioned in Oracle Web Services Manager Deployment Guide to integrate OAM in OWSM, but not able to make any break through. I am getting following e