Exclude search field in query

I create a ViewObject and define a view criteria in the view object.  In the view criteria, I add a few attributes.  These attributes are displayed in the Search Panel of a form.  For one of these search fields, I do not want it to be used in the query directly.  I need to get the entered value in this field and use the value in the query in a different way (I override executeQuery() and programmatically use the entered value).  Is there any way to exclude this search field to be used in query directly?
Thanks.

User, which jdev version do you use?
Your approach is tricky. You should tweak the view criteria item clause (and leaf the original where clause as is). The framework calls the query at different points in time and once you changes the query in executeQuery you have no control what's going on after that.
For a ssample how to tweak the viewcriteria item where clasue check out http://tompeez.wordpress.com/2011/08/21/extending-viewcriteria-to-use-sql-contains-4/
Timo

Similar Messages

  • Inputting Multiple Search Fields into Query String??

    hey guys and gals
    quick question...i am building a little widget that allows a
    user to type in keyword(s) into one input field and then a zip code
    into another
    when the user clicks submit, it plugs them into the search
    url
    i have it working for one input field, but i am not sure how
    to append the script for the second field...what would i need to
    change to the below script to add a second field into that query
    string?
    btn.onRelease = function(){
    getURL("
    http://www.google.com/search?q="+myInputField,"_blank");
    any help is much appreciated...thanks for your time!

    Try looking at the methods of the String class. If you locate
    the characters that need replacement, split the string into two
    separate strings each without the special character, and substitute
    the hex equivalent, that should do the trick.
    original:String=new String(input);
    for(var i=0; i<original.length; i++){
    if(original.charAt(i)==" "||/*insert as many cases as you
    need here*/){
    //insert your replacing code here
    special
    characters reference

  • How can I get a query in the search field to open in a new tab or new window from the current window?

    How can I get a query in the search field to open in a new tab or new window from the current window?

    If you are searching via the Search Bar on the Navigation Toolbar, this preference can be changed to have searches there open in a Tab.
    Type '''about:config''' in the Address Bar and hit Enter. Then answer "I'll be careful". Type this pref in the Search at the top.
    '''browser.search.openintab''' = double-click to toggle to '''true'''

  • Defaulting search fields in af:query component

    I have a search popup with af:query and a result table. My requirement is to default some of the fields in af:query when the popup launches.
    Since i could not achieve this, i wrote a temporary work around which should be removed as soon as we find a permanent solution.
    Work around:
    1. Wrote a method showQBE() in the bean. Wrote the logic to default the QBE fields by manually iterating through the component binding.
    2. Call showQBE() in the visible property of the af:query so that this executed when the popup is invoked.
    public boolean showQBE(){
    RichQuery rq = this.getResourcePickerQBE(); // Bindning for QBE
    QueryDescriptor dq = rq.getValue();
    List children = rq.getChildren();
    Iterator childrenItr = children.iterator();
    while (childrenItr.hasNext()) {
    RichPanelGroupLayout rpcl = (RichPanelGroupLayout)childrenItr.next();
    Iterator rpclItr = rpcl.getChildren().iterator();
    while (rpclItr.hasNext()) {
    // RichPanelLabelAndMessage
    UIComponent rplm = (UIComponent)rpclItr.next();
    Iterator rplmItr = rplm.getChildren().iterator();
    while (rplmItr.hasNext()) {
    UIComponent comp = (UIComponent)rplmItr.next();
    Iterator compItr = comp.getChildren().iterator();
    while (compItr.hasNext()) {
    UIComponent comp1 = (UIComponent)compItr.next();
    String class2 = comp1.getClass().getSimpleName();
    if (class2.equals("RichInputText")) {
    RichInputText rit = (RichInputText)comp1;
    if ("value40".equals(rit.getId()) ||
    "value41".equals(rit.getId())) {
    rit.setValue("Bryan");
    } else if ("value50".equals(rit.getId()) ||
    "value51".equals(rit.getId())) {
    rit.setValue(ADFUtil.evaluateEL("Adams"));
    } else
    rit.setValue("");
    AdfFacesContext.getCurrentInstance().addPartialTarget(rit);
    Popup code:
    <af:popup id="resourceSearch1"
    popupFetchListener="#{backingBeanScope.TerritoryProfileBean.showParentTerrOwnerReportsForTerrTeamMember}"
    binding="#{backingBeanScope.TerritoryProfileBean.resourcePickerPopup}"
    popupCanceledListener="#{backingBeanScope.TerritoryProfileBean.cancelButtonListener}"
    contentDelivery="lazyUncached" childCreation="deferred">
    <af:dialog id="d20" type="none" title="#{salesterrmgmtterritoriesuiGenBundle}">
    <af:panelGroupLayout id="pgl191" layout="vertical">
    <af:panelHeader id="ph21" text=" ">
    <af:query id="qryId2" headerText="#{applcoreBundle.QUERY_SEARCH_HEADER_TEXT}" disclosed="true"
    value="#{bindings.ResourcePickerSearchQuery.queryDescriptor}"
    model="#{bindings.ResourcePickerSearchQuery.queryModel}"
    queryListener="#{backingBeanScope.TerritoryProfileBean.onSearchBtn}"
    saveQueryMode="hidden" resultComponentId="::t3"
    binding="#{backingBeanScope.TerritoryProfileBean.resourcePickerQBE}"
    visible ="#{backingBeanScope.TerritoryProfileBean.showQBE}"
    queryOperationListener="#{backingBeanScope.TerritoryProfileBean.queryOperationListener}"/>
    </af:panelHeader>
    <af:panelStretchLayout id="psl2" startWidth="50px"
    visible="#{backingBeanScope.TerritoryProfileBean.showSearchTable}">
    <f:facet name="bottom"/>
    <f:facet name="center">
    <af:table value="#{bindings.ResourcesPicker.collectionModel}"
    var="row"
    rows="#{bindings.ResourcesPicker.rangeSize}"
    emptyText="#{bindings.ResourcesPicker.viewable ? applcoreBundle.TABLE_EMPTY_TEXT_NO_ROWS_YET : applcoreBundle.TABLE_EMPTY_TEXT_ACCESS_DENIED}"
    fetchSize="#{bindings.ResourcesPicker.rangeSize}"
    rowBandingInterval="0"
    selectionListener="#{bindings.ResourcesPicker.collectionModel.makeCurrent}"
    rowSelection="multiple" id="t3"
    binding="#{backingBeanScope.TerritoryProfileBean.resourcePickerTable}"
    contentDelivery="immediate"
    columnSelection="multiple" autoHeightRows="10"
    summary="#{salesterrmgmtterritoriesuiBundle.THIS_TABLE_LISTS_THE_RESOURCES}">
    <af:column sortProperty="ResourceName" sortable="true"
    headerText="#{bindings.ResourcesPicker.hints.ResourceName.label}"
    id="c3" rowHeader="unstyled">
    <af:inputText value="#{row.bindings.ResourceName.inputValue}"
    label="#{bindings.ResourcesPicker.hints.ResourceName.label}"
    required="#{bindings.ResourcesPicker.hints.ResourceName.mandatory}"
    columns="#{bindings.ResourcesPicker.hints.ResourceName.displayWidth}"
    maximumLength="#{bindings.ResourcesPicker.hints.ResourceName.precision}"
    shortDesc="#{bindings.ResourcesPicker.hints.ResourceName.tooltip}"
    id="it6">
    <f:validator binding="#{row.bindings.ResourceName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="PrimaryPhoneNumber" sortable="true"
    headerText="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.label}"
    id="c6">
    <af:inputText value="#{row.bindings.PrimaryPhoneNumber.inputValue}"
    label="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.label}"
    required="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.mandatory}"
    columns="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.displayWidth}"
    maximumLength="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.precision}"
    shortDesc="#{bindings.ResourcesPicker.hints.PrimaryPhoneNumber.tooltip}"
    id="it10">
    <f:validator binding="#{row.bindings.PrimaryPhoneNumber.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="EmailAddress" sortable="true"
    headerText="#{bindings.ResourcesPicker.hints.EmailAddress.label}"
    id="c5">
    <af:inputText value="#{row.bindings.EmailAddress.inputValue}"
    label="#{bindings.ResourcesPicker.hints.EmailAddress.label}"
    required="#{bindings.ResourcesPicker.hints.EmailAddress.mandatory}"
    columns="#{bindings.ResourcesPicker.hints.EmailAddress.displayWidth}"
    maximumLength="#{bindings.ResourcesPicker.hints.EmailAddress.precision}"
    shortDesc="#{bindings.ResourcesPicker.hints.EmailAddress.tooltip}"
    id="it1">
    <f:validator binding="#{row.bindings.EmailAddress.validator}"/>
    </af:inputText>
    </af:column>
    </af:table>
    </f:facet>
    </af:panelStretchLayout>
    </af:panelGroupLayout>
    <f:facet name="buttonBar">
    <af:group id="g41">
    <af:commandButton actionListener="#{backingBeanScope.TerritoryProfileBean.onApplyOrDoneFromResourcePicker}"
    id="cmdDone1" immediate="true"
    partialSubmit="true"
    text="#{acrGenBundle}">
    <af:resetActionListener/>
    </af:commandButton>
    <af:commandButton id="cb5" actionListener="#{backingBeanScope.TerritoryProfileBean.cancelButtonListener}"
    text="#{acrGenBundle}"/>
    </af:group>
    </f:facet>
    </af:dialog>
    </af:popup>
    * I created the same thread ADFbc forum: http://myforums.oracle.com/jive3/thread.jspa?threadID=632625. Since there is no response posting here.
    Thanks

    The af:query is based on a View Criteria from a PVO, so i wrote the following code to set the value for the criteria items in the View criteria.
    I wrote it in view object's getter in the AMImpl.java
    public ResourcePickerVOImpl getResourcePicker(){
    ResourcePickerVOImpl vo = findViewObject("ResourcesPicker");
    ViewCriteria vc = (ViewCriteria)vo.getViewCriteria("ResourcePickerSearch");
    ViewCriteriaManager vm = vc.getViewCriteriaManager();
    Row rows[] = vc.getAllRowsInRange();
    for(Row row : rows){
    List<ViewCriteriaItem> cit = ((ViewCriteriaRow)row).getCriteriaItems();
    Iterator<ViewCriteriaItem> itr = cit.iterator();
    while(itr.hasNext()){
    ViewCriteriaItem vtr = itr.next();
    vtr.setValue("Mathew");
    System.out.println("Column name: " + vtr.getColumnName() + " Value: " + vtr.getValue());
    I changed the contextDelivery = immediate and childrenCreation = immediate since the popup was always showing empty search fields.
    After changing this property i am seeing a new issue -> First time when i open the popup nothing is shown in the search fields. Then from the subsequent times it is showing the values defaulted through the above code.
    Any idea!
    Edited by: [email protected] on Aug 26, 2010 4:30 AM

  • ADF query panel with table, adding new search fields dynamically

    I am a beginner very new to ADF world. I have a ADF query panel with table which has its source from a ViewCriteria. I need to add a new search field on the form dynamically based on the user's need. Assume I am using a Employee table and I have search "employee ID" as one field in the form, upon clicking a add button in the form I need to have a another "employee ID" field appears along with the already existing one.
    I tried to add the condition in ViewCriteria but do not know how to add it ?
    Could some one pls address how it can be approached ?

    User, please always tell us your jdev version.
    Well, this use case need some thinking to be done. What do you want to archive with adding a new query field to the panel? As you said you already have one field for employeeId and now, on a click on a button, you add another one. How would the resulting query work with the new field? Should it use 'and' to concatenate the query or should it use 'or'?
    I suggest that you use the ADF Riche Client Demo (http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx) select the Query node and then select 'af:query'. This shows you what is possible otu of hte box using the af:query component. You can add fields to existing queries in advanced mode (e.g. use system query 5, which starts with an empty panel and allows you to add fields).
    Once you understand how this works you may come back with a more detailed use case description or you have found the solution already. Read the documentation on af:query along with trying otu the component.
    Timo

  • Reg Message Lov Input Field In Query Region Search.

    Hi ,
    I have a issue to implement a Message Lov Input Field in Query Region Search(AutoCustomizationSearch).
    Please Help on this Issue
    Thanks & Regards
    Santhu

    Santhu ,
    Please Let us know the step you have followed to achieve this , and what is the error you are getting .
    Regards ,
    Keerthi

  • Sql query w/search field, pagination issue

    I have a page with a query which uses a search field. I am able to scroll through to different pages of the results.
    How can I always make certain that the results returned start on pagination = 1. For example:
    I leave P10_SEARCH_FIELD = null and scroll to page 2 (item 11-20). I then do a search for 'VAN'. The results return, however rather than page 1 appearing, page 2 appears. Is there a way to reset pagination so that it will always show the first item?
    thanks

    never mind. in the branch I checked the reset pagination for this page and that did the trick.

  • Z search field in standard sap program

    Hi,
    I would like to ask if Z search field can be created in the standard SAP program.
    Basically I need modify the search field used when searching for Business area in creation of asset master data (tr. AS01).
    It shows the list of table tgsbt.  But I would like to exclude by default some rows of the table and also would like to sort it in different way (by text).
    Is that possible, if so, could anyone give me a hint how to do that?
    Many thanks,
    Honza

    Hi Jan,
    Please go thorugh the below link.
    http://wiki.sdn.sap.com/wiki/display/Snippets/ImplementingSearchHelp+Exits

  • Adding data field in query print layout designer (PLD)

    Dear Experts/Gurus,
    I would like to add data field in query PLD in repetitive area1 but it can't. The query I made excluding sequence no., so I think I must use datafield for that. I  use textfield in the repetitive area header1. is it correct what I have thought, I mean is it really datafield can't be add in the print layout designer if it is from query ? I appreciate your answer. TIA
    Rgds,

    No you can't, you will have to recreate the query with the missing field and recreate a new print layout for this.  Is still a flaw in SAP B1. 
    If you go to the service market place under education you can get the flashbook for the print layout design and the query manager and wizard, study them, they are of great help to understand the technology behind the PLD and the queries in SAP B1.
    Regards,
    WB

  • Apex 4.0: Change the Search Field to a Multi Value Check Box IR

    I am new here, but hoping to be active :)
    Well, now I am focusing on Apex 4 and I find really new things here. And even new order to develope needs time to get used.
    Still, I am trying to change the Search Field to a Multi Value Check Box in IR. I have found how to make it in Apex version 3, but not at 4 any more.
    Tutorials for apex v.3 write:
    1.Click Edit Page 1 on the Developer toolbar.
    The Page Definition for page 1 appears.
    2. Under Items, click P1_REPORT_SEARCH.
    3. From Display As, select Checkbox ans so on...
    But I do not find any word "Items" in IR and especially P1_REPORT_SEARCH (I assume this should be by default). Under "Report Atributes" I find "Search bar" region, just there is no option for that. Is here any way to make search with checkboxes in v4?

    Hi,
    Tutorial you have check for APEX 3.x probably works still in APEX 4.x if you use classic report.
    As I understand you have now create interactive report that provide out of box search features.
    There is no option to change IR search text field to multi select item.
    What you can do with IR, is hide/disable search field.
    Then you create multi select item and use it in report query where clause.
    Regards,
    Jari
    My Blog: http://dbswh.webhop.net/htmldb/f?p=BLOG:HOME:0
    Twitter: http://www.twitter.com/jariolai

  • Vague error message when using wildcards in a numeric search field

    Dear forum readers,
    When a user submits a search string containing a wildcard (e.g. 64%) in a numeric search field of a JHeadstart generated search section, the application returns with an error message like "For input string: %2".
    I'd like to show a more user-friendly message e.g. "Wildcard characters are not allowed in search field blablabla".
    Any suggestions on how this can be achieved would be most welcome.
    Regards,
    Ibrahim

    Well, I believe JHeadstart does not really have this functionality.
    One way is use a Query Operator 'startsWith', but then you always query like LIKE '<entered search value>%'
    This is probably not what you want...
    But you could hack it into advancedSearch in YourApplicationModuleImpl
    try {
    if (viewCriterium.getQueryValue() != null) { //This is where exception JHS-00116 is raised...
    value = viewCriterium.getQueryValue().toString();
    } else {
    value = null;
    catch (NumberFormatException ex) {
    //insert check for wildcard
    value = viewCriterium.getValue().toString();
    if (value.indexOf('%')>=0) {          
    sLog.debug("Ja, een wildcard!!!");
    operator = "LIKE";
    } else {//original exceptionhandling code here...
    ...and a bit later, add test for "LIKE":
    if (viewCriterium.isDate() || viewCriterium.isString() || "LIKE".equals(operator)) {
    value = "'" + value + "'";
    very nasty code, and does not raise an exception for searches like '%xxx'
    Good luck,
    HJH
    Edited by: HJHorst on Mar 5, 2009 12:03 AM

  • UDF - formatted search help using query

    I've created a UDF for 'activities' called U_BP_Link - it has a formatted search query which simply displays all data in the OCRD business partner database.  I wanted to also fill in a UDF which would display the 'description' of the BP that was selected in the U_BP_Link field.  I'm having trouble coming up with the correct syntax for the query associated with the UDF name field.  This is giving me a syntax error near $[$U_BP_Link]................
    SELECT T0.CardName FROM OCRD T0 INNER JOIN OCLG T1 ON T0.CardCode = T1.U_BP_Link Where T0.CardCode = $[$U_BP_LINK.1.0]

    Good Day,
    I don't fully understand your situation.
    I'm thinking you have 2 UDFs. One is OCLG.U_BP_Link and the second is the 'also fill in a UDF' and that is to be populated with OCRD.CardName based on data entry in OCLG.U_BP_Link
    That being the case, I would create a FMS on OCLG.U_BP_Name field to:
    1) Search in Saved Query - create query similiar to SELECT OCRD.CardName FROM OCRD, OCLG Where OCRD.CardCode = $[OCLG.U_BP_LINK] FOR BROWSE
    Create and test the query and after results are generated as expected, substitue the $[OCLG.U_BP_LINK]. The query will error in SAP but is OK for use in FMS.
    2) Auto refresh when Field Changes
    3) Based on field OCLG.U_BP_Link - actually the description for this field.
    4) Display saved values
    It could work.
    M

  • Search field

    I created a custom popup using fields contract id and vendor name. It works exactly like it should for the contract id but I also want users to be able to search only by the vendor name. When I enter a name in the search field and click the search link, I get all contracts. Below is the sql for the popup page. Is there something I'm missing? I notice on the Fetch Row processing that it has my contract id set as a primary key with an option for a secondary key. Can I only search by keys?
    Thanks!
    select CNTRCT_ID, VENDOR_NAME_SHORT , 'placeholder' the_link
    from PS_CNTRCT_VIEW where CNTRCT_ID LIKE '%'||:P14_CNTRCT_ID||'%'OR VENDOR_NAME_SHORT LIKE '%' || UPPER(:P14_VENDOR_NAME_SHORT) || '%'

    Austingal,
    You can search by anything you want. Looks like you just have the boolean logic wrong in the query. The way you have the query now, when a vendor name is supplied, the database will return all rows whose vendor name match the supplied string OR whose contract ID is like '%%' . In other words, you get every row.
    Try:
    select CNTRCT_ID, VENDOR_NAME_SHORT , 'placeholder' the_link
    from PS_CNTRCT_VIEW
    where (CNTRCT_ID LIKE '%'||:P14_CNTRCT_ID||'%' OR :P14_CNTRCT_ID is NULL)
    AND (VENDOR_NAME_SHORT LIKE '%' || UPPER(:P14_VENDOR_NAME_SHORT) || '%' OR :P14_VENDOR_NAME_SHORT is NULL)
    Sergio

  • Search field question

    I am brand new to this and had a question about search fields. I noticed that when I create an application the pages created during this initial process will load a search feature into every 'form on a table with report' by default. Yet if I create those same pages after the initial application creation process the search function is missing.
    I assume that this is by design. Am I missing a step in the setup of my pages that would include this search? Or do I need to manually add it to each new page? If I do need to manually add it what is the easiest way to do it?
    Thanks in advance

    If you create pages after the initial creation you need to add the search functionality yourself. That's not that hard:
    1) add search item
    2) change your report query to include a where clause for the search
    3) add a branch to your page (same page)
    4) add a button that does the submit of your page
    Hope that helps,
    Dimitri

  • How fast text search field in Oracle without using Intermedia?

    How fast text search field in Oracle without using Intermedia? Thank you, Paul.

    yes,it is overriden in VOImpl
    public void executeQuery()
            setQuery((new StringBuilder()).append(selectStmt).append(" order by ").append(getOrderByClause()).toString());
            OAApplicationModuleImpl oaapplicationmoduleimpl = (OAApplicationModuleImpl)getApplicationModule();
            OAApplicationModuleImpl _tmp = oaapplicationmoduleimpl;
            if(oaapplicationmoduleimpl.isLoggingEnabled(1))
                OAApplicationModuleImpl _tmp1 = oaapplicationmoduleimpl;
                oaapplicationmoduleimpl.writeDiagnostics((new StringBuilder()).append(getClass().getName()).append(".executeQuery").toString(), (new StringBuilder()).append(" Query:").append(getQuery()).toString(), 1);
            super.executeQuery();
    But I have extended VO and substituted the VO . In the substituted VOImpl, instead of executeQuery(),I have written
    public void customExecuteQuery()
              setQuery((new StringBuilder()).append(selectStmt).append(" order by ").append(getOrderByClause()).toString());
              executeQuery();
    Will this work,or do I need to do any changes?
    Thanks,

Maybe you are looking for