Error(X,X): class xx.oracle.apps.fnd.emp.schema.server.XXEmpSearchEOImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) of class oracle.apps.fnd.framework.server.OAEntityImpl

By | March 30, 2015 | 1,115 views | Category: OAF Tags:

As per Oracle Applications standards all tables should have WHO columns. So, OAF expects all Entity Objects to include WHO columns as attributes, following are the list of WHO column attributes which OAF expects:

  1. LastUpdateLogin
  2. LastUpdatedBy
  3. LastUpdateDate
  4. CreationDate
  5. CreatedBy

Reason

oracle.apps.fnd.framework.server.OAEntityImpl is a abstract class, and has a method declared as setLastUpdateLogin(oracle.jbo.domain.Number) in class.

Now, any class (xx.oracle.apps.fnd.emp.schema.server.XXEmpSearchEOImpl) extending OAEntityImpl class must either provide a definition to its methods (provide the implementation logic), or must itself be declared abstract.

If your entity object does not include the standard WHO attributes, simply provide a no-op implementation for the standard WHO attribute setter methods.

Solution

Either you need to add WHO Columns to your custom table and select them in EO
or
If you don’t want to add WHO Columns, then just declare the setter methods of WHO column attributes with no logic in your EOImpl as shown below:

public void setLastUpdateLogin( oracle.jbo.domain.Number n ) {}
 
public void setLastUpdatedBy( oracle.jbo.domain.Number n ) {}
 
public void setLastUpdateDate( oracle.jbo.domain.Date n ) {}
 
public void setCreationDate( oracle.jbo.domain.Date n ) {}
 
public void setCreatedBy( oracle.jbo.domain.Number n ) {}
WOW! Did you like this post? We'll send more interesting posts like Error(X,X): class xx.oracle.apps.fnd.emp.schema.server.XXEmpSearchEOImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) of class oracle.apps.fnd.framework.server.OAEntityImpl to you!
Enter your Email Address:
  • ajay

    package omaxe.oracle.apps.xxcom.SearchDemoOAProject.server;

    import oracle.apps.fnd.framework.server.OAEntityDefImpl;
    import oracle.apps.fnd.framework.server.OAEntityImpl;

    import oracle.jbo.AttributeList;
    import oracle.jbo.domain.RowID;
    import oracle.jbo.server.AttributeDefImpl;
    import oracle.jbo.server.EntityDefImpl;
    // ———————————————————————
    // — File generated by Oracle ADF Business Components Design Time.
    // — Custom code may be added to this class.
    // — Warning: Do not modify method signatures of generated methods.
    // ———————————————————————
    public class SearchEOImpl extends OAEntityImpl {
    public static final int ROWID = 0;
    private static OAEntityDefImpl mDefinitionObject;

    /**This is the default constructor (do not remove)
    */
    public SearchEOImpl() {
    }

    /**Retrieves the definition object for this instance class.
    */
    public static synchronized EntityDefImpl getDefinitionObject() {
    if (mDefinitionObject == null) {
    mDefinitionObject =
    (OAEntityDefImpl)EntityDefImpl.findDefObject(“omaxe.oracle.apps.xxcom.SearchDemoOAProject.server.SearchEO”);
    }
    return mDefinitionObject;
    }

    /**Add attribute defaulting logic in this method.
    */
    public void create(AttributeList attributeList) {
    super.create(attributeList);
    }

    /**Add entity remove logic in this method.
    */
    public void remove() {
    super.remove();
    }

    /**Add Entity validation code in this method.
    */
    protected void validateEntity() {
    super.validateEntity();
    }

    /**getAttrInvokeAccessor: generated method. Do not modify.
    */
    protected Object getAttrInvokeAccessor(int index,
    AttributeDefImpl attrDef) throws Exception {
    switch (index) {
    case ROWID:
    return getRowID();
    default:
    return super.getAttrInvokeAccessor(index, attrDef);
    }
    }

    /**setAttrInvokeAccessor: generated method. Do not modify.
    */
    protected void setAttrInvokeAccessor(int index, Object value,
    AttributeDefImpl attrDef) throws Exception {
    switch (index) {
    default:
    super.setAttrInvokeAccessor(index, value, attrDef);
    return;
    }
    }

    /**Gets the attribute value for RowID, using the alias name RowID
    */
    public RowID getRowID() {
    return (RowID)getAttributeInternal(ROWID);
    }
    }

    How can i resolve this issue plzz tell me