Dynamic Search in TREX
Hello All,
In Index Administration we have created certain indexes for certain Knowledge Management folders which index the documents in those folders and make it available in Search.
We have also scheduled these indexes to run after every 2 hrs so that once the document is added in the KM folder it is available in search atleast after 2 hrs.
We are interested in making this search dynamic. i.e as soon as we add documents in these folders they should be available for search.
Is this possible?? If yes let me know the way to do it.
Thanks in Advance.
Yatin Prabhu
Hi Yatin,
when the respective is event based, this should happen by default. So changed documents are indexed automatically within a predefined time periode.
Maybe you like to enhance this process by increasing the TREX flush time (fefaul 30 min).
System Administration - > Monitoring -> Knowledge Management -> TREX Monitor -> Edit Queue Paremters
Select your index and set the Scheduler Time to a requested update time (Eg All-0:05).
But keep in mind that this might become performance intensive.
Regards Matthias Röbig-Landau
Similar Messages
-
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 -
Dynamic Search Object for Payment Terms
Hi,
May i know the Dynamic Search Object for Payment Terms. I have to create a Advanced Search Page with Payment terms. I could not find the dynamic search object for Payment terms. Any help is appreciated
Thank you.
-SiddharthHi,
The search help for the payment terms is not coming from the DDIC search help..
It is coded in the process on value-request event...
The function module FI_F4_ZTERM is called for this..you have to change this function module in case if you want the values from a different table..
OR do implicit enhancement in the subroutine FORM HELP_ZTERM in the include MF02DFH0 to call your search help instead of the function module FI_F4_ZTERM ..And do the same for the sales order also..
Thanks
Naren -
Dynamic Search-help in Selection Screen Parameter
Hi,
Please can you provide some solution for the below requirements.
I have 2 fields ( Organization channel and Team ) in my selection screen. Under one organization channel there can be many teams.
And I am trying a dynamic search help on both the fields using event AT selection-screen on Value request and
FM 'F4IF_INT_TABLE_VALUE_REQUEST'.
But I am facing the below issue .
First I am giving some values in field 'Organization channel' . Then I am clicking on F4 button on my 2nd field 'Team' .
and in debugging mode under the event 'At selection-screen on value request', Select option SO_Team is blank.
The value provided in the Organiozation channel is not being captured in SO_TEAM-Low
Please have a look on the below codes.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low .
if not so_orgchannel-low is initial. "Here so_orgchannel-low value is coming as Zeros.
select * from HRP1001 into table GT_HRP1001
where objid = so_orgchannel-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'ZTEST'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.Hi,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low .
"Add This Begin
CLEAR t_dynpfields.
REFRESH t_dynpfields.
t_dynpfields-fieldname = 'SO_ORGCHANNEL-LOW'.
APPEND t_dynpfields.
w_repid = sy-repid.
* reading Screen variables and Values
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = w_repid
dynumb = sy-dynnr
TABLES
dynpfields = t_dynpfields
EXCEPTIONS
OTHERS.
READ TABLE t_dynpfields INDEX 1.
so_orgchannel-low = t_dynpfields-fieldvalue.
"Add this End
if not so_orgchannel-low is initial. "Your code is here
select * from HRP1001 into table GT_HRP1001
where objid = so_orgchannel-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'ZTEST'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
Regards,
Prabhudas -
How to make dynamic search items in a report?
Hi all,
I have two questions.
1. How to make dynamic search (i.e without GO button) field above report to provide dynamic search by words in one field of report query?
2. How to make similar multiply dynamic search fields on report to provide individual search by selected fields of report with refine capability (i.e any search conditions in different fields must work together as complex WHERE clause)
Thanks in advancehey yuri--
if i'm understanding your questions correctly, the easiest way to achieve the functionality you're after is to have your query criteria fields submit the page when values are entered/selected. the page should then branch back to itself using the submitted criteria in the query. because you're asking about dynamically adding in your where clause predicates, you should consider using a report region of type "SQL Query (Pl/sql Function Body Returning SQL Query)". that way you can use pl/sql to piece together your query based on the provided criteria.
so the part of your question i'm not sure of is when your page should submit itself ("without a GO button" as you said). for your first question, it seems to be a simple matter of javascript. you want users to be able to enter search criteria into a field and have that criteria be using in the report. to facilitate that we have a few self-submitting item types such as "SelectList with Submit" and "Text Field (always submits page when Enter pressed)". for your second question, it seems that you should have a Go button for the user to indicate he's done entering in his query criteria. anyhow, that's up to you, i suppose. hopefully this response will give you the concepts you need to implement this as you'd like.
regards,
raj
ps-after re-reading your post, i now realize there's a chance that you wanted users to not have to submit the page at all when filtering their result sets. if that's the case, you'd have to use javascript for that cumbersome feat. google would be a good place to go for that code. -
Enhancing BtQact Dynamic Search
Hi All,
I want to know the class name for BTQAct which is triggered while getting the query result.
Also it will be needful if the database table name I can get from where all the Business Object and corresponding Implementation class names are maintained.
Thanks in Adv.Hello there.
Let me explain how to trace the same.
1. Lets take an example of dynamic search object in the model used in your component. BTQAct.
Select the name of Model used in your component say ABC( Can be found in Runtime repository browser of Component in Models)
2. Go To SPRO-> SAP Reference IMG-> CRM-> Cross Applicatiaon components-> Generic Interaction Layer->Basic Settings
3. Select the option of Component Set definition and search for ABC here found in Step1.
4. In this check the name of Components assigned responsible for Activities.
5. Check in the same customizing the Component name thus picked in Step4 and then you will find three entries corresponding one component.
Object Table : Defines all objects in a component with their type ( eg search, root,child etc)
Model Table: Defines relationship table --All relationships available amongst the objects of the component with the possible cardinality.
IL class: This class will have all basic methods which gets called whenever any operation is performed on WEB UI of even on GENIL_BOL_BROWSER.
I think this class name is the class you are looking for.
Please reply if this helps.
Best Regards,
Vinamra. -
Hi.,
One of the customers would like to know if any document
search is possible without using TREX.
Can anyone explain on this.
regards
JohnPHi JohnP,
searching without Trex is technically possible, but KM is required for such a scenario. You can "simply" develop an IndexService (Search) for KM's Indexmanagement layer connecting any search engine and plug it into the framework. Leave the TREX IndexService empty (not TREX configuration) and you will be able to search upon your IndexService resp. to your search engine.
Regards,
Thilo -
Is it possible to enhance the dynamic search with Option field with custom
Hi All,
is it possible to enhance dynamic search with OPTION parameter like Equals to , Between etc, instead of these are we able to add our own? If yes, then which are steps need to perform.
Thanking you.
Regards,
VjMHydJust to test is this possible i wrote a sample program
data: lr_dquery type REF TO cl_crm_bol_dquery_service.
data: lv_status TYPE CRMT_PROCESS_DESCRIPTION.
data: mv_bol_core type REF TO cl_crm_bol_core,
lr_result_obj type ref to if_bol_bo_col,
lv_opp_id type string,
lr_entity type ref to cl_crm_bol_entity.
MV_BOL_CORE = CL_CRM_BOL_CORE=>GET_INSTANCE( ).
MV_BOL_CORE->START_UP( 'BT' ).
*data: lv_opp_id type string.
lr_dquery = cl_crm_bol_dquery_service=>GET_INSTANCE( 'BTQOpp' ).
if lr_dquery is bound.
* prepare the selection paramters
lr_dquery->add_selection_param(
exporting
iv_attr_name = 'OBJECT_ID' " Component name
iv_sign = 'I' " Inclusion/exclusion criterion SIGN for range tables
iv_option = 'PI' " Selection operator OPTION for range tables
iv_low = lv_opp_id
* Get the dynamic result object and read the opportunity status from there
lr_result_obj ?= lr_dquery->get_query_result( ).
lr_entity ?= lr_result_obj->get_first( ).
if lr_entity is bound.
lr_entity->get_property_as_value( exporting iv_attr_name = 'STATUS'
importing ev_result = lv_status ).
endif.
endif.
BREAK-POINT.
No syntax error but junk values returned as I had not written the logic for retrieval based on this operator. This means that if you add the selection_param to the dynamic query and then handle that same thing in the GENIL class for the component then you would be able to retrieve the values based on this.
On the UI , you would be retrieving all the operators for the parameters. There for that particular field you have to add the new operator for your case. And this would be send to the Dquery class and added as a selection param. When the query is executed, if the genil class has been updated to handle this parameter, you should be able to retrieve the results.
Regards
Kavindra
Edited by: joshi_kavindra on Jan 19, 2012 2:45 PM
Edited by: joshi_kavindra on Jan 19, 2012 2:53 PM -
Context Search through TREX : Index Monitoring
Hi,
If you are using PI 7.1 with EHP1, then you can following threads to search the messages using Trex:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/d05c14c3-34af-2b10-a1b1-fa2a39e0d2ae
/people/niki.scaglione2/blog/2010/02/22/payload-searching-without-trex
It should be there, sicne Trex server is installed.
Else, you have to write the ABAP code for search:
/people/sravya.talanki2/blog/2006/02/21/abap-based-trex-in-xi-proto
Regards,
SushamaHi ,
The global settings is valid for all components u have selected for indexing. You can use the default value itself.
ther are parameters like
1) Maximum number of messages per package to be transferred to the TREX server
2) Maximum size in KB of message packages transferred to the TREX server
3) Time interval in minutes for the periodic transfer of message packages to the TREX server for indexing
4) Time interval in hours for the periodic reorganization of the index of a component on the TREX server
5) Time period in days for the retention period of messages in the index
6) Time interval in minutes for the periodic processing of the TREX queue
7) Maximum number of entries for processing in the TREX queue
Also ther are filters available. if the filter is empty then all the messages will get indexed and will be available in search,
if u enter any details in filter option, then that particular interface only be indexed and only indexed messages will be available for content base search. The use of filter will improve the performance in case of large message flow and also it will save your hardware resources. but make sure that all required interfaces will be available in filter or other wise will searching you will get confused.
Regards
Pradeep P N -
Dynamic Search - Upper/lower case of Search Criteria
Hi,
If I enter a search criterion in lower case in the text box field of my dynamic search, the string gets automatically converted to upper case when I press 'Search'. Is there any way to retain the case of the search parameter value?Hi,
the data types for the input fields of the search mask are of type STRING. There is no conversion done there.
If the case changes it has to be done in the applicatgion logic of the view controller, most probably the EH_ONSEARCH().
Another hot option is the data element that is used for the parameter. Does it allow lower case values?
cheers Carsten -
What incorrect syntax found in this query for dynamic search
I make this stored procedure for dynamic search by date from date to employee no employee name
but it give me error why
Create proc CollectsearchData15
@StartDate datetime,
@EndDate datetime,
@EmployeeID NVARCHAR(50),
@EmployeeName nvarchar(50)
as
Begin
DECLARE @SQLQuery as nvarchar(max)
SET @SQLQuery = N'SELECT * from ViewEmployeeTest Where (1=1)'
If @StartDate Is Not Null
SET @SQLQuery = @SQLQuery + N' And (joindate >= @StartDate)'
If @EndDate Is Not Null
SET @SQLQuery = @SQLQuery + N' And (joindate <= @EndDate)'
If @EmployeeID Is Not Null And @EmployeeID != ''
SET @SQLQuery = @SQLQuery + N' And (EmployeeID = @EmployeeID)'
If @EmployeeName Is Not Null And @EmployeeName != ''
SET @SQLQuery = @SQLQuery + N' And (DriverName Like ''%'' + @EmployeeName + ''%'')'
Print @SQLQuery;
Exec sp_executesql @SQLQuery,
N'@StartDate datetime, @EndDate datetime, @EmployeeID nvarchar(50), @EmployeeName nvarchar(50)',
@StartDate, @EndDate, @EmployeeID, @EmployeeName;
but it give me this error why
Msg 102, Level 15, State 1, Procedure CollectsearchData15, Line 28
Incorrect syntax near ';'.I think you are missing an END. Perhaps with no dynamic sql :
SELECT * from ViewEmployeeTest
WHERE
(joindate >= @StartDate OR @StartDate IS NULL)
AND
(joindate <= @EndDate OR @EndDate IS NULL)
AND
(EmployeeID = @EmployeeID OR @EmployeeID IS NULL)
AND
(DriverName Like '%' + @EmployeeName + '%' OR @EmployeeName IS NULL)
Thanks and regards, Rishabh K
Please keep in mind that this might cause proc to generate bad plans
http://sqlinthewild.co.za/index.php/2009/03/19/catch-all-queries/
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Dynamic Search/Results on same page - HELP!
Here is my situation; any help will be GREATLY
appreciated!!!!!
- I have dynamic content using PHP/MySQL
- I am attempting to create a record insertion page
- within this page, I need the ability to querry the
database and display the results on the same page and then use the
results as a part of the record insertion/creation.
So - I have many students, who are assigned a unique student
number and I am creating a reservation system. The person entering
the reservation will enter in the student id (as opposed to their
name) and hit a 'find' button and the result, if found, will be
displayed in a dynamic text field. Then, they fill out the rest of
the info and submit the reservation which gets stored into the
database.
I have played around for a few hours now because I have no
idea how to do this and have just been using trial and error. Can
anyone PLEASE point me in the right direction?
Thanks a bunch!!!
MavI agree, this approach does not seem secure.
Seems like I could keep trying different ID's until I found
one and then
enter reservations under someone else's name and cause havoc
on the system.
"David Powers" <[email protected]> wrote in message
news:eqhvig$h0t$[email protected]..
> mavrickjcs wrote:
>> So - I have many students, who are assigned a unique
student number and
>> I am creating a reservation system. The person
entering the reservation
>> will enter in the student id (as opposed to their
name) and hit a 'find'
>> button and the result, if found, will be displayed
in a dynamic text
>> field. Then, they fill out the rest of the info and
submit the
>> reservation which gets stored into the database.
>
> I'm not convinced that your approach is the best way,
but it's quite
> simple to do what you want.
>
> Create two forms on the page: one for searching for the
details, the
> second for creating the reservation. Use a conditional
statement to hide
> the second form until the first form has been submitted.
You'll need to do
> this by hand, but it's very easy.
>
> if (isset($row_recordsetName)) {
> // this is where the second form goes
> }
>
> Replace "recordsetName" with the actual name of the
recordset.
>
> --
> David Powers, Adobe Community Expert
> Author, "Foundation PHP for Dreamweaver 8" (friends of
ED)
> Author, "PHP Solutions" (friends of ED)
>
http://foundationphp.com/ -
Recruiting problem with the candidate search by trex with questionnaires
Hi Gurus,
I am trying to search candidates using trex in recruiting by candidate_questionnaires but the trex does not show any result. How can I solve it?
When candidates register theirselves on internet, they complete questionnaires that I have added in the apllication wizard.
But the problem starts when I want to search candidates by the answers that they have complete in this questionnaire. So I select the criteria search candidate questionnaire, then I select the questionnaire and then the answer and I run the searh. I know that the results shown are always about others requisitions and not the one that I am doing the search. But in my case candidates are assigned in other requisition with the same process template so I do not know where is the problem, because other sort of search works fine. This is the only one that it does not work.
In addition, I have run the report RCF_CHECK_SEARCH_SETTINGS but the result is that all the parameters are fine except that I have not implement the badi HRAHAP00_FOLLOW_UP_SES. May I have to implement?
Moreover I have seen that when I select the answer to search, any operator (element of selection mask) is assigned but I have read that it is correct because I am using the search profile "int_cand" with the category "candidate_document" that it use in the mask search candidate_questionnaire.
In conclusion, I don't know how I can solve this problem with trex? Any idea?
Thanks in advance,
Juanjo Garcin.I've already done it.
Do you think this will help?
I doubt that Apple will listen to us. Users with a problem that occurs quite a lot. -
Transaction for KM Content Search with TRex
Hi all
I installed TRex and I connected it to our Solution Manager system. I created an Index over my KM Content. Everything worked well.
I have a simple question: How do I search content in the Solution Manager KM? Which transaction offers my the full-text search?
I suppose the answer is very easy...unfortunately I was not able to find any information about this (shame on me!).
Thanks in advance and regards
MarcoSolution was very easy...
Go to solar01 or solar02 then click on Find document. In the pop-up click on 'Extended Attribute Selection' at the top. After that you find "Full Text Search" at the bottom of the page. -
We have around thousand messages thru PI and need to search a particular field in the xml payload in PI like name, city etc, is there a way to get that message without using TREX, thanks
Hi,
Without trex you can use this weblog and can able to search the messages:
/people/alessandro.guarneri/blog/2006/02/14/super-message-monitor-for-sap-xi
else you can use suggestion 3 from michal in this thread:
search material in payload
else you can come up with this report:
/people/paolo.romano2/blog/2007/09/07/xi-search-through-the-payload-of-a-messagewithout-trex
Regards,
---Satish
Maybe you are looking for
-
Creating a new library for backing up, can I delete my old iTunes Library?
Hey there I was wondering this, I am creating a new folder for my library because the old one had a lot of music I decided to delete. My question is can I delete the old Library or would that prevent me from being able to use iTunes? Thank you to any
-
Ok, I get emails with attachments and cannot figure out how to open them. It is driving me nuts!. Solved! Go to Solution.
-
Input Help (F4) does not work for Planning Functions in Web
Hi Gurus, I am working in BI-Integrated Planning. When I execute a planning function from web layout (through Web Application Designer), the "Input Help" does not work. When I give F4 it takes me to the initial planning layout screen from the plannin
-
I am trying to install CS4 web premium on a new computer and have the serial number/date of purchase for this product, but at the start of installation it wants an old product previously installed and what that serial number is. There's a chance it'
-
How to add lens metadata to existing DNG files?
I shot some images with a fully manual optic, so lens data was not embedded in RAW files, hence they are not existant in DRG files after conversion. Is there a way to edit those DNG files in Lightroom so they would include lens name and focal lenght