Control hints tab for an attribute of a view object shows null pointer erro

hi
I am using j developer 11g. I have a view object and it is working fine and i set control hints for an attribute , i set display label and length etc
there. now i am taking the view object the control hints tab for the particular tab didnt shows and there displayed follwing error
how can i rectiify this error.
java.lang.NullPointerException
     at oracle.jbo.dt.ui.main.misc.ControlHintsPanel.isOverridenProperty(ControlHintsPanel.java:662)
     at oracle.jbo.dt.ui.main.misc.ControlHintsPanel.processUIHintsOnEnter(ControlHintsPanel.java:577)
     at oracle.jbo.dt.ui.main.misc.BaseControlHintsPanel.initializeControlsFromContext(BaseControlHintsPanel.java:187)
     at oracle.jbo.dt.ui.main.misc.BaseControlHintsPanel.enter(BaseControlHintsPanel.java:340)
     at oracle.jbo.ui.wizard.JboWizard.selectPage(JboWizard.java:806)
     at oracle.jbo.ui.wizard.JboWizard.selectPage(JboWizard.java:758)
     at oracle.jbo.ui.wizard.JboWizard.newMddPageSelected(JboWizard.java:827)
     at oracle.jbo.ui.mdd.MddTraversable.onEntry(MddTraversable.java:70)
     at oracle.ide.panels.MDDPanel.enterTraversableImpl(MDDPanel.java:1213)
     at oracle.ide.panels.MDDPanel.enterTraversable(MDDPanel.java:1194)
     at oracle.ide.panels.MDDPanel.mav$enterTraversable(MDDPanel.java:128)
     at oracle.ide.panels.MDDPanel$Tsl.updateSelectedNavigable(MDDPanel.java:1650)
     at oracle.ide.panels.MDDPanel$Tsl.updateSelection(MDDPanel.java:1518)
     at oracle.ide.panels.MDDPanel$Tsl.actionPerformed(MDDPanel.java:1512)
     at javax.swing.Timer.fireActionPerformed(Timer.java:271)
     at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
     at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
     at java.awt.Dialog$1.run(Dialog.java:1045)
     at java.awt.Dialog$3.run(Dialog.java:1097)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.awt.Dialog.show(Dialog.java:1095)
     at java.awt.Component.show(Component.java:1422)
     at java.awt.Component.setVisible(Component.java:1375)
     at java.awt.Window.setVisible(Window.java:806)
     at java.awt.Dialog.setVisible(Dialog.java:985)
     at oracle.jbo.ui.main.JboDialog.setVisible(JboDialog.java:164)
     at oracle.jbo.ui.wizard.JboWizard$MddWizardDialog.setVisible(JboWizard.java:2557)
     at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
     at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
     at oracle.jbo.ui.main.JboDialog.showDialog(JboDialog.java:142)
     at oracle.jbo.ui.wizard.JboWizard$MddWizardDialog.showDialog(JboWizard.java:2493)
     at oracle.jbo.ui.wizard.JboWizard.createMddWizard(JboWizard.java:549)
     at oracle.jbo.ui.wizard.JboWizard.setVisible(JboWizard.java:352)
     at oracle.jbo.ui.wizard.JboWizard.showDialog(JboWizard.java:330)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeEOAttributeDialog(JdxMenuManager.java:1295)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeAttributeDialog(JdxMenuManager.java:1277)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doEditMenuAction(DtuMenuManager.java:1776)
     at oracle.jbo.dt.ui.main.DtuMenuManager.performMenuAction(DtuMenuManager.java:1584)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doMenuAction(DtuMenuManager.java:1377)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.doMenuAction(JdxMenuManager.java:892)
     at oracle.jbo.dt.jdevx.deployment.ui.JxdMenuManager.doMenuAction(JxdMenuManager.java:66)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1363)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1348)
     at oracle.jbo.dt.jdevx.ui.editors.common.JeoBaseEditor.doMenuAction(JeoBaseEditor.java:327)
     at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.doMenuAction(JeoEditorPage.java:777)
     at oracle.jbo.dt.jdevx.ui.editors.view.VoeAttributesPage.doMenuAction(VoeAttributesPage.java:366)
     at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.mouseDoubleClick(JeoEditorPage.java:642)
     at oracle.jbo.dt.jdevx.ui.editors.common.JeoEditorPage.mouseClicked(JeoEditorPage.java:623)
     at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
     at java.awt.Component.processMouseEvent(Component.java:6044)
     at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
     at java.awt.Component.processEvent(Component.java:5806)
     at java.awt.Container.processEvent(Container.java:2058)
     at java.awt.Component.dispatchEventImpl(Component.java:4413)
     at java.awt.Container.dispatchEventImpl(Container.java:2116)
     at java.awt.Component.dispatchEvent(Component.java:4243)
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3995)
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
     at java.awt.Container.dispatchEventImpl(Container.java:2102)
     at java.awt.Window.dispatchEventImpl(Window.java:2440)
     at java.awt.Component.dispatchEvent(Component.java:4243)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

I did try making a VO that extends the original VO, but with the attribute based on the SDO_NN_DISTANCE function call, which means that a call to SDO_NN MUST be in the WHERE clause.
This works to some extent, in that the common attributes and methods are in the second VO, inherited from the first, without me having to write them again. However, I have to use them in my ViewController project as two separate VOs. For one thing, I need two separate result pages, one for when the query used the SDO_NN in the where, and needed the distance in the output, and one without. One uses the original VO, and the other uses the new one. Similarly, I need two separate pages for adding additional criteria. Doing it this way with pairs of nearly identical pages is going to be a pain, and will be difficult to maintain, since any change will have to be done twice. Or can .jspx pages be written that extend other .jspx pages, and in particular override the VO bindings in the pageDef? Could a single .jspx page decide dynamically which pageDef to use?
I decided to try a different tack. Back to a single VO, I wrote a WHERE clause that calls SDO_NN, but returns all of the rows. That way, I can have a call to SDO_NN_DISTANCE in the SELECT for all queries, and I was even able to add a parameter that sets the Distance attribute to NULL if it is irrelevant to the query the user constructs. This is a good work around, but it is a little slow, because SDO_NN is doing a lot of work but returning every row when it hasn't been replaced with an "actual" SDO_NN where clause.
One more possibility: Can I have a method that replaces the entire SELECT command for this VO dynamically? I assume that you need to make sure that the expressions in the SELECTed data still map to the attributes one to one, with the same aliases. After all, I am already replacing the WHERE clause dynamically, and it works fine.

Similar Messages

  • No parameter tab for marketing attribute form in IC Web Script

    Hello Experts,
    When I am creating a survey as part of a script, there is a tab "parameters" where I define, which survey to use.
    I do not find parameter tab for marketing attributes in script construcion screen (SE80 - CRM_IC_ISE).
    So how do I define which attribute to use?
    Hoping for help. Points will be awarded.
    Best regards,
    Cristina

    Hi,
    The Marketing Attributes are there in the answers.
    In the repository try using
    Answers >> Dynamic Answers >> Default >> Marketing Attribute
    When you use this in the script (Question), you will see one of the Tabs below called 'Dynamic Content Parameters', here you can specify the details.
    Hope this helps you.
    Regards,
    Rajiv

  • How to make Transient Attribute Mandatory in View Object?

    Hi ,
    I have a Transient Attribute 'TransientFromCode' which is based on LOV .On UI ,I am showing this 'TransientFromCode' as 'SelectOneChoice' .
    So on selection of this i am populating other mandatory attributes.
    My requirement is to show this as 'Required' on UI but in View Object i am not able to find mandatory property for this attribute.
    I dont want to use required='true' . So can you plesae tell me is there any way to make Transient attibute as mandatory on UI .
    Thanks

    940637 - Your Use Case is a little vague\confusing.
    If you are just trying to get the standard "Required" architecture, it probably isn't working because you have incorrect syntax. It is #{bindings.MyViewObj.MyAttr.hints.mandatory}
    Yours: "#{bindings.UnitOfMeasureIntraClassConversion.hints.TransientItemDesc.mandatory}"
    It will "dynamically" pick this up at Runtime from the ViewObject Attributes "Mandatory" property (Attributes\Details tab), BUT the EL will always evaluate to "true" so this is the same functionally as just hard coding the UI component's Required property to "true" (although doing so is against Best Practices)
    If you are just wanting to SHOW the field as required without the standard Validation logic (because you are coding your own), you could:
    1) JUST set the UI component's "ShowRequired" property = true. This displays the * next to the Label (regardless of actual View Object Attr setting) but fires no validation.
    2) If you want to not show * but some custom standard, you could just create ANOTHER transient Attribute in the View Object and call it "TransientItemDescRequired" and set it to a Literal "y" or leave it blank and programmatically set it later... You can code your own validator\method\whatever against it, etc
    Edited by: donhoyt on Jul 5, 2012 7:58 AM

  • Programatically add / Rmove Attributes to a View Object

    I have a View Object with 2 attributes created at design time. I need to add more attributes to it at runtime based on some information I get. Is there a way to add/remove Attributes of the View Object programatically at runtime ?
    Any help is appreciated.

    add following method in your GridViewImpl class
    public void setDynamicColumns()
    for (int i=0;i<5;i++)
    this.addDynamicAttribute("Dynamic" + i);
    write this method in your moduleImpl
    protected void afterConnect()
    super.afterConnect();
    this.getYourGridView().setDynamicColumns();
    run your app
    Hope that helps
    Suvarna.

  • Separate tab for equipment Attributes

    Hi All,
    Please I need some help here.
    I have created some characteristics and assigned them to a class. I have now assigned the class to an equipment directly through the equipment master.
    When I display the equipment, I need to click on Class Overview which then open to a new screen: Display Equipment: Classification
    My requirement is to also have a tab (screen) call Attributes which should also have the characteristics and values. So on display of the equipment master, and by opening the tab 'Attributes' the screen should display these characteristics and values.
    Any config required?
    Regards.
    Kash

    Hope you are looking to see Equipment Attributes in Equipment master as one of tabs same like Location, Organization, etc.,
    Please do configuration as follows.
    1. Set the View Profiles for Technical Object
    2. In this Configuration, go for New Entries to add New View Profile or Select Existing Profile.
    3. Add Additional View 1 / 2/ 3 & assign Classification 095 (Full Screen) view to that. Tick Tab Active selection mark.
    Click New Entries to add new tab.
    4. Click Icons and Texts in left side (marked in red color) & Define the name of that tab how it should be displayed in Equipment Master (in your case Attributes).
    5. While Maintaining Equipment Category, view profile which has been created should be assigned. Below is IMG path.
    6. Assign that Profile to your desired Equipment category as shown below.
    7. Create Characteristics in CT04 & Class in CL02. Assign the Characteristics in Class.
    8. Create / Change Equipment & Assign the Class.
    Hope, this is the one you are looking for.

  • How to reference the Parent view Object attribute in Child View object

    Hi , I have the requirememt to generate Tree like struture to display Salary from joining date to retirement date in yearly form.I have writtent two Pl/SQL function to return parent node and child nodes(based on selected year).
    1.First function --> Input paramter (employee id, retirement date , joining date) --> return parent node row with start_date and end_date
    2. 2nd function --> input paarmter(employee id, startDate, end_date) --> return child node based on selected parent node i.e. start date and end date
    I have created two ADF view object based on two function return
    Parent Node --> select * from Table( EUPS.FN_GET_CONTR_SAL_BY_YR(employeeId,retirement Date, dateOf joining)) ;
    Child Node --> select * FROM TABLE( EUPS.FN_GET_CONTR_SAL_FOR_YEAR( employeId,startDate, endDate) ) based on selected parent node.
    I am giving binding variable as input for 2nd function (child node) . I don't know how to reference the binding variable value in child view from parent view.
    Like I have to refernce employeId,startDate, endDate values in 2nd function from parent view object. some thing like parentNode.selectedStart_date parentNode.employeeId.
    I know we can achive this writing the code in backing bean.But i want to know how can we refernce parent view object attribute values in child view object using Groovy or otherway?
    I will appreciate your help.
    Thanks

    I have two view com.ContractualSalaryByYearlyView for Parent Node and com.ContractualSalaryByYearlyView for child Node.
    I have created view link(ContractualSalYearlyByYearViewLink) betweem two view by giving common field empId, stDate , endDate.(below is the view link xml file).
    I tried give the binding attribute values using parent object reference like below in com.ContractualSalaryByYearlyView xml file but getting error
    Variable ContractualSalaryByYearlyView not recognized.I think i am using groovy expression.
    Thanks for quick response.
    com.ContractualSalaryByYearlyView xml
    <ViewObject
    <DesignTime>
    <Attr Name="_isExpertMode" Value="true"/>
    </DesignTime>
    <Variable
    Name="empId"
    Kind="where"
    Type="java.lang.Integer">
    <TransientExpression><![CDATA[adf.object.ContractualSalaryByYearlyView.EmpId]]></TransientExpression>
    </Variable>
    ContractualSalYearlyByYearViewLink.xml file
    <ViewLinkDefEnd
    Name="ContractualSalaryByYearlyView"
    Cardinality="1"
    Owner="com.ContractualSalaryByYearlyView"
    Source="true">
    <DesignTime>
    <Attr Name="_finderName" Value="ContractualSalaryByYearlyView"/>
    <Attr Name="_isUpdateable" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
    <Item
    Value="com.ContractualSalaryByYearlyView.EmpId"/>
    <Item
    Value="com.ContractualSalaryByYearlyView.StDate"/>
    <Item
    Value="com.ContractualSalaryByYearlyView.EndDate"/>
    </AttrArray>
    </ViewLinkDefEnd>
    <ViewLinkDefEnd
    Name="ContractualSalaryForYearView"
    Cardinality="-1"
    Owner="com.ContractualSalaryForYearView">
    <DesignTime>
    <Attr Name="_finderName" Value="ContractualSalaryForYearView"/>
    <Attr Name="_isUpdateable" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
    <Item
    Value="com.ContractualSalaryForYearView.EmpId"/>
    <Item
    Value="com.ContractualSalaryForYearView.StDate"/>
    <Item
    Value="com.ContractualSalaryForYearView.EndDate"/>
    </AttrArray>
    </ViewLinkDefEnd>

  • ADF panel does not prompt for variable defined in ADF view object.

    I have created an ADF Panel, which allows the user to run a few simple queries against an Oracle database done using ADF view objects and ADF view links and ADF application module.
    One of these queries lookup detail information about a given database object (Table, view or whatever) from dba_objects. The SQL uses a parameter (:P_OBJ_NAME) that has a default value of “Departments”. If I run the ADF application module by itself outside of the ADF panel, all works fine, it prompts me to provide a value for the parameter :P_OBJ_NAME.
    As I said the panel contains the different ADF view links including the one that should prompt the user to provide a value for :P_OBJ_NAME. When I run the panel it does not prompt me for :P_OBJ_NAME, it just uses the default defined value “departments”.
    I hope I described my problem for every one to understand. The question obviously is how do I get the ADF panel to prompt the user to provide a value for parameter :P_OBJ_NAME, my expectation was that since the sql in the view object and the application module both are designed to prompt for a value for this parameter then the panel should do just that but it does not.
    You expert input would be most appreciated.
    Thanks.
    Bobby A.
    Edited by: Babak Akbari on Aug 13, 2009 8:34 AM
    Edited by: Babak Akbari on Aug 13, 2009 11:12 AM

    The prompting for a parameter is a feature we built into the ADF Tester - it is not a default behavior you get in your application when you just place a VO on your page.
    To get something like this expend the operations node under the VO in the data control palette, and drag the "Execute with parameters" operation to your page to drop it as a parameter form.
    This will provide your user a place to fill out the parameter and press a button to execute the query.

  • How do I query changed view object attribute in another view object

    Jdeveloper 10.1.3.4
    My requirement is that I want to be able to query a view object (based on entity) on a non-key attribute where the value I am searching on may either be in the database on an existing record or, have just been recorded by updating a different view object based on the same entity (and yet to be committed).
    When querying the second view object for a value just updated via a different view object, the second view object always returns no rows. I had expected the process to be :
    EntityA
    ViewObjectA based on EntityA
    ViewObjectB based on EntityA
    ViewObjectA - query row with key = 123. update attribute Y with value 456 (attribute Y in database null). Entity cache for EntityA, key 123, atttribute Y updated with value 456
    ViewObjectB - query row with attribute = Y. expect record in EntityA cache just updated to be returned. Instead, nothing is returned
    Here is the code I was using (where RandScheduleEdit and RandScheduleSearch are identical view objects based on entity object RandSchedule)
      public static void main(String[] args) {
        String        amDef = "test.cache.model.AppModule";
        String        config = "AppModuleLocal";
        ApplicationModule am = Configuration.createRootApplicationModule(amDef,config);
        ViewObject rsEdit = am.findViewObject("RandScheduleEdit");
        Key rsKey = new Key(new Object[]{40});
        Row[] rsEditRows = rsEdit.findByKey(rsKey,1);
        Row rsEditRow = rsEditRows[0];   
        rsEditRow.setAttribute("SId", new Number(7827));
        ViewObject rsSearch = am.findViewObject("RandScheduleSearch");
        rsSearch.setWhereClause("S_ID = :SId");
        rsSearch.defineNamedWhereClauseParam("SId", null, null);
        rsSearch.setNamedWhereClauseParam("SId",new Number(7827));
        rsSearch.executeQuery();
        Row rsSearchRow = rsSearch.first();
        Configuration.releaseRootApplicationModule(am, true);
      }Why does rsSearch not find the record S_ID = 7827 ? It seems to only be querying new records in the database and ignoring the cached record just updated ?
    Any help greatly appreciated.
    Cheers,
    Brent

    rsSearch.setNamedWhereClauseParam("SId",new Number(7827));This might help:
    rsSearch.setQueryMode(ViewObject.QUERY_MODE_SCAN_ENTITY_ROWS);
    rsSearch.executeQuery();

  • Use view object as table in attribute expression of view object

    Hi. I have a view object for which I need to add some transient attributes associated to a SQL expression which works good. But when I need to define an attribute expression associated to a view object expression, not table, the framework doesn't recognize it. It is, when I want to use an expression like this:
    select attribute from MyViewObject where id=EntityObject.id
    I know I can call EntityObject.id but not use the view object MyViewObject as a table. Is it possible? Is there a way to do something like this? Greetings.

    Hi Timo. The use case consist of having a VO with static values and there is another VO that references as foregin key the previous VO, something like:
    VO1: Statuses of Vendor
    VO2: Vendor detail with attributes including the status
    In af:table component I want to show vendor info showing the status name and not the id of the status. I thought there was something like hibernate in which I could query the VO as a table. Greetings.

  • Transient attribute of a view object is not reset after saving

    I have a jspx page based on view object with transient attribute(This transient attribute has been created in entity object on which view object is based). User enters data in transient attribute,some calculation is done and then data is updated and page navigates back to menu page.
    Now when I reenter page then old data still apears on the page.I want old data to be refreshed on reentering.Kindy help

    Hi,
    you can try the follwing
    In the bindings of your jspx page you can see iterators defined under "executables". set the "*CacheResults*" property of the specific view object iterator that contains the transient attribute to false.(The default value is true).
    Example:
    <iterator Binds="EditWorkflowNodesView1" RangeSize="25"
    DataControl="AdministratorAppModuleDataControl"
    id="EditWorkflowNodesView1Iterator" CacheResults="false"/>
    Regards,
    Priya.

  • For some reason, Firefox is not saving ANY of my history. The back button is working, but I cannot open recently closed tabs, save tabs for previous visits or even view past history - it's just not there. Why won't my computer save history?

    I can navigate backward and forward within one tab, or within one browser session, but as soon as the tab or session closes it's like all record of it is wiped from my computer. I'm not sure if the problem is my computer or firefox, but there doesn't seem to be anything like this mentioned out there and I would really appreciate some help.

    Your useragent says your are running Firefox 3.6.13 -> is that true.
    If not, do the following and post back your new Firefox version:
    * Type about:config in the URL bar and hit Enter
    * If you see the warning, you can confirm that you want to access that page.
    * Filter = general.useragent.
    * Right-click the preferences that are bold, one line at a time, and select Reset.
    * Then restart Firefox

  • How to find which attribute in the view object is dirty

    Hi all,
    I am using Jdev 11.1.2.2
    I am using this code to find if a data control is dirty
    iterator.getDataControl().isTransactionDirty();
    But is there a way to find out which attribute is dirty ?
    Thanks in advance

    Never tried but give this a try.
    1. Invoke ViewAttributeDefImpl[] VO.getViewAttributeDefImpls().
    2. For each ViewAttributeDefImpl, invoke isDirty().
    You may need to expose a VO method to make this accessible in view layer, if this works.

  • How To Use Control Hint Label In columnHeader?

    Using JDeveloper 9.0.3 I created a uiXML-BC4J app.
    I specified control hint Labels for each attribute in a view object whose source is a db table. The uix page browses the table using the view object. How do I get the column header to use the Control Hint Label? I'm currently hard coding column header text:
    <columnHeader>
    <bc4j:sortableHeader text="Product No" />
    </columnHeader>
    I would rather specify the control hint Label. How do I do that?
    Thanks for your time.
    Greg

    By "in the page", I meant just as you're doing it now.
    You could also externalize it to a Java ResourceBundle;
    see the "Internationalization" chapter of the UIX
    developer's guide.

  • Trying to set control hints in entity object attributes in generic classes

    Hi, how are you? I work for a project , that uses JDeveloper 10.1.3.3 version and I am assigned to solve some problems in the part that is associated with ADF Business Components—Model—of the application. The question is how could I implement generic functionality in CustomEntityImpl and there I am to assign some control hint values to some attributes and then the entities that will extend this class will acquire this functionality in their attributes.
    I send you some code I have in my mind in order to find out how to write something relevant to set control hints. I have searched in relevant api’s for AttributeHints and EntityDef but I did not find a solution to my problem. I’ve tried this code:
    AttributeHints ah=new AttributeHints(new AttributeDef(RIBUTE_DISPLAY_HINT_HIDE ) );
    but it does not work. How could I set this value – to hide one attribute whenever it exists in my entities , setting it once in my CustomEntityImpl class?
    I’ve read the whole tutorial ADF Business Components For Forms 4GL Developers but I did not find a solution to my problem. Your help would be a gift to me. Thank you very much!
    private String primary_key = "Id";
    private final String dte_insert = "Dteinsert";
    private final String dte_update = "Dteupdate";
    private final String user_insert = "Usrinsert";
    private final String user_update = "Usrupdate";
    private final String afm = "Afm";
    protected boolean findAttribute(String name) {
    String[] list = this.getAttributeNames();
    for (int i = 0; i < list.length; i++) {                       
    if (name.equals(list))
    return true;
    return false;
    protected void doDML(int operation, TransactionEvent transactionEvent) {
    //Insert Operation
    if (operation == DML_INSERT) {
    //Add history column
    if (findAttribute(dte_insert)) {
    Date date = new Date((new Date()).getCurrentDate());
    this.setAttribute(dte_insert, date);
    //Update Operation
    else if (operation == DML_UPDATE) {
    //Add history column
    if (findAttribute(dte_update)) {
    Date date = new Date((new Date()).getCurrentDate());
    this.setAttribute(dte_update, date);
    //Delete Operation
    else if (operation == DML_DELETE) {
    //To DO
    super.doDML(operation, transactionEvent);

    I Suggest you set its Attribute on EOImpl, override doDML, and before call super.doDML set your Attribute. There is a special reason to set Attribute on beforeCommit?
    Best Regards

  • Settinc control hints values in entity object attributes generically

    Hi, how are you? I work for a project , that uses JDeveloper 10.1.3.3 version and I am assigned to solve some problems in the part that is associated with ADF Business Components—Model—of the application. The question is how could I implement generic functionality in CustomEntityImpl and there I am to assign some control hint values to some attributes and then the entities that will extend this class will acquire this functionality in their attributes.
    I send you some code I have in my mind in order to find out how to write something relevant to set control hints. I have searched in relevant api’s for AttributeHints and EntityDef but I did not find a solution to my problem. I’ve tried this code:
    private final String desc = "Description";
    protected boolean findAttribute(String name) {
    String[] list = this.getAttributeNames();
    for (int i = 0; i < list.length; i++) {                       
    if (name.equals(list))
    return true;
    return false;
    public void beforeCommit(TransactionEvent transactionEvent) {             
    if (findAttribute(desc)){                                                                   
    * AttributeDefImpl adi=null;
    adi.setProperty(AttributeHints.ATTRIBUTE_DISPLAY_HINT_HIDE,"Hide");
    AttributeDef desc=(AttributeDef)adi.getProperty(AttributeHints.ATTRIBUTE_DISPLAY_HINT_HIDE);
    super.beforeCommit(transactionEvent);
    but it does not work. How could I set this value – to hide one attribute whenever it exists in my entities , setting it once in my CustomEntityImpl class?
    I’ve read the whole tutorial ADF Business Components For Forms 4GL Developers but I did not find a solution to my problem. Your help would be a gift to me. Thank you very much!
    * I think that the error is here because this object can not be null. In an api I found the following :
    Advanced users can provide their own implementation of EntityDefImpl (by subclassing EntityDefImpl). Within it, they can create their own AttributeDefImpls by using: new AttributeDefImpl(...);
    How should I subclass EntityDefImpl to create an AttributeDefImpl object?

    Hi
    why don't you create a mehod on the ApplicationModule and call it from the managed bean (using ADF bindings) to pass ths values in ? Note that a managed bean that has a scope of session doesn't mean that it sits in the session to be shared with ADF BC
    Frank

Maybe you are looking for