Locking Bol entity in Simple object

Hi,
I have created a Simple Object with a structure and have assigned the BOL entity to my custom view. Now if I want to lock the structure in event handing method, the locking fails. how can I lock the custom structure?
Thanks,
Nandini

Dear Chicon,
I made thread to sleep for checking the "Object Locking" functionality of OpenJPAEntityManager. My intention was to block the second thread when the first thread being locked when a concurrent access occurs. But it doesn't happened and code execution passed to thread sleep.
I mean when 2 client access the same entity at same time (in same milliseconds) , and what happens to 2nd thread when 1st thread locks the entity object.
I guarantee you that i started the 2nd thread before the 4sec time stamp given to the object locking. I tested it with a bigger timestamp, still it given concurrent blocking of the same entity bean.
My question is why the object locking is not working with concurrent access to same entity bean from more than one thread???
I think you get the correct question what i intended ????
Regards,
Raj...

Similar Messages

  • Object locking of entity bean in a SSBean[Environment: WebLogic 10.0, EJB3.0, Kodo/OpenJPA]

    Hello friends,
    I am facing bottle neck with Object Locking for an Entity bean using OpenJPA Persistence Manager under Weblogic 10.0 application server deployments.
    I want to block [ for the specific method ] entity bean being accessed from other client programs when they invoke common method in a Stateless Session EJB. Particularly, Consider the situation:
    Client1: Modifying Customer entity with id: 100. Then I locked that entity using OpenJPA Entity Manager within the transaction block. And i entered that thread to sleep before committing the transaction.
    At this time, started new thread, Client2: Modifying the same Customer entity with id:100. I expected this thread will be get blocked when control pass to the lock() method. But it doesn't happened. It goes through the line of codes and also put into sleep.
    After thread sleep timeout, first thread Client1 commit successfully. But the second gets Rollback Exception due to optimistic lock exception occurring since customer entity is modified in another transaction.
    This exception is occurred because of Database level concurrency control for optimistic locking in a weblogic server. Its default to weblogic.
    But, what i expected is to assert lock at the object level, thereby the 2nd thread - Client2 will be blocked while Client1 is in the middle of a transaction and then Client2 use modified Customer entity . But it doesn't happened. I used Kodo Persistance Provider as Persistence Unit, OpenJPAEntityManager to do transaction, locking , finding and merging the entity bean.
    Can anyone provide help to fine grain this object locking functionality ??? I look forward to your brilliant thoughts......
    Rajesh KR
    Geojit Technologies

    Dear Chicon,
    I made thread to sleep for checking the "Object Locking" functionality of OpenJPAEntityManager. My intention was to block the second thread when the first thread being locked when a concurrent access occurs. But it doesn't happened and code execution passed to thread sleep.
    I mean when 2 client access the same entity at same time (in same milliseconds) , and what happens to 2nd thread when 1st thread locks the entity object.
    I guarantee you that i started the 2nd thread before the 4sec time stamp given to the object locking. I tested it with a bigger timestamp, still it given concurrent blocking of the same entity bean.
    My question is why the object locking is not working with concurrent access to same entity bean from more than one thread???
    I think you get the correct question what i intended ????
    Regards,
    Raj...

  • Issues in persisting dynamic entity and view objects using MDS

    Hi All,
    I'm trying to create dynamic entity and view objects per user session and to persist these objects throughout the session, I'm trying to use MDS configurations(either file or Database) in adf-config.xml.
    I'm facing following two errors while trying to run the app module:
    1. MDS error (MetadataNotFoundException): MDS-00013: no metadata found for metadata object "/model/DynamicEntityGenModuleOperations.xml"
    2. oracle.mds.exception.ReadOnlyStoreException: MDS-01273: The operation on the resource /sessiondef/dynamic/DynamicDeptEntityDef.xml failed because source metadata store mapped to the namespace / DEFAULT is read only.
    I've gone through the following links which talks about the cause of the issue, but still can't figure out the issue in the code or the config file. Please help if, someone has faced a similar issue.
    [http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG |http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG ]
    [http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm|http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm]
    Attached is the code for dynamic entity/view object generation and corresponding adf-config.xml used.
    ///////////App Module Implementation Class/////////////////////////
    public class DynamicEntityGenModuleImpl extends ApplicationModuleImpl implements DynamicEntityGenModule {
    private static final String DYNAMIC_DETP_VO_INSTANCE = "DynamicDeptVO";
    * This is the default constructor (do not remove).
    public DynamicEntityGenModuleImpl() {
    public ViewObjectImpl getDepartmentsView1() {
    return (ViewObjectImpl) findViewObject("DynamicDeptVO");
    public void buildDynamicDeptComp() {
    ViewObject internalDynamicVO = findViewObject(DYNAMIC_DETP_VO_INSTANCE);
    if (internalDynamicVO != null) {
    System.out.println("OK VO exists, return Defn- " + internalDynamicVO.getDefFullName());
    return;
    EntityDefImpl deptEntDef = buildDeptEntitySessionDef();
    ViewDefImpl viewDef = buildDeptViewSessionDef(deptEntDef);
    addViewToPdefApplicationModule(viewDef);
    private EntityDefImpl buildDeptEntitySessionDef() {
    try {
    EntityDefImpl entDef = new EntityDefImpl(oracle.jbo.server.EntityDefImpl.DEF_SCOPE_SESSION, "DynamicDeptEntityDef");
    entDef.setFullName(entDef.getBasePackage() + ".dynamic." + entDef.getName());
    entDef.setName(entDef.getName());
    System.out.println("Application Module Path name: " + getDefFullName());
    System.out.println("EntDef :" + entDef.getFileName() + " : " + entDef.getBasePackage() + ".dynamic." + entDef.getName());
    entDef.setAliasName(entDef.getName());
    entDef.setSource("DEPT");
    entDef.setSourceType("table");
    entDef.addAttribute("ID", "ID", Integer.class, true, false, true);
    entDef.addAttribute("Name", "NAME", String.class, false, false, true);
    entDef.addAttribute("Location", "LOCATION", Integer.class, false, false, true);
    entDef.resolveDefObject();
    entDef.registerSessionDefObject();
    entDef.writeXMLContents();
    entDef.saveXMLContents();
    return entDef;
    } catch (Exception ex) {
    System.out.println(ex.getLocalizedMessage());
    return null;
    private ViewDefImpl buildDeptViewSessionDef(EntityDefImpl entityDef) {
    try {
    ViewDefImpl viewDef = new oracle.jbo.server.ViewDefImpl(oracle.jbo.server.ViewDefImpl.DEF_SCOPE_SESSION, "DynamicDeptViewDef");
    viewDef.setFullName(viewDef.getBasePackage() + ".dynamic." + viewDef.getName());
    System.out.println("ViewDef :" + viewDef.getFileName());
    viewDef.setUseGlueCode(false);
    viewDef.setIterMode(RowIterator.ITER_MODE_LAST_PAGE_FULL);
    viewDef.setBindingStyle(SQLBuilder.BINDING_STYLE_ORACLE_NAME);
    viewDef.setSelectClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
    viewDef.setFromClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
    viewDef.addEntityUsage("DynamicDeptUsage", entityDef.getFullName(), false, false);
    viewDef.addAllEntityAttributes("DynamicDeptUsage");
    viewDef.resolveDefObject();
    viewDef.registerSessionDefObject();
    viewDef.writeXMLContents();
    viewDef.saveXMLContents();
    return viewDef;
    } catch (Exception ex) {
    System.out.println(ex.getLocalizedMessage());
    return null;
    private void addViewToPdefApplicationModule(ViewDefImpl viewDef) {
    oracle.jbo.server.PDefApplicationModule pDefAM = oracle.jbo.server.PDefApplicationModule.findDefObject(getDefFullName());
    if (pDefAM == null) {
    pDefAM = new oracle.jbo.server.PDefApplicationModule();
    pDefAM.setFullName(getDefFullName());
    pDefAM.setEditable(true);
    pDefAM.createViewObject(DYNAMIC_DETP_VO_INSTANCE, viewDef.getFullName());
    pDefAM.applyPersonalization(this);
    pDefAM.writeXMLContents();
    pDefAM.saveXMLContents();
    ////////adf-config.xml//////////////////////
    <?xml version="1.0" encoding="windows-1252" ?>
    <adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:config="http://xmlns.oracle.com/bc4j/configuration" xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
    xmlns:sec="http://xmlns.oracle.com/adf/security/config">
    <adf-adfm-config xmlns="http://xmlns.oracle.com/adfm/config">
    <defaults useBindVarsForViewCriteriaLiterals="true"/>
    <startup>
    <amconfig-overrides>
    <config:Database jbo.locking.mode="optimistic"/>
    </amconfig-overrides>
    </startup>
    </adf-adfm-config>
    <adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
    <adf-property name="adfAppUID" value="TestDynamicEC-8827"/>
    </adf:adf-properties-child>
    <sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
    <CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore" credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
    </sec:adf-security-child>
    <persistence-config>
    <metadata-namespaces>
    <namespace metadata-store-usage="mdsRepos" path="/sessiondef/"/>
    <namespace path="/model/" metadata-store-usage="mdsRepos"/>
    </metadata-namespaces>
    <metadata-store-usages>
    <metadata-store-usage default-cust-store="true" deploy-target="true" id="mdsRepos">
    <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
    <property name="metadata-path" value="/tmp"/>
    <!-- <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
    <property name="jndi-datasource" value="jdbc/TestDynamicEC"/>
    <property name="repository-name" value="TestDynamicEC"/>
    <property name="jdbc-userid" value="adfmay28"/>
    <property name="jdbc-password" value="adfmay28"/>
    <property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:XE"/>-->
    </metadata-store>
    </metadata-store-usage>
    </metadata-store-usages>
    </persistence-config>
    </adf-config>
    //////////////////////////////////////////////////////////////////////////////////////////////////////////

    Hi Frank,
    I m trying to save entity and view object xml by calling writeXMLContents() and saveXMLContents() so that these objects can be retrieved using the xmls later on.
    These methods internally use MDS configuration in adf-config.xml, which is creating the issue.
    Please share your thoughts on resolving this or if, there is any other way of creating dynamic entity/view objects for db tables created at runtime.
    Nik

  • ZBOL entry is not coming in BOL Entity

    Hi All,
    I have created 1 Z Component in SPRO-> Customer Relationship Management-> CRM Cross-Application Components-> Generic Interaction Layer/Object Layer-> Basic Settings. In the Object table and Model table i have created the entries for the Z BOL. I redefined the methods of the implementation class and tested the Component in genil_bol_browser, it is working fine.
    Now i have to link it to Web UI, so i am creating a new view in BSP Component, while creating new view, in Add Model Node step, in BOL Entity my Z BOL entry is not coming.
    How it will come over there in the BOL Entity list ?
    Thanks & Regards
    Raman.

    HI, ramana,
    see this link it will help to you.
    [http://wiki.sdn.sap.com/wiki/display/CRM/CreateaZBOLObjectPart1|http://wiki.sdn.sap.com/wiki/display/CRM/CreateaZBOLObjectPart1]
    Regards,
    sam.

  • Method which fills bol entity?

    hi Experts,
                    I have created many interaction record which are linked to1 service ticket.I fetch the guid values of these interaction records,now i want to set a field in the interacton record for all tehse guids.Is there any method available which will take the guid and give me its entire record (ie all fields) in some BOL entity or  any other way with which i can set the filed value of the IR's when i have only their guids available.
    Answers will be rewarded.

    Hi,
        Interation record BOL node is part of BT BOL model and it only has a result object
    BTQResCuHist
    The attribute structure of BTQResCuHist is
    CRMST_QRESCUSTHIST_BTIL
    . You can call
    get_attributes
    method in
    modify_objects or maintain_attributes
    method for your objective to get details of each IR as follows -
      CALL METHOD ir_object->get_attributes
        IMPORTING
          es_attributes = ls_changed_attr.
    where ls_changed_attr is of type CRMST_QRESCUSTHIST_BTIL.
    Similarly,
    You can call set_attributes method to set the required value as follows -
            CALL METHOD ir_object->set_attributes
              EXPORTING
                is_attributes = ls_new_attr.
    I hope this will solve your issue. Reward if helpful!
    Thanks,
    Sudipta.

  • Enquiry in BOL entity

    Hi all,
    I need to create a new BOL entity in CRM 2007?? How will I implement this??
    Its urgent.Plz help.
    Regards,
    Nithu

    Hi Rajesh,
    go to SPRO>CRM>CRM Cross-component Application -->Generic Intraction Layer
    Bellow this tab different options are available .Please read the provided help to create new BOL Entity and assign this BOL Entity to related Component.
    Follow bellow thread for refrence
    How to Create New BOL Object
    Regards
    Gaurav

  • Error while Insert new Row in Entity Base View Object

    Hi,
    can someone tell me the reason of following problem? :
    There is a Entity Base View object, which is Binded as ADF Table in a JSFX Page.
    I took the standard operations from the Control Panel: CreateInsert, Commit and Rollback.
    Places them a ADF Buttons.
    Whenever i am trying to insert a Row, after commit i am getting the ORA Error: ORA-01410: invalid ROWID.
    By the way: The Entity Object is using the RowID as Primary Key.
    When i press commit a second time, the the Row is inserted in the Database.
    Any Idea, how to workarround this ORA Error?
    Thank You!

    n by default if you had no pkconstrainst in db,
    in jdev default rowid as prim key.
    as john said make the key as proper.
    and do it.
    if you have db constrainst in db.
    it can be achived by dbconstrainstname with ora.
    what am saying dbconstranist name will map it ora.
    http://download.oracle.com/docs/cd/E21764_01/web.1111/b31974/bcadvgen.htm#BABEFGCI

  • Time  to serialize 10,000 simple objects to a disk file usi

    I heard the default serialization routine is slow. So how slow. Let's say I have 10,000 simple objects. How long does it take to serialize them to a disk file using standard Java serialization?
    Can anybody give some idea?
    Thanks a lot !

    The following is my program to test :
    import java.io.*;
    import java.util.*;
    public class Serialization implements Serializable {
    public static void main(String[] args) {
         long startTimeInMill = 0 ;
         long endTimeInMill = 0;
              try {
              startTimeInMill = new GregorianCalendar().getTimeInMillis();
                   System.out.println("start Mill is " + startTimeInMill);
                   FileOutputStream out = new FileOutputStream("theTime");
                   ObjectOutputStream s = new ObjectOutputStream(out);
                   for (int i = 1; i < 100000; i++) {
                        s.writeObject("Today");
                        Date outputDate = new Date();
                        s.writeObject(outputDate);
                        s.flush();
              } catch (FileNotFoundException e) {
              } catch (IOException e) {
         endTimeInMill = new GregorianCalendar().getTimeInMillis();
         System.out.println("Endtimeinmill is : " + endTimeInMill);
         System.out.println("It takes " + (endTimeInMill - startTimeInMill) + " milliseconds to serialize 10,000 Date objects");
    And the following is the result:
    start Mill is 1083635995578
    Endtimeinmill is : 1083635997937
    It takes 2359 milliseconds to serialize 10,000 Date objects
    Specs of my hardware: Win2k, CPU 1.8G, DDR RAM: 756 MB

  • Explicit locking of Entity JavaBean

    Hi!
    I am developing local WD application based on EJB model using SAP NetWeaver Developer Studio 7.0.12
    There's Employee entity javabean, that is shown as a table on EmployeeView webdynpro view (model node, bound to controller).
    There's also EmployeeEdit webdynpro view, where Employee entity javabean is shown as set of InputFields (same model node, bound to controller).
    When user clicks Save button in EmployeeEdit view, changed values are saved.
    The problem arises when two users want to change the same record of Employee entity. Both can go to EmployeeEdit view, change values of record and click Save button, because actual transaction for saving is implemented only when users click Save button.
    The workaround for this would be explicit locking of entity record when first user goes to EmployeeEdit view, if it's not already locked. But I couldn't find enough information about this.
    [EJBLocking interface|http://help.sap.com/javadocs/nw04/current/en/com/sap/engine/interfaces/ejb/locking/EJBLocking.html] might be what I need, but I don't know how to use it.
    Can anyone give me an idea about all this?
    Thanks in advance
    Renat

    Hi, Ganga!
    Thank You for reply,
    I've already chosen "Local" locking for my entity bean and trying to realize explicit locking for my entity.
    I can't understand, what parameters do I need to pass to lock method.
    Here is code of entity home method, which is called to lock this entity.
         public void ejbHomeLockMe() {
              EJBLocking ejbl = null;
              Context ctx = null;
              try {
                   ctx = new InitialContext();
                   ejbl = (EJBLocking) ctx.lookup("java:comp/EJBLocking");
              } catch (NamingException ne) {
                   ne.printStackTrace();
                   throw new OklaException(ne.getMessage());
              try {
                   DataSource ds = (DataSource) ctx.lookup("jdbc/OKLA_DS");
                   ejbl.lock( //here I get NullPointerException
                        TableLocking.LIFETIME_TRANSACTION,
                        ds.getConnection(),
                        (EntityBean) this,
                        TableLocking.MODE_EXCLUSIVE_NONCUMULATIVE);
              } catch (SQLException sqle) {
                   sqle.printStackTrace();
                   throw new OklaException(sqle.getMessage());
              } catch (NamingException ne) {
                   ne.printStackTrace();
                   throw new OklaException(ne.getMessage());
    As a result I get this exception
       java.lang.NullPointerException
        at com.sap.engine.services.ejb.entity.pm.lock.EJBLockingImpl.getPKMap(EJBLockingImpl.java:108)
        at com.sap.engine.services.ejb.entity.pm.lock.EJBLockingImpl.lock(EJBLockingImpl.java:48)
        at my.company.okla.employee.EmployeeBean.ejbHomeLockMe(EmployeeBean.java:92)
    Any thoughts about this?
    Many thanks
    Renat

  • What is the difference between acquiring lock on a CLASS and OBJECT (instance) of that class

    What is the difference between acquiring lock on a CLASS and OBJECT (instance) of that class

    What is the difference between acquiring lock on a CLASS and OBJECT (instance) of that class
    The Java Tutotials has several trails that discuss both implicit and explicit locking, how they work and has code examples.
    The Concurrency trail has the links to the other sections you need to review
    http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html
    The Synchronized Methods and Intrinsic Locks and Synchronization trails discusse Synchronized Methods and Statements
    http://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html
    And the Lock Objects trail begins the coverage of explicit locking techniques.
    http://docs.oracle.com/javase/tutorial/essential/concurrency/newlocks.html

  • I want to set deadlock priority of a stored proc to low so that when ever any one call it from entity or command object it should use same priority

    Hi,
       I want to set deadlock priority of a stored proc to low so that when ever any one calls it from entity or command object it should use same priority.
    some body sugested to put 
    set deadlockprioirty low 
    go
    exec yourSP()
    but in this case i have to change my bussiness layer.
    is there any other way from database which do the task?
    yours sincerley.

    You can modify your stored procedures and add the code line
    set deadlock_priority low
    at the very beginning of the SP.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • Cannot Lock Base Entity

    Hi,
    We are having an issues with one of the base entity locking it. When we try to Lock the entity, it doesn't do anything. It just says "Requesting Data from Server" and then disappears.
    The ENtity is consolidated. No Phase Submission enabled and no Out of Balance. Still not able to LOCK. Version is 11.1.1.3
    Any thoughts?
    Thanks,
    P

    Hi there,
    It seems like an application issue.
    Do you have the same issue with other entities? In other years? Can you Lock the entity on another application?
    Regards,
    Thanos

  • Extending the Search Object of a BOL Entity  with custom fields

    Hi All,
    I have to enhance the structure of the BOL search object 'BuilHeaderSearch' with custom fields!.
    i went to the transaction genil_bol_browser and find out the structure of the object as, 'CRMST_HEADER_SEARCH_BUIL'
    how can i insert custom fields into this structure, so that i can display these custom fields at the Front end ( Web IC ).
    Thanks in advance,
    sudeep v d.

    Hi Sudeep!
    First of all it should be mentioned that: it is NOT possible to change list of <b>SEARCH</b> criteria in IC!
    So, in other words, you can search BP ONLY by params listed in native structure 'CRMST_HEADER_SEARCH_BUIL'.
    BUT: You can <b>FILTER</b> search results!
    For example: you get the list of BP with MC_NAME1 (lastname) search criteria (only by SAP class!)and THEN you can filter (delete from list) by YOUR criteria (in your class!).
    Is it clear?
    So how to add your own criteria?
    1. Transaction GENIL_MODEL_BROWSER - Model Browser forGen.IL Applications
    2. Component Set - ALL
    3. Search Objects -> BuilHeaderSearch -> Attribute Structure ->CRMST_HEADER_SEARCH_BUIL (Dbl Click)
    4. Append Structure (or F5)
    5. Name the new sub-structure and provide all new fields
    So now you can use this new fields in IC Z-classes.
    I had the same task and nobody in SDN could help - so I had bought new SAP_book: <a href="http://www.sappress.com/product.cfm?account=&product=H1909">mySAP CRM Interaction Center</a> because in Contents there were:
    <b>"Extending the Business Partner Search in IC WebClient by New Search Fields"</b>.
    So in fact it is not truth: it is not possible to <i>extend search</i>. You can only filter results!
    <b>BUT</b>!
    It is not the end of my post! I hope that SAP people will see this post. I found a BUG in SAP classes and methods: it is not possible to navigate to first position in collection wraper!
    exactly:
    lr_current ?= entity_col->if_bol_bo_col~get_first( ).
    doesn't work.
    So position of cursor puts on second record in structure!
    In other words it is not possible to filter the first record in search result! And so new search is not efficient
    I think that is is bug and wait for comments of SAP.
    <b>Reward points if it helps.</b>
    Regards,
    Alexander

  • BP relationship and BOL entity

    Hi,
      I have a doubt on the BP relationship. I created an account in tcode BP, and i have relationship such as <b>"primary CP"</b> for this account.
      For example: account 123 has 2 relationships => a contact person and Primary CP.
      Now, in SAPGUI, i add <phone number> for this primary CP. I wonder where does this <phone number> store?
      As in debugging mode, I navigate to "BuilContactPersonAddressRel", but the field for <phone number> - "TEL1_NUMBR" is blank.
      So, I manually navigate the GENIL_BOL_BROWSER > BuilHeaderSearch, Find Partner as "123" (account BP) > navigate to children "BuilContactPersonRel" > choose my primary CP > navigate to children "BuilContactPersonAddressRel", but there is no entity for this.
      I wonder why I can navigate to "BuilContactPersonAddressRel" while debugging, but in Bol, there is not such "BuilContactPersonAddressRel" exist.
      And where does the <phone number> store to?
      Could this be my relationship problem?
      Kindly advise.
    regards,
    Ginnie

    Hi ginnie,
    The following are the relationship tables
    BUT000 : BP: General data - Contains Business Partner Number, Partner Category, Partner Type, First Name, Last Name etc.
    BUT020 BP: Addresses
    BUT050 BP relationships/role definitions: General data - Contains Relationship, Partner Number (PARTNER1), Relationship Category
    BUT051 BP Relationship: Contact Person Relationship Similar to
    BUT050 additionally contains Contact Person's Address data
    BUT0BK Business Partner: Bank Data & Details BP Number, Bank Key, Bank Country Key, Bank Account Number
    BNKA Bank Master Data
    BUT100 BP: Roles
    ADR2 Telephone Numbers (Business Address Services)
    ADR6 SMTP Numbers (Business Address Services) - Contains Email – Id of the BP.
    ADRC Addresses (Business Address Services) - BP's Complete Address Details- City, Country, Post Code, District,
    Street, Title No Etc
    TSAD3T Table containing the Title text against a Title No.
    COMM_PRODUCT Master Table for Product
    CRMM_BUAG Master table for Business Agreement
    CRMM_BUAG_H Header Data for Business Agreement such as Tax Category, Tax Characteristic, Form key, Business Agreement Class. Data in this table correspond to ISU
    CRMD_OPPORT_H OPPORTUNITY HEADER DATA
    CRMD_ORDERADM_H Contains the Header Information for a Business Transaction.
    Note:
    CRMD_OPPORT_H OPPORTUNITY HEADER DATA
    CRMD_CUSTOMER_H Additional Site Details at the Header Level of a Business Transaction
    CRMC_PROC_TYPE Master table Business Transaction Type
    CRMC_PARTNER_FCT Definition of Partner Functions
    SCPRIOT Priorities for Activities with priority text.
    CRMC_PROC_TYPE_T Text for a transaction type
    CRMC_ACT_OBJ_T Objective Number and Text for Activities
    TJ30T All the status code and text
    CRMC_PR_ASSIGN : Transaction Type and its Transaction Type Object.
    IBIB : Installed Base/Ibase
    IBIN : Installed Base Components
    Please reward if this helps.
    regards,
    Muralidhar Prasad.C

  • Newbie question about entity and view objects

    Hi everyone,
    My first ADF application in JDeveloper is off to a difficult start. Having come from a forms background, I know that it is necessary avoid using post-query type lookups in order to have full filtering using F11/Ctrl+F11. This means creating an CRUDable view and getting as much of the lookup data as possible into the view without losing the ability to modify the data. In JDeveloper, I do not know how to build my data model to support that. My thought was to start with a robust updateable view as my main CRUD EO and then create a VO on top of that with additional EOs or VOs. But, I have found that I cannot add VOs to another VO. However, if I link the VOs then I have a master-detail which will not work for me.
    For example, I have two joins to CSI_INST_EXTEND_ATTRIB_V shown in the queries below and need to have that show in the table displaying the CRUD VO’s data. It seemed that the best way to do this is to create a CSI_INST_EXTEND_ATTRIB_V entity object and view object. The view object would have two parameters, P_INSTANCE_ID and P_ATTRIBUTE name. Both the building and the unit are needed on the same record, and this is not a master-detail even though it might look that way. (A master-detail data control will not work for me because I need all this data to appear on the same line in the table.) So, I need help figuring out the best way to link these to the main (CRUD) view; I want as much of this data as possible to be filterable.
    select
    cieav.attribute_value
    from
    csi_inst_extend_attrib_v cieav
    where cieav.instance_id = p_instance_id
    and cieav.attribute_code = 'BUILDING NAME'
    select
    cieav.attribute_value
    from
    csi_inst_extend_attrib_v cieav
    where cieav.instance_id = p_instance_id
    and cieav.attribute_code = 'UNIT NAME'
    Ultimately, I need to display a ton of data in each record displayed in the UI table, so a ton of joins will be needed. And, I need to be able to add records using the UI table also.
    James

    Hi Alejandro,
    Sorry if I caused confusion with my first post. What I had in mind assumed that I could have a single CSI_INST_EXTEND_ATTRIB_V EO with a BuildingVO and UnitVO on top of it. So, I wrote the queries individually to show how I would invoke each view. When I realized that confused the issue, I rewrote the query to explain things better.
    Now having seen your 2 queries. You need to create 2 EO. One for each table. Then create an association between the 2 aeO (this will be the join you are talking about). Then, you need to create a VO based on one of the EO and after you can modify and add the second EO (in here you select the join type).
    After your done with this, youll have 1 VO that supports CRUD in both tables.
    There were three tables in the query: CIEAV_BUILDING, CIEAV_UNIT, and T -- the main CRUD table. When you say that I should create two EOs, do you mean that they are to be for CIEAV_BUILDING and CIEAV_UNIT? Or, CIEAV and T? Assuming CIEAV and T, that sounds like it would allow me to show my building or unit on the record but not both.
    By the way, everything is a reference except for the main CRUD table.
    Look forward to hearing from you. Thanks for your help (and patience).

Maybe you are looking for