BP_CONT_SEARCH/SearchHelp GET_I method for attribute VALUE1

Hi,
I searched the forum but I didn't find any thread about this.
I add the following code to the GET_I method of the attribute VALUE1.
METHOD get_i_value1.
  DATA: lv_field TYPE string.
  lv_field = me->get_field( attribute_path = space ).
  IF lv_field = 'BP_NUMBER'.
    rv_disabled = 'TRUE'.
  ELSE.
    rv_disabled = 'FALSE'.
  ENDIF.
ENDMETHOD.
For some reason this method is never triggered.
I debugged the application and it is never called.
Where can I add the call to this method?
Thanx in advanced

I do not know if this is possible at all for advanced searches...
All the fielddata is supplied to the tag with the attribute fieldMetadata. The structure of this table has got no INPUTREADINESS.
cheers Carsten
Edited by: Carsten Kasper on Nov 12, 2008 6:15 PM

Similar Messages

  • Oracle.jbo.AttrValException: JBO-27019: Get method for attribute

    Hi Guys,
    I am trying to add a new column to Oracle quoting.It has already been customized by some consultant few years back. I followed the note 392728.1 on metalink and also have the documentation by the previous consultant but getting the error oracle.jbo.AttrValException: JBO-27019: Get method for attribute Draft in HeaderVO could not be resolved after adding my column, when I try to print the quote.
    Here are the steps I took
    1) added a column to the query (at the end) in HeaderVO.xml
    2) added the below code in the HeaderVO.xml
    <ViewAttribute
    Name="DRAFT"
    IsQueriable="false"
    IsPersistent="false"
    Precision="100"
    Type="java.lang.String"
    AliasName="DRAFT"
    ColumnType="VARCHAR2"
    Expression="DRAFT"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="100" />
    </DesignTime>
    </ViewAttribute>
    3). Modify HeaderVORowImpl.java file to add setters and getters for the newly added view attribute. For example,
    a) case 67: //
    setDRAFT((String)obj);
    return;
    b) case 67:
    return getDRAFT();
    c) ublic void setDRAFT(String s)
    setAttributeInternal(67, s);
    public String getDRAFT()
    return (String)getAttributeInternal(67);
    d) protected static final int DRAFT = 67;
    Everything is dont exactly as per the manual but not sure why I am getting this issue. Any help will be appreciated.

    a) case 67: //
    setDraft((String)obj);
    return;
    b) case 67:
    return getDraft();
    c)public void setDraft(String s){
    setAttributeInternal(67, s);
    public String getDraft(){
    return (String)getAttributeInternal(67);
    d) protected static final int DRAFT = 67;
    can u change it as explained above.. setDRAFT should be setDraft.. and getDRAFT should be getDraft..
    and make sure that the index.. number is exactly matching with the attribute order in the VO

  • Unable to find setter method for attribute:

    I am using Jboss jboss-4.2.3.GA, JDK 1.6.
    I am trying to deploy our application on Jboss. When loading sources page or whenever we try to load the taglib we are getting the following error.
    org.apache.jasper.JasperException: jspfile.jsp(67,1) Unable to find setter method for attribute: collection
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2736)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2965)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2169)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1689)
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    at org.apache.jasper.compiler.Generator.generate(Generator.java:3374)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
    at com.ssmb.common.servlets.GenericControllerServlet.service(GenericControllerServlet.java:639)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    The line corresponding in JSP file is ,
    <ssmb:list name="src_" collection="sources" showAll='<%= "" + true %>'>
    Please let me know if you have faced this issue before.

    Have you written this tag in a tld or a tag file?
    How have you declared the attribute "collection"?
    Does the class which implements the custom tag <ssmb:list> have a method in it: public void setCollection(String collection) ?

  • Unable to find setter method for attribute: forceIdIndexFormula

    When I try to use advanced dataTable tag and in particular the given property - I get the error.
    What could it be?

    In older versions of my faces "forceIdIndexFormula" , is not defined. So it errors out when u try to use it, since it doesnt know what forceIdIndexFormula is all about.
    When u try to assign a value to a attribute it will call its corresponding setter method. Since it is not found it errors out.
    The solution is you have to make use of the latest myfaces version which supports the forceIdIndexFormula attribute in the datatable.
    Thanks

  • Custom Tag: Cannot find setter method for attribute

    This has been working fine in appserver6.5.
    In the jsp:
    =======
    <display:table configFileDir="theDirectory"...>
    =======
    The tld entry:
    <tag>
    <name>table</name>
    <tagclass>org.apache.taglibs.display.TableTag</tagclass>
    <teiclass>org.apache.taglibs.display.TableTagExtraInfo</teiclass>
    <bodycontent>JSP</bodycontent>
    <attribute>
    <name>configFileDir</name>
    <required>false</required>
    <rtexprvalue>false</rtexprvalue>
    </attribute>
    =============
    In TableTag.java:
    =============
    private String configFileDir = null;
    public void setConfigFileDir( String v )
         v = v.trim();
    this.configFileDir = v;
    ============
    Help, I'm going nuts.

    Then you also need to create a UI element that extends HtmlPanelGrid
    that has a tModelKey member and getters/setters. That object will hold
    the information so that you can use it in your bean.Whoops... ignore that! Sorry. Attributes are simply stored in the component map component.getAttributes().
    Add to your Tag class:
    public void setProperties(UIComponent component) {
        super.setProperties(component);
        Tags.setString(component, "tModelKey", tModelKey);
    public void release() {
        // see above
    }Where Tags.java is:public class Tags {
        public static void setString(UIComponent component, String attributeName, String attributeValue) {
            if (attributeValue != null) {
                if (UIComponentTag.isValueReference(attributeValue)) {
                    setValueBinding(component, attributeName, attributeValue);
                } else {
                    component.getAttributes().put(attributeName, attributeValue);
        public static void setValueBinding(UIComponent component, String attributeName, String attributeValue) {
            FacesContext context = FacesContext.getCurrentInstance();
            Application app = context.getApplication();
            ValueBinding vb = app.createValueBinding(attributeValue);
            component.setValueBinding(attributeName, vb);
    }

  • Setter method for custom action attributes

    Hello,
    I'm using Sun App server. The container is saying I need to implement a setter method for a custom action attribute? I defined a set<variable() and this didn't fix the problem. What kind of setter method is it expecting?

    nevermind, found solution

  • Setting value for attribute  'PO_NUMBER_SOLD'  using setter method

    Hi Experts,
    I need to set the value of a screen field according to some condition. I am using setter method of this attribute to set the value but it is not getting changed.
    I have written following code in DO_PREPARE_OUTPUT method of implementation class ZL_ZZBT131I_ZCREDITCHECK_IMPL using setter method of attribute
    Get Referral Authorization Code
          lv_val1 = me->typed_context->crechkresph->get_po_number( attribute_path = 'PO_NUMBER' ).
          me->typed_context->crechkresph->set_po_number( attribute_path = 'PO_NUMBER'
                                                            value     = ' ' ).
    while debugging I found that in method set_po_number set_property method has been used:--
    current->set_property(
                          iv_attr_name = 'PO_NUMBER_SOLD' "#EC NOTEXT
                          iv_value     = <nval> ).
    In set_property method  following code is getting executed
    if ME->IS_CHANGEABLE( ) = ABAP_TRUE and
               LV_PROPS_OBJ->GET_PROPERTY_BY_IDX( LV_IDX ) ne IF_GENIL_OBJ_ATTR_PROPERTIES=>READ_ONLY.
              if <VALUE> ne IV_VALUE.
                if ME->MY_MANAGER_ENTRY->DELTA_FLAG is initial.
                first 'change' -> proof that entity is locked
                  if ME->MY_MANAGER_ENTRY->LOCKED = FALSE.
                    if ME->LOCK( ) = FALSE.
                      return.
                    endif.
                  endif.
                flag entity as modified
                  ME->MY_MANAGER_ENTRY->DELTA_FLAG = IF_GENIL_CONTAINER_OBJECT=>DELTA_CHANGED.
                endif.
                ME->ACTIVATE_SENDING( ).
              change value
                <VALUE> = IV_VALUE.
              log change
                set bit LV_IDX of ME->CHANGE_LOG->* to INDICATOR_SET.
              endif.
            else.
            check if it is a real read-only field or a display mode violation
              assert id BOL_ASSERTS subkey 'READ-ONLY_VIOLATION'
                     fields ME->MY_INSTANCE_KEY->OBJECT_NAME
                            IV_ATTR_NAME
                     condition ME->CHANGEABLE = ABAP_TRUE.
            endif.
    and in debugging I found that if part ( ME->IS_CHANGEABLE( ) = ABAP_TRUE and
               LV_PROPS_OBJ->GET_PROPERTY_BY_IDX( LV_IDX ) ne IF_GENIL_OBJ_ATTR_PROPERTIES=>READ_ONLY) fails and hence else part is getting executed and hence my field a real read-only field or a display mode violation is happening according to comments in code.
    What shall I do so that I would be able to change the screen field value?
    Any help would be highly appreciated.
    Regards,
    Vimal

    Hi,
    Try this:
    data: lr_entity type cl_crm_bol_entity.
    lr_entity = me->typed_context->crechkresph->collection_wrapper->get_current( ).
    lr_entity->set_property( iv_attr_name = 'PO_NUMBER' value = '').
    Also, make sure the field is not read-only.
    Regards
    Prasenjit

  • Default value for attribute "COUNTRY" in BP_HEAD_SEARCH/MainSearch

    Hi Gurus,
    Requirement is to set default value for attribute "COUNTRY" in BP_HEAD_SEARCH/MainSearch when user clicks on Corporate Account.
    Below is code that i have written in DO_PREPARE_OUTPUT.
    Code is working fine and in the debug also i can see the value of COUNTRY is set to DE, but it is not showing on the screen for first time but when i load component second time(Refresh the screen), it shows me value.
    Any help would be appreciated. If somebody has otheralternative kindly share.
      CALL METHOD super->do_prepare_output( iv_first_time = iv_first_time ).
    Calling Super Method
    CALL METHOD super->do_prepare_output
       EXPORTING
         iv_first_time = abap_true.
    Data Declatation
      DATA :lr_col            TYPE REF TO if_bol_bo_col,
            lr_current        TYPE REF TO if_bol_bo_property_access,
            lr_param          TYPE REF TO if_bol_bo_property_access,
            lr_qs             TYPE REF TO cl_crm_bol_dquery_service,
            lv_attr_name      TYPE name_komp,
            lv_sign           TYPE bapisign,
            lv_option         TYPE bapioption,
            w_country_exist   TYPE c,
            w_param           TYPE string,
            w_value           TYPE string,
            w_flag            TYPE c.
    Getting SEARCH Context Node
      lr_qs ?= me->typed_context->search->collection_wrapper->get_current( ).
    Get Selection Parameters
      lr_col ?= lr_qs->get_selection_params( ).
    Start from first parmaters
      lr_current = lr_col->get_first( ).
    Clearing Variables
      CLEAR : w_country_exist, w_flag, w_param, w_value.
    Loop till we have selection paramters
      WHILE lr_current IS BOUND.         " While loop 1
    checking attribute name is COUNTRY then setting some variable
        w_param = lr_current->get_property_as_string( 'ATTR_NAME' ).
        CASE w_param.
          WHEN 'COUNTRY'.
    If country is filled then setting variable
            w_value = lr_current->get_property_as_string( 'LOW' ).
            IF w_value IS NOT INITIAL.
              w_country_exist = abap_true.
            ENDIF.
    When we got COUNTRY attribute then setting flag
            w_flag = abap_true.
        ENDCASE.
    Calling next parameter
        lr_current = lr_col->get_next( ).
      ENDWHILE.                          " While loop 1
    In below block we are checking is COUNTRY attribute is blank and
    we have found COUNTRY attribute in current selection paramters
      IF lr_qs IS BOUND.                 " SEACRCH CONTEXT BOUND
    If vairable is blank means DE or any other value is not filled in COUNTRY Attribute
        IF w_country_exist IS INITIAL.   " w_contry_exist
    We have to add selection attribute if we come accross COUNTRY attribute during our search
          IF w_flag EQ abap_true.        " w_flag
    Adding COUNTRY attribute with default value 'DE'
            lr_qs->add_selection_param( EXPORTING iv_attr_name = 'COUNTRY'
                                                  iv_sign      = 'I'
                                                  iv_option    = 'EQ'
                                                  iv_low       = 'DE' ).
          ENDIF.                         " w_flag
        ENDIF.                           " w_contry_exist
      ENDIF.                             " SEACRCH CONTEXT BOUND
    In below block we will remove COUNTRY attribute when it has blank value
      IF lr_qs IS BOUND AND w_country_exist IS INITIAL.
        lr_current = lr_col->get_first( ).
        WHILE lr_current IS BOUND.
          w_param = lr_current->get_property_as_string( 'ATTR_NAME' ).
          CASE w_param.
            WHEN 'COUNTRY'.
              w_value = lr_current->get_property_as_string( 'LOW' ).
              IF w_value IS INITIAL.
                lr_col->remove( iv_bo = lr_current ).
              ENDIF.
          ENDCASE.
          lr_current = lr_col->get_next( ).
        ENDWHILE.
      ENDIF.
    Edited by: Harsharandeep Singh on Apr 28, 2011 3:44 PM

    Hi,
    Try it like this:
      DATA:
        lr_bo        TYPE REF TO if_bol_bo_property_access ,
        lv_attr_name TYPE name_komp.
      FIELD-SYMBOLS:
        <ls_param>   TYPE crms_thtmlb_search_criterion.
      READ TABLE parameters
           ASSIGNING <ls_param>
           WITH KEY field = 'COUNTRY'.
      IF ( sy-subrc = 0 ).
        <ls_param>-value1 = ip_pfct.
      ENDIF.
      CHECK ( me->parameter_collection IS NOT INITIAL ).
      lr_bo = me->parameter_collection->get_first( ).
      WHILE lr_bo IS BOUND.
        CALL METHOD lr_bo->get_property_as_value
          EXPORTING
            iv_attr_name = 'ATTR_NAME'
          IMPORTING
            ev_result    = lv_attr_name.
        IF lv_attr_name EQ 'COUNTRY' .
          CALL METHOD lr_bo->set_property
            EXPORTING
              iv_attr_name = 'LOW'
              iv_value     = 'DE'.
          EXIT.
        ELSE.
          lr_bo = me->parameter_collection->get_next( ) .
        ENDIF.
      ENDWHILE .
    Kind regards,
    Micha

  • How to read the value of a field belonging to a different context node in GET_I method during runtime

    I want the read the value of a field,'LCSTATUS' belonging to context node 'BTADMINH' in the GET_I method of the field, 'ZZFLD000008' belonging to context node,'ZBTACTIVITYH'.
    In the context node class of context node 'ZBTACTIVITYH',I have created an instance attribute,GR_OWNER type ref to context class.
    I get the following error in the line - lv_act_status = Lr_entity->if_bol_bo_property_access~GET_PROPERTY_AS_STRING( 'LCSTATUS' ).
    'An exception (CX_CRM_CIC_PARAMETER_ERROR) occurred Message no. TPDA430'
    I have used the below code.
    method GET_I_ZZFLD000008.
         DATA: current TYPE REF TO if_bol_bo_property_access,
               lv_act_status TYPE string.
         DATA:lr_entity TYPE REF TO cl_crm_bol_entity,
               lr_current TYPE REF TO if_bol_bo_property_access,
              lr_parent TYPE REF TO cl_crm_bol_entity.
         rv_disabled = 'TRUE'.
         if iterator is bound.
           current = iterator->get_current( ).
         else.
           current = collection_wrapper->get_current( ).
         endif.
    CHECK gr_owner IS BOUND.
    lr_entity ?= gr_owner->btadminh->collection_wrapper->get_current( ).
    CHECK  lr_entity  IS BOUND.
    lv_act_status = Lr_entity->if_bol_bo_property_access~GET_PROPERTY_AS_STRING( 'LCSTATUS' ). "error states that lcstatus can't be used here.
       TRY.
             IF current->is_property_readonly(
                           'ZZFLD000008' ) = abap_false. "#EC NOTEXT
               rv_disabled = 'FALSE'.
             ENDIF.
         CATCH cx_sy_ref_is_initial cx_sy_move_cast_error
               cx_crm_genil_model_error.
           RETURN.
       ENDTRY.
    endmethod.

    Hi,
    LCSTATUS is not an attribute of the BTADMINH structure. It is read using the relation to the status object
    BTADMINH-> BTHeaderStatusSet-> BTStatusHCurrent-> ACT_STATUS.
    Try reading the ACT_STATUS of object BTStatus as given below.
            data: coll   type ref to if_bol_entity_col.
           data: entity type ref to cl_crm_bol_entity,
                         lv_act_status TYPE string.
           entity ?= current.                                                               "BTADMINH entity.
           coll = entity->get_related_entities(
                    iv_relation_name = 'BTHeaderStatusSet' ).    "#EC NOTEXT
           current = coll->get_current( ).
            entity ?= current.
           coll = entity->get_related_entities(
                    iv_relation_name = 'BTStatusHCurrent' ).     "#EC NOTEXT
           current = coll->get_current( ).
            try.
           lv_act_status = current->if_bol_bo_property_access~GET_PROPERTY_AS_STRING(  'ACT_STATUS' ).
             catch cx_crm_cic_parameter_error.
           endtry.
    Regards JP

  • How to change the score method for ses crawler table result?

    Hi,all
    There is a customer urgent requirement,they want customize methods to score the result which come from database same table different column source for relevancy boosting.For example.there is a table t_table which have 3 column:name,short description,long description.Now i create 3 source for this table,every source has different content column.source 1's content column is name,source 2's content column is short description,source 3's content column is long description,is it possible for me to define the priority for those 3 source.For example,source 1 's priority is 50%,source 2 's priority is 30%,source 3 's priority is 20%.
    By the way,i wonder that exists a API to fetch the result set score attribute and primary key value?
    any advice is appreciate.

    Kevin, have replied via internal mailing list on this. There is an undocumented method for boosting relevance by section. It is considered experimental at the moment and the exact details may change before we include it as a standard feature.

  • **URGENT** No getter method for property searchText of bean org.apache.stru

    I'm implementing a query page as described in the HowTo ADF_ComplexMasterDetail.zip
    When running the query page, I'm receiving the error:
    javax.servlet.jsp.JspException: No getter method for property searchText of bean org.apache.struts.taglib.html.BEAN
    I have my searchEmployees writen and 'exposed' (at least I can see it in the Data palette). But seems like something is missing, and can't find this searchText beam property specified in the html:text tag.
    Can someone help in this one?
    Here is the Help description inside the HowTo example:
    Section 3
    queryEmployees
    queryEmployeesInDept provides an interface for entering a simple search criteria for querying a list of
    employees. This does not use the Find mode Query By Example functionality that the other query screens
    use, but rather presents a much simpler search interface. The actual search is carried out using a
    function
    searchEmployees that the underlying view object exposes. (See the EmployeesView view object in the
    model project)
    1. Drop a new Data Page onto the page flow diagram call it queryEmployees
    2. In the page flow diagram, drag the searchEmployees operation from the AllEmployeesView
    collection in the Data Control Palette and drop it on top of the new Data Page. This will cause the
    framework to run a search whenever the page is called.
    3. In the Structure pane, locate the queryEmployees node and expand it, select the child node
    paramNames[0], and change it's value attribute to ${param.searchText}. This will pass the URL
    parameter searchText on to the business method to qualify the query.
    4. Drill down into the page and expand the Data Control Palette to select the AllEmployeesView
    collection. Set the Drag and Drop as: list to Read-OnlyTable. Then drag the collection onto the page.
    This will create a tabular containing the query results.
    5. Select the Struts HTML component palette and drag a Form onto the page above the output table. Set
    the handling action to this Data Page (queryEmployees.do)
    6. Drag a text field from the component palette inside of this new form. Set the property attribute of
    the
    <html:text> tag to searchText (the same value you used in the paramNames[0] for the Data Page)
    7. Create a new submit button in the form to submit the search. Set the property attribute of the button
    to
    event_search.
    8. Finally we need to subclass the data page to prevent the search action from being fired when it is not
    appropriate for the page ( for instance when we first display it). To do this we need to Go to Code on
    the Data Page's context menu, and override the invokeCustomMethod() method:
    * We only want to invoke the custom method i.e. the call to change
    * the Where clause on the collection, if the Action has been called with
    * a search event on the page with a search term supplied.
    * If the user got here via a link or another event, we bypass the model call
    * unless a URL parameter event=search is supplied, in which
    * case the method will also be called.
    protected void invokeCustomMethod(DataActionContext actionContext)
    List events = actionContext.getEvents();
    // If the event is "search" do the custom event call
    if ((events != null) && (events.contains("search")))
    String searchTerm = (String)((DynaActionForm)actionContext.getActionForm())
    Get("searchText");
    if (searchTerm != null)
    super.invokeCustomMethod(actionContext);
    }

    Solved with Oracle JDeveloper HowTo:
    Creating Search Pages with Both Fixed and Dynamic Criteria
    Author: Steve Muench, Oracle ADF Development Team
    Date: September 16, 2004
    http://www.oracle.com/technology/products/jdev/howtos/10g/dynamiccrit/index.html

  • FindBy method for reference entities

    hi,
    I have created an entitity(Relation) which contains references of other 2 entities(address, person).I have created findBy methods(FindByCity,FindByLastName,etc) in Relation entity for attributes in those refernce entities(Address-city,state)(Person-First name, Last Name). but while i'am testing these functions it says :
    <b>ERROR. setFilter column(25): Undefined expression 'personRef_var.refObject.name'</b>
    I'am not able to decipher this error message. can anyone help me about what could possibly be wrong in the code generated. the following is the code containing this reference :-
    if ("addressRef".equals(attrName))
    if (subAttrName == null)
       resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.AddressRefVO");
                             resQueryFilter.setCollectionAttribute("addressRef");
                             resQueryFilter.setAttribute("addressRef_var.refObject.key");
    else
         strParamName = subAttrName;
         dotIndex = strParamName.indexOf('.');
         attrName = (dotIndex == -1) ? strParamName : strParamName.substring(0, dotIndex);
         subAttrName = (dotIndex == -1) ? null : strParamName.substring(dotIndex + 1, strParamName.length());
         resQueryFilter = new com.sap.caf.rt.bol.util.IntQueryFilter((com.sap.caf.rt.bol.util.QueryFilter) qf);
                             resQueryFilter.setAttribute("addressRef_var.refObject." + strParamName);
    } else if ("personRef".equals(attrName))
    if (subAttrName == null)
    {                         resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.PersonRefVO");
                             resQueryFilter.setCollectionAttribute("personRef");
                             resQueryFilter.setAttribute("personRef_var.refObject.key");
    else
         strParamName = subAttrName;
         dotIndex = strParamName.indexOf('.');
         attrName = (dotIndex == -1) ? strParamName : strParamName.substring(0, dotIndex);
         subAttrName = (dotIndex == -1) ? null : strParamName.substring(dotIndex + 1, strParamName.length());
         resQueryFilter = new com.sap.caf.rt.bol.util.IntQueryFilter((com.sap.caf.rt.bol.util.QueryFilter) qf);
         resQueryFilter.setAttribute("personRef_var.refObject." + strParamName);

    Hi Pamita,
    Generation is errorneous for related entities which do not have relations at all. This problem emerges when you searching by some specific attribute of related entity.
    The following workarounds:
    1. Create a fake relation for Person and Address entities. For example you can create relation from Person to Person.
    2. Change generation template. I don't remember template name - it should be like ServiceBean.
    the following fix in generated coding should work:
    <code>
    if ("addressRef".equals(attrName))
    if (subAttrName == null)
    resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.AddressRefVO");
    resQueryFilter.setCollectionAttribute("addressRef");
    resQueryFilter.setAttribute("addressRef_var.refObject.key");
    else
    strParamName = subAttrName;
    dotIndex = strParamName.indexOf('.');
    attrName = (dotIndex == -1) ? strParamName : strParamName.substring(0, dotIndex);
    subAttrName = (dotIndex == -1) ? null : strParamName.substring(dotIndex + 1, strParamName.length());
    resQueryFilter = new com.sap.caf.rt.bol.util.IntQueryFilter((com.sap.caf.rt.bol.util.QueryFilter) qf);
    resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.AddressRefVO");
    resQueryFilter.setCollectionAttribute("addressRef");
    resQueryFilter.setAttribute("addressRef_var.refObject." + strParamName);
    } else if ("personRef".equals(attrName))
    if (subAttrName == null)
    { resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.PersonRefVO");
    resQueryFilter.setCollectionAttribute("personRef");
    resQueryFilter.setAttribute("personRef_var.refObject.key");
    else
    strParamName = subAttrName;
    dotIndex = strParamName.indexOf('.');
    attrName = (dotIndex == -1) ? strParamName : strParamName.substring(0, dotIndex);
    subAttrName = (dotIndex == -1) ? null : strParamName.substring(dotIndex + 1, strParamName.length());
    resQueryFilter = new com.sap.caf.rt.bol.util.IntQueryFilter((com.sap.caf.rt.bol.util.QueryFilter) qf);
    { resQueryFilter.setCollectionType("com.sap.relation.besrv.relateaddperson.PersonRefVO");
    resQueryFilter.setCollectionAttribute("personRef");
    resQueryFilter.setAttribute("personRef_var.refObject." + strParamName);
    </code>
    Be carefull while changing template because this generated piece of coding is used in many places.
    Best regrads,
    Aliaksei

  • Best method for controlling Office 365 updates

    Were looking for the best method for updating Office 365. We will be testing prior to releasing the version to the rest of the company.  We have a couple of methods we're contemplating but looking for any pros or cons for each.  We are also
    using SCCM 2012.
    1. Run setup.exe setting the version and internal install source in an .xml file run as an SCCM package using distribution points as the install source.
    2. Run click2runclient.exe with command lines setting the version and internal install source as an SCCM package using distribution points as the install source.
    3  Set the version through group policy and turn on automatic updates and don't specify an install source.
    Option 3 appears to be the most straight forward with the least administrative overhead.  Would it be possible to revert back to an earlier version using this method?
    I have read various articles but looking for any input as to what is working well  or not working for others.

    Hi,
    I would like to share this
    blog post with you, which provides an example how to implement a fully automated testing and deployment process of Office 365 updates. This deployment method provides you the ability to test updates before you approve them in my environment.
    The process might look like:
    Deploy Office 365 in your environment with Office Deployment Tool, configure the "Updates" element in the configuration.xml file so that updates are enabled and the "UpdatePath" attribute points to an internal source.
    Download the latest Office 365 build into a different internal source, configure your test machine to pick up builds from it.
    After testing the updates, copy the updates to the first internal source.
    You should be able to integrate the process with SCCM to reduce your administrative effort.
    Hope this helps.
    Regards,
    Ethan Hua
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • URGENT HELP! - The prefix "xsi" for attribute "xsi:type" is not bound

    Hi! i createD a WebService using the JWSDP 1.2. In the server-side i read a xml file, create another empty Document and using the importNode() method i populate the empty created doc. The problem is when i try to send client this created document. I'm using the DOMSource to send it to client side. Both client and WS method code are below! Does anyone know the answer??
    And I'm getting this error:
    [java] Endpoint address = http://localhost:8080/cm/ContextManager
    [java] [Fatal Error] :2:42: The prefix "xsi" for attribute "xsi:type" is not bound.
    [java] javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
    [java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:469)
    [java] at contextclient.CMClient.main(Unknown Source)
    [java] Caused by: org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
    [java] at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1139)
    [java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452)
    [java] ... 1 more
    [java] ---------
    [java] org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
    [java] at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1139)
    [java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452)
    [java] at contextclient.CMClient.main(Unknown Source)
    ====================CLIENT CODE================================
    Source getdevice = manager.getDevice("How");
    DOMResult domResult = new DOMResult();
    // getting a transformation factory instance
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    transformer.transform(getdevice, domResult);
    Node node = domResult.getNode();
    DOMSource domSRC = new DOMSource(node);               
    StreamResult streamResult = new StreamResult(System.out);
    transformer.transform(domSRC, streamResult);
    ===============================================================
    ===================WebService Method CODE======================
         public Source getDevice(String primaryContext)
              Source src = null;
              try
                   String uri = "C:\\foo\\DeviceInstance.xml";
                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   //create the first Document
                   Document doc1 = builder.parse(uri);
                   //create the second Document
                   Document doc2 = builder.newDocument();
                   //create the second doc's root element and append it
                   Element rootDoc2 = (Element)doc2.createElement("device");
                   doc2.appendChild(rootDoc2);               
                   //get root of first document
                   Element rootDoc1 = doc1.getDocumentElement();
                   NodeList list = rootDoc1.getElementsByTagName(primaryContext);
                   for(int i = 0; i < list.getLength(); i++)
                        Element nodeToMove = (Element) list.item(i);
                        Node newNode = doc2.importNode(nodeToMove, true);
                        rootDoc2.appendChild(newNode);
                   src = new DOMSource(doc2);          
              catch(DOMException dome)
                   dome.printStackTrace();
              catch(Exception e)
                   e.printStackTrace();
              return src;
    ===============================================================
    Does anyone know what could it be? Please, it's very urgent!
    Tks in Advance,
    Rodrigo.

    The xml i'm trying to send is below. It's important explain that in a standalone app it works perfectly. Unfortunately, when i perform the same actions in the WS world, it doesn't work. See, i tried to put the attributes inside the root element with the setAttributeNS() method but i got the same error again. How could i bound the attribute with no errors like that said before???
    <?xml version="1.0" encoding="UTF-8"?>
    <device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="context.xsd">
    <Identity xsi:type="fooType">
                   <Name>
                        <GivenName>Rodrigo</GivenName>
                        <FamilyName>Felicio</FamilyName>
                   </Name>
              </Identity>
    <Identity xsi:type="foowType">
                   <DeviceID>dev00345</DeviceID>
              </Identity>
    </device>
    Regards,
    Rodrigo.

  • LSMW method for transaction ME31K ( Create contract)

    can anybody tell me in which method of LSMW i should use to create contract ( Tcode- ME31K). Is there any direct input method for this or i have to use BAPI_CONTRACT_CREATE?
    please answer it in details...
    Thnxx in advance..

    In LSMW,
    1st step Maintain Object Attributes. Here you can choose the kind of input method.
    For your purpose you can choose Batch input recording and then go for Recording overview.
    There you can do your recording for the tx.Similar to your BDC process.
    Hope this helps to some extent!

Maybe you are looking for