ADF BC: Polymorphism and relations

Hi,
I'm building an ADF 11g application. In our data model, we have a table that contains four different types of transactions, all with the same attributes (columns). One column contains the transaction type and is the discriminator column. We also have customers, and each customer can have different types of transactions. In the database there is a foreign key relation between customers and transactions.
In the user interface, there is a separate screen for each type of transaction. We added each type of transaction as a separate View Usage in the application module and used View Criteria to show only transactions of one kind. But now we want to have some default values set on the transactions and the default values depend on the type of transaction. Since default values are set on Entity Objects, I thought I'd need Entity polymorphism to accomplish this. There is a section on this topic in the [Fusion Developers Guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadveo.htm#sm0327]. I figure I also need polymorphic view rows, [as described in another section of the dev guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadvvo.htm#sm0515].
But what I can't find anywhere on the internet is how to use polymorphism with Entity Associations and View Links. I don't want to define links for every sub type. I'd think that it should be enough to define the assocation/link on the top level. But I can't find any documentation on this. Another thing is that it seems that there is no way to have an "abstract" Entity or View Object. We have four types of transactions, let's call them A, B, C and D. On the Entity side, I'd like to have an abstract TransactionEO and four concrete Transaction+X+EO's. (Where X is one of the four types.) But it seems ADF BC forces me to use one of the four types as the default type and use that default type as the super class. Am I missing something here?
To summarize, I'd like the following questions to be answered:
<ol><li>How to use polymorphism in conjunction with Entity Associations and/or View Links?</li>
<li>Is it right that I have to use one of my discriminator values as a default and use that default on the super type? (IOW: Is it right that there cannot be an abstract super Entity?)
</li>
<li>I noticed that a search on "polymorphism" on this forum returned zero results. Does that say anything about how much polymorphism is used in real life projects?</li>
</ol>
Thanks in advance for any help!
Best regards,
Bart Kummel

I'm building an ADF 11g application. In our data model, we have a table that contains four different types of transactions, all with the same attributes (columns). One column contains the transaction type and is the discriminator column. We also have customers, and each customer can have different types of transactions. In the database there is a foreign key relation between customers and transactions.If you want all types of customers to be related to all types of transactions, then:
* Create a BaseCustomer EO, defining its CustomerType attribute as descriminator and leaving the default value NULL for that discriminator attribute. It is not important that any row in the CUSTOMER table actually have a NULL value for the discrminator.
* Create a BaseTransaction EO, defining its TransactionType attribute as descriminator and leaving the default value NULL for that discriminator attribute
* Associate them
Then any subtypes of BaseCustomer and any subtypes of Customer inherit this association, and any common code/attributes that are relevant to all customers and all transactions can live in this base class. It's not formally marked as "abstract" in the metadata, but for all intents and purposes it is your abstract EO if there never exists any row in the CUSTOMER table with CustomerType of NULL or any row in the TRANSACTION table with TxnType of NULL.
In the user interface, there is a separate screen for each type of transaction. We added each type of transaction as a separate View Usage in the application module and used View Criteria to show only transactions of one kind. But now we want to have some default values set on the transactions and the default values depend on the type of transaction. Since default values are set on Entity Objects, I thought I'd need Entity polymorphism to accomplish this. There is a section on this topic in the [Fusion Developers Guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadveo.htm#sm0327].
You'll need a view object with polymorphic entity usages, and will need to use the CreateWithParameters built-in operation to supply the discriminator attribute value at row create time so the framework knows what EO subtype you'd like the new view row to have.
I figure I also need polymorphic view rows, [as described in another section of the dev guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadvvo.htm#sm0515].
You would typically need this if either of the following is true:
* Different view row subtypes will be exposing different sets of attributes
* Different view row subtypes will require different sets of exposed client custom methods (or subtype-specific implementations of common view row custom methods inherited from the base)
In that case, you'd viewlink the base VO's together, and the subtype VO's inherit those view links.
But what I can't find anywhere on the internet is how to use polymorphism with Entity Associations and View Links. I don't want to define links for every sub type. I'd think that it should be enough to define the assocation/link on the top level. But I can't find any documentation on this. Another thing is that it seems that there is no way to have an "abstract" Entity or View Object.I mentioned above the closest thing we have to an "abstract" EO or VO. A base component whose discriminator attribute default value never actually occurs in row data (I used NULL above, but it could be any non-occurring value)
We have four types of transactions, let's call them A, B, C and D. On the Entity side, I'd like to have an abstract TransactionEO and four concrete Transaction+X+EO's. (Where X is one of the four types.) But it seems ADF BC forces me to use one of the four types as the default type and use that default type as the super class. Am I missing something here?See my suggestion above.
Let us know if any other questions pop up trying to implement the suggestions above.

Similar Messages

  • What is difference between ADF Task Flow and Faces-Config - when delpoy ?

    What is difference between ADF Task Flow and Faces-Config? When I create navigation between pages with ADF task flow then the navigation don't work when I deploy my application to Weblogic 10.3. When I use default server then navigation works fine. With Faces_config in both situations all works ok - on Stanalone server and default.
    Where is the problem?
    Best regards!

    Shay, I don't use both faces-config and adf task flow! When I failed with task flow I tried faces-config.
    I have active on my weblogic - adf.oracle.domain(1.0,11.1.1.0.0). This is the right ADF? If yes then where is the problem?
    Best regards!

  • TS5376 For about 4 months now I have been getting an Apple I-Tunes update message but when I try to install it, the program stops and refuses to install it saying I need to go to tools and manually install. the support page says:1. Remove iTunes and relat

    Dear Windows support personel,
         As part of my message reads above; I keep getting an i-tunes update message and when I click on the OK to download it, I get an error message saying there was a problem and I need to go to Tools>manual download.  Well, I don't know how to do that even though I gave it my best try. I went to the support sight and it had the following message;
    1. Remove iTunes and related components from the Control Panel
    Use the Control Panel to uninstall iTunes and related software components in the following order. Then, restart your computer:
    iTunes
    Apple Software Update
    Apple Mobile Device Support
    Bonjour
    Apple Application Support (iTunes 9 or later)
    Important: Uninstalling these components in a different order, or  only uninstalling some of these components, may have unintended affects.
    If you encounter an error while uninstalling, try repairing the affected component:
    I don't know if I should do that since I'm not PC savey. Could you help me by doing the work on my pc for me? I'd be most apprieciative if you'd help me in this manner.
    Sincerely,
    Christine Bocker
    <Email Edited by Host>

    Let's first try updating using an installer file downloaded from the Apple Website:
    http://www.apple.com/itunes/download/

  • Is it possible to get the style, font and related info of a paragraph of a in design file and write it on the same in design file  on the  left side

    Is it possible to get the style, font and related info of a paragraph text  of a in design file and write  all the stuff on the same in design file  on the  left side with small fonts 
    as
    Lets  this is a text in in design file    :
    style : abc                      we are going to check the  condition  Agence Wallonne pour la Promotion d'une Agricultur we are going to check the  condition  Agence Wallonne pour la    font 12                                  d'une Agricultu we are going to check the  condition  Agence Wallonne pour la Promotion d'une Agricultu
    style : xyz                      we are going to check the  condition  Agence Wallonne pour la Promotion d'une Agricultur we are going to check the  condition  Agence Wallonne pour la    font 10                                  d'une Agricultu we are going to check the  condition  Agence Wallonne pour la Promotion d'une Agricultu

    Hi Poojith
    Not sure if this would solve your requirment but just in case might be helpful:
    1. We can mix up the HTML and HTMLB components in the JSP Page. However, can access only the HTMLB components in the controller. The following link refers to what customizations are offered by the HTMLB framework:
    [http://www.sapdesignguild.org/resources/htmlb_guidance/]
    2. Another option would be to use AbstractPortalComponents or a simple web app if that's feasible. (where custom UI themes, css and layout are more in control of the developers.)
    Thanks
    Deepak

  • How to show statistics of main item and related items with less filter?

    Hi experts,
    Have any of you come thro' similar requirements before?
    To show the statistics of a main item in different aspect in a document and show the comparison of this item in a particular aspect with other related items as inputted at prompt.
    You can image that, for the comparison, if I build another query for the related items, there will be duplicated dimensions, which we aim to avoid as duplicated dimension confuse end users.
    However, if i build the main items and related items in same query, for those reports of main item only, I need to add a report filter one by one!
    Any one of you have better idea?
    Thanks and Regards,
    Cherry

    You Should use Formatted Search in this case.
    You must create and associate a query for your field.
    click on the field you want items to be listed and press Shift + F2
    catch the keydown event of this field  and check pval.charpressed = 9 (tab key press)
    then execute
    SBO_Application.SendKeys("+")

  • Services in SAP management console and related window services and process

    hai
    can u please any one of you can send me the services in SAP management console and related window services(in adminstrator/services) and process in task manager.
    thanks in advance.
    Naga Laxmi

    Hi Naga,
    Please refer to this article for the processes relevant to the Java Instance:
    http://help.sap.com/saphelp_nw04/helpdata/en/62/1bf03eae11e16be10000000a114084/frameset.htm
    Except the processes of the Java instance you can find several processes of the IGS server and the ABAP disp+work processes.
    You can easily find the relevant services by their SAP prefix.
    Hope this helps.
    Best Regards
    Vyara

  • My downloads of iTunes and related software onto my Windows PC fails every time with error message that the software does not have valid signature.  How to get around this problem?

    I have trouble downloading iTunes software and related software like the new ios8 on both my desktop--Windows 7, and my laptop--Windows Vista, because I keep getting error messages saying the software has been deleted because invalid signature.   I have tried download and install and I have tried just download, but neither method works.   So I am stuck with the older software and my new iPad 2 Air isn't connecting because I need ios8 apparently.
    I have an iPhone 5 and a new iPad 2 Air.
    How to get around the Windows problem, please?
    Thank you!

    bump

  • A simple question about Drag and Relate navigation

    Dear experts
    I have found SAP help or related manuals only good at talking difficult things such as how to customise the drag and relate targets, etc.  However, after I followed exactly and then how to test.
    Then I just see pieces of information, very unstructured.  Spending me a whole day, even I can't get a good simple example on how to really perform a drag and relate at least for the proof of concept at EP 6.0.   It spent a lot of time in describing what the navgiation panels about, what drag and relate targets.  Then how to do it in once transversal.  That is, with all customisation, how to drag and relate an object.
    My step is with iview A, shows a purchase order details showing a drag and relate enabled object like vendor no.
    Then I try to drag this vendor no. to a display vendor iview, iview B.
    I have known I have to put iview A and iview B to a Drag-and-relate targets.  I am sure I have done this.  Does it mean opening the portal, I will see both iview A and iview B appearing at the same time in the drag-and-relate target area?  However, in my case, it is not, iview A only appears in that area when I load it once, same to view B.  When I load iview B, iview A links from D&R target will be wiped off.  Then how I can drag an item from iview A to B while each one of them can only appear at any time.
    Can anyone give me a simple guide (don't give me an internet link from help.com) I have been tired of this.
    First, I would to make sure if my so called self-learnt drag-and-relate simple action is correct in the steps or really I have made something wrong in the customisation or even a bug there.
    Can anyone on the planet have this experience, pls. act as my teacher in this area?
    Rgds
    Stephen

    Thanks
    I have tried the 1st way already.  But I can see both iviews existing in the D & R targets.  Now I try to drag an item with business object BUS2002 from iview A to relate to LFA1 of iview B of the same back end system.
    But iview B shown up with that data of LFA1 shown up (in my case the vendor no.)
    I have used autocomplete relationship and I have checked it has been well-defined already.  Also check from metadata at backend they are both active.
    Do you have any clues to the pitfall in my case?
    Rgds

  • Report to List Incoming Payments and related Invoices

    Hi Experts,
    I would like a query which lists Incoming Payments and also the related Invoices which were paid.
    Is there a table which links together the ORCT and OINV tables?
    Thanks
    Greig

    Hi Greig,
    Link to ORCT - OINV( SELECT * FROM ORCT T0  INNER JOIN OINV T1 ON T0.DocEntry = T1.ReceiptNum )
    Link to ORCT -RCT1 - OINV( SELECT * FROM ORCT T0  INNER JOIN RCT1 T1 ON T0.DocNum = T1.DocNum
    NNER JOIN OINV T2 ON T0.DocEntry = T2.ReceiptNum)
    Try this,
    Lists of Incoming Payments and related Invoices.
    SELECT T0.DocNum,
    COUNT(T0.DocEntry) 'No of Invoice'
    FROM RCT2 T0
    INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry
    GROUP BY T0.DocNum
    Regards,
    Madhan.
    Edited by: Madhan Babu C on Aug 28, 2009 9:23 AM

  • How to import custom report to drag and relate menu ?

    Hi Professionals .
    Kindly advice me how to add or import custom report at drag & relate menu
    Any help please ?

    Hi Mohamed,
    Please check below link.
    What is Drag and Relate in SAP Business One - YouTube
    https://help.sap.com/saphelp_sbo882/helpdata/en/45/100314cf465d7ae10000000a11466f/content.htm
    https://help.sap.com/saphelp_sbo882/helpdata/en/45/10ff71cf465d7be10000000a11466f/content.htm
    SAP - SAP Business One: Your Solution for Generating Custom Reports
    Hope this helps
    Regards::::
    Atul Chakraborty

  • Why ADF Business Components and TopLink

    Hi All,
    Why are there two types of components in Businses Tier? (ADF Business Components and TopLink). Even through there are other types, I can visualize the use of other components but ADF Business Components & TopLink seems to serve the same requirement.
    Can some one provide me information on what is the difference between these two and when to use which one?

    ADF Business Components (aka BC4J) are different from Toplink from approach point of view. Basically if you are more comfortable with SQL and want fine grain control over what and how SQL are run against the database, BC4J is the way to go, because, it's you who write the queries(in ViewObjects)
    If you are from more of java backgroup and can visualize things in term of Object and relationships among objects, so on and so forth then Toplink would be the right choice.
    Pls see the post by Shay in his blog:
    http://blogs.oracle.com/shay/2006/03/10
    regards - rutwik

  • ADF BC: createInsert and partial trigger

    I notice when i add a createInsert operation to my page and then the corresponding table, JDev will add a partialTrigger to the button.
    I don't see why.
    When i press the createInsert, the table should have the partialTrigger, not the createInsert button because the table should be refreshed in order to show the new row. But when i add the partialTrigger to the table, than it like an infinite loop. Table refreshes button, button refreshed table,...
    It's resolved by removing the partialTrigger from the button but i am wondering why jdev does it?
    I think it has something to do with the disabled state of the button but that does not make sense. THe same for the commit button. If you want everything to work with partialTriggers, then you have lots of buttons/tables linking to each other causing loops or does ADF notices that and takes care of it?

    Hi,
    I reproduce your case and I do not see any loop,
    about your question that why the createInsert need the partialtrigger :
    1-first of all it is because of the the disabled attribute which depends on the table
    2- Second, the table row selection is automatically partial, I mean when you click on the row partially the selected row is determind as it is done partially there is not any way
    for depended components on the table to notify about the state of the tree(changes of row or anything) so the depended component such as CreateInsert need to set the partial trigger.
    3-why the table does not need the partialtrigger at the time of drag and drop, the answer is easy because the default button that you drop on the page is not partialSubmit, so why any other depended component like Table, must have the partialtrigger?? it is only needed when the button is partialSubmit,
    I hope my answer is clear enough.
    to conclude, there is not any mistake or bug from Oracle for sure.

  • An anyone help me to find the difference and relation between the following

    Hi,
    can anyone help me to find the difference and relation between the following methods of Swing :
    a) validate()
    b) invalidate()
    c) revalidate()
    d) repaint()

    You'd be far ahead by opening up the API and Java turorial and your course book and learning for yourself, rather than, asking other to do your homework for you.
    But if you have andwers already to go, then post them and ask if you have drawn appropriate conclusions.

  • Engineer between Logical Model and Relational Model

    I am trying to update changes from one model to the other but there are dublicate entries generated instead of updates.
    The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionary.
    Our rule is, that the name of Entities/Tables and Attribute/Columns are identical.
    So I changed the Naming Standard of the Logical Model in Preferences
    from Separator = Space to Separator = Character with char = Underline.
    If the entity is not existing, it is created with the correct name.
    If the entity exists, a new entity is created with Namev1.
    The same happens when I try to update changes in the other direction.
    How can I achieve that the existing entity (or table) is updated and not a new one is created?
    Or in other words, is there a way to link entities to corresponding tables?
    Walter

    Hi Walter,
    The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionaryit's good to import entities and related tables from Designer repository together. Data Modeler will import the link between them and use that link in synchronization between logical and relational model. After that you can import details for physical model from database.
    If you don't have tables in Designer repository and keep the same names for entities, attributes, tables and columns then you can engineer logical model to relational and import details from database.
    Philip

  • DM3.0 EA2: Filter engineering changes between logical and relational model

    Hi,
    when I am engineering changes between logial and relational model there are some issues at filter handling for me:
    - When the filter "Show Modified Objects" is activated, the filter works only on the first level, e.g. on Entity level. On attribute level all attributes are displayed, not only the attributes which have really been modified. It is possible, to show on every level only the really modified objects?
    - I think, selecting a Filter condition is circuitous. All filter conditions except "Show All Objects" keeps activated when I choose another condition. So I have to deactivate "Show Deleted Objects" when I want to see only the modified objects. It is possible to choose another control element for filtering, e.g. disjunctive radio buttons?
    I am running Data Modeler on Windows XP with german localization and the JDK 1.6.0_11 from Oracle SQL Developer.

    I logged bug for that.
    Philip

Maybe you are looking for