• Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

Advanced Searching in APPLs and SES

BOster

Legendary Poster
Is anyone using Secured Enterprise Search (SES). I read Oracle's section in the FDA documentation titled "Understanding Secured Enterprise Search" and I really don't understand a whole lot more.

I am working on an inventory search form that is a little different than a standard search. I have a solution that will work but I am wondering if SES might provide a better solution or possibly some other feature of APPL design that is in our current tools release or future tools release that I am simply not aware of might make my problem trivial.

Here is the core functionality difference for this search form:

Basically we want the ability for a user to enter in a search string into ONE field but search that string across multiple fields (in our case six different fields). The key thing is that the these six field search off the one string must be OR'd together. So I can't simply populate six FC search fields with the value (this would AND them together). Additionally, I also need to support wild card searches and append to any other user entered QBE/FC search criteria. The "Set Selection" and "Set Selection Group" system functions won't work in this case.

Basically I need a WHERE clause that looks like this:

<font class="small">Code:</font><hr /><pre>
User Enters:
FC_SRP1 = "MBK"
FC_SRP2 = "ABC"
QC_ITM = ">123"
FC_SearchTerm = "*red brick*"

SQL:
WHERE
(SRP1="MBK" AND SRP2="ABC" AND ITM > 123)
AND
(DSC1 LIKE "%red brick%" OR DSC2 LIKE "%red brick%" OR SRTX LIKE "%red brick%")
</pre><hr />

Like I said, I have a solution and it will work, but I am wondering if there is a much easier way to do this - in other words is this type of functionality all ready built into the toolset and I just don't know about it.
 
I don't have much idea about SES either but you could do this using a C business function. The API "JDEDB_CMP_LK" is the LIKE function in JDE and you can create the search wildcard fields using the % character.

I suggest going through B7900018.C which has a couple of internal functions that use this API. Hope this helps.
 

BOster

Legendary Poster
My current implementation is in fact using JDB_SetSelectionX (and it works pretty well). I was just hoping for something more "built in". As it is now I have to pass all FC filter values and all QBE filter values, parse for wild cards etc. and manually build the query, etc. I also lose the ability to do !=, < and > searches in the QBE line since the actual user entered string is not passed (with the exception of wild cards on string fields, luckily those are passed) but instead the scrubbed value is passed.
 
In that case I suggest allowing the user build the field-wise search criteria himself, like its done in P080250 instead of providing only search field values and doing all that parsing.
 

BOster

Legendary Poster
My problem is not my current implementation. Its all ready done and it works. Once you have a routine that handles parsing the QBE/FC values/strings its real easy to run all the QBE and FC values through it and dynamically build the WHERE clause using the JDEBASE C APIs. In other words, it doesn't matter if you have to handle five QBE fields or 50 - the time to code it is about the same.

What I am looking for was some sort of built in functionality in FDA that will automatically do what I had to manually code - namely the ability to enter in one search phrase and search across multiple fields using the one search phrase and/or key words. SES appears to do that. However, it also appears to require quite a bit of setup and on-going administration. It also looks like the search indexes that it uses for its key word searches are built on a periodic basis meaning it may not be good for dynamically changing data - not sure about that, just my impressions based on the very sparse amount of documentation I could find about it.
 
Top