Remove multi table property defined in Parent descriptor

I tried to remove a multi table property(which is defined in a parent descriptor) in a child, but it does not get removed.
<!-- Parent descr -->
<item-descriptor name="parent" ...>
     <table name="testTable" type="multi" id-column-name="id" multi-column-name="seq_num">
          <property name="testProperty" column-name="property1_id" data-type="map" component-data-type="string">
          </property>
     </table>
</item-descriptor>
<!-- Child descr -->
<item-descriptor name="child" super-type="parent" sub-type-value="child" xml-combine="append">
     <table name="testTable" type="multi" id-column-name="id" multi-column-name="seq_num">
          <property name="testProperty" xml-combine="remove">
          </property>
     </table>
</item-descriptor>
Above code does not remove the property "testProperty" in child descriptor.
If i have a auxiliary table type, rather than multi table type, then it is working fine. Not sure why it is not working in multi table property.
Does anyone have any idea?
Thanks!!!

Hi,
xml-combine is applicable when combining two or more xml definition files.
When you say it worked for you for a table of type auxiliary, the properties are in same xml or in different xml files?
In your case, you are actually trying to override a property from parent item descriptor in a child item descriptor.
I would suggest to have the testProperty removed from the parent item descriptor and let the children item descriptors define the testProperty.
Hope this helps.
Keep posting the updates / questions.
Thanks,
Gopinath Ramasamy

Similar Messages

  • Re-Filling Dimension table, after removing line-item property

    Hi Friends,
    We need to remove line item property of a line item dimension of an infocube. I made that change and activated the cube. But when i check the dimension table of this dimension, i see no records regarding this.
    This cube has 60 mil. records, so we can not delete the content and reload it.
    Do you guys know anyway to fill that dimension table with the existent data in the cube ?
    Thanks & Regards
    S.P.

    Hi Suresh,
    I didn't delete the content of the cube but was able to remove checkmark of line-item dimension. Cube was activated successfuly. But the problem is that there in no data in this newly created dimension table..
    Regards
    S.P.

  • DataStoreException for multi-table inheritence using numeric indicator value

    I am using multi-table inheritance with Kodo 2.5.5
    Relevant kodo.properties are:
    com.solarmetric.kodo.PersistentTypes=com.letsys.erespond.business.model.netw
    ork.PowerTransformer,com.letsys.erespond.business.model.network.Device,com.l
    etsys.erespond.business.model.network.ElectricalDevice,com.letsys.erespond.b
    usiness.model.network.Switch
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBC
    PersistenceManagerFactory
    com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderClass=com.solarmetric.
    kodo.impl.jdbc.ormapping.IntegerSubclassProvider
    I have given each of my PC classes s a numeric subclass indicator value (to
    improve join performance)
    e.g.
    <extension vendor-name="kodo" key="subclass-indicator-value" value="1">
    </extension>
    Here is my query code, the exception is at the end of the email:
    Extent e = pm.getExtent(Device.class, true);
    Query q = pm.newQuery(e, "active == p1");
    q.declareParameters("int p1");
    Collection c = (Collection)q.execute(new Integer(1));
    Iterator iter = c.iterator();
    while (iter.hasNext()) {
    Device d = (Device)iter.next();
    System.out.println("name="+d.getName());
    NOTE: The above code works if I first do a similar query, but specify the
    subclass in the pm.getExtent()
    It seems to me that the persistent classes listed in kodo.properties are not
    getting loaded.
    I also get this from debug on startup
    421 DEBUG [TestRunner-Thread] kodo.Runtime -
    [email protected]067:
    registering 1 classes: [class
    com.letsys.erespond.business.model.network.Device]
    421 DEBUG [TestRunner-Thread] kodo.MetaData - found JDO resource
    Device.jdo for com.letsys.erespond.business.model.network.Device at
    file:/C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    421 INFO [TestRunner-Thread] kodo.MetaData -
    com.solarmetric.kodo.meta.JDOMetaDataParser@d12eea: parsing source:
    file:/C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    I would have expected it to register all my PC classes at this stage.
    Any ideas ???
    Regards,
    Chris.
    [junit] Testcase: testInheritenceQuery took 9.747 sec
    [junit] Caused an ERROR
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] com.solarmetric.kodo.runtime.FatalDataStoreException:
    com.solarmetric.kodo.runtime.DataStoreException: Type "null", the
    type registered for subclass indicatorvalue "3", is referenced in the
    database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:217)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] NestedThrowablesStackTrace:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider.getType(Int
    egerSubclassProvider.java:214)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getType(Subcla
    ssProviderImpl.java:97)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadPrimaryMappings(Cl
    assMapping.java:1060)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
    Manager.java:374)
    [junit] at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
    mpl.java:215)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
    istenceManagerImpl.java:1278)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
    eManagerImpl.java:1196)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
    JDBCStoreManager.java:967)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
    BCStoreManager.java:1146)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:199)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] NestedThrowablesStackTrace:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider.getType(Int
    egerSubclassProvider.java:207)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getType(Subcla
    ssProviderImpl.java:97)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadPrimaryMappings(Cl
    assMapping.java:1060)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
    Manager.java:374)
    [junit] at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
    mpl.java:215)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
    istenceManagerImpl.java:1278)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
    eManagerImpl.java:1196)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
    JDBCStoreManager.java:967)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
    BCStoreManager.java:1146)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:199)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] Testcase: testInheritenceQuery
    [junit] TEST com.letsys.erespond.business.model.network.DeviceAppTest
    FAILED

    Marc,
    All of my PC classes are in the result of the api call you suggested:
    [junit] Kodo type[0] =
    com.letsys.erespond.business.model.network.PowerTransformer
    [junit] Kodo type[1] = com.letsys.erespond.business.model.network.Device
    [junit] Kodo type[2] =
    com.letsys.erespond.business.model.network.ElectricalDevice
    [junit] Kodo type[3] = com.letsys.erespond.business.model.network.Switch
    However, when doing the query, it only seems to read the parent jdo file
    [junit] (kodo.MetaData 89 )
    com.solarmetric.kodo.meta.JDOMetaDataParser@16477d9: parsing source:
    file:C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    When I do a Class.forName() on each of the classes, I see that it loads in
    all the .jdo files.
    Chris.
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]..
    Chris-
    Strange. It does seem like your PersistentTypes property is not being
    used at all.
    Can you try casting your pmf to a JDBCPersistenceManagerFactory and
    seeing if your types have actually been registered with:
    String[] types = pmf.getConfiguration ().getPersistentTypeNames ();
    In article <bop53p$a5u$[email protected]>, Chris McCarthy wrote:
    Hi Patrick,
    Just tried it and yes, doing a Class.forName() on the classes I insert
    does provide a work-around.
    Any idea what is causing this ?
    Regards,
    Chris.
    "Patrick Linskey" <[email protected]> wrote in message
    news:boc31n$7do$[email protected]..
    Chris,
    What happens if you do a Class.forName() (or just a class reference) to
    each of your persistent classes before executing any JDO code?
    -Patrick
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Unable to change singleton property of context parent node.

    Hi
    I am having a view context node structure as follows.
    Root context Node
    |__Parent
    *****|__child 1
    *****|__child 2
    I have created a table view which is using above structure.
    Now I have selected "Selection Mode" property of my table to "Multi", as i intend to select multiple rows in this table.
    When i tried to run this application..I got following error :
    com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TableView.Person): selection cardinality does not allow multiple selection
    What i traced from this problem is that i have set "singleton" property of my "Parent" context node to "true".
    But what if i wish to change it to "false"...
    I AM UNABLE TO DO THAT !!
    Please help me out.
    Thanks in anticipation.
    Edited by: Saurabh Agarwal on Jun 23, 2008 8:20 AM

    Yes....
    Now i changed my Selection property of my component context...
    and that change was automatically reflected to my view context...
    Actually what is happening..
    if mapping to component context is set in view context..
    then Properties could not be changed directly from view context.
    Thanks all....for your help..
    my problem is solved now....
    Thanks...

  • Help with multi-table mapping for one-to-many object inheritance

    Hi,
    I have posted on here before regarding this (Toplink mapping for one-to-many object inheritance but I am still having problems mapping my object model to my schema.
    Object model
    The Person and Organisation objects contain base information and have the primary keys person_id and organisation_id. It is important that there is no duplication of person and organisation records, no matter how many times they are saved in different roles.
    There are two types of licenceholder in the problem domain, and the ILicenceHolder interface defines information and methods that are common to both. The PersonalLicenceHolder object represents one of these types of licenceholder, and is always a person, so this class extends Person and implements ILicenceHolder.
    The additional information and methods that are required by the second type of licenceholder are defined in the interface IPremisesLicenceHolder, which extends ILicenceHolder. Premises licence holders can either be people or organisations, so I have two objects to represent these - PremisesLicenceHolderPerson which implements IPremisesLicenceHolder and extends Person, and PremisesLicenceHolderOrganisation which implements IPremisesLicenceHolder and extends Organisation.
    The model is further complicated by the fact that any single Person may be both a PersonalLicenceHolder and a PremisesLicenceHolderPerson, and may be so several times over. In this case, the same basic Person information needs to be linked to several different sets of licenceholder information. In the same way, any single Organisation may be a PremisesLicenceHolderOrganisation several times over.
    Sorry this is complicated!
    Schema
    I have Person and Organisation tables containing the basic information with the primary keys person_id and organisation_id.
    I have tried to follow Donald Smith's advice and have created a Role table to record the specialised information for the different types of licence holder. I want the foreign keys in this table to be licenceholder_id and licence_id. Licenceholder_id will reference either organisation_id or person_id, and licence_id will reference the primary key of the Licence table to link the licenceholder to the licence. Because I am struggling with the mapping, I have changed licenceholder_id to person_id in an attempt to get it working with the Person object before I try the Organisation.
    Then, when a new licenceholder is added, if the person/organisation is already in the database, a new record is created in the Role table linking the existing person/organisation to the existing licence rather than duplicating the person/organisation information.
    Mapping
    I am trying to use the toplink mapping workbench to map my PremisesLicenceHolderPerson object to my schema. I have mapped all inherited attributes to superclass (Person). The primary table that the attributes are mapped to is Person, and I have used the multi-table info tab to add Roles as an additional table and map the remaining attributes to that.
    I have created the references PERSON_ROLES which maps person.person_id to roles.person_id, ROLES_PERSON which maps roles.person_id to person.person_id and ROLES_LICENCE which maps roles.licence_id to licence.licence_id.
    I think I have put in all the relationships, but I cannot get rid of the error message "The following primary key fields are unmapped: PERSON_ID".
    Please can somebody tell me how to map this properly?
    Thank you.

    I'm not positive about your mappings, but it looks like the Person object should really have a 1:M or M:M mapping to the Licenceholder table. This then means that your object model should be similar, in that Person object could have many Licenses, instead of being LicenceHolders. From the looks of it, you have it set up from the LicenceHolder perspective. What could be done instead if a LicenceHolder could have a 1:1 reference to a person data object, rather than actually be a Person. This would allow the person data to be easily shared among licences.
    LicenceHolder1 has an entry in the LicenceHolder table and Person table. LicenceHolder2 also has entries in these tables, but uses the same entry in the Person table- essentially it is the same person/person_ID. If both are new objects, TopLink would try to insert the same person object into the Person table twice. I'm not sure how you have gotten around or are planning to get around this problem.
    Since you are using inheritance, it means that LicenceHolder needs a writable mapping to the person.person_id field- most commonly done through a direct to field mapping. From the description, it looks like roles.person_id is a foreign key in the multiple table mapping, meaning it would be set based on the value in the person.person_id field, but the person.person_id isn't actually mapped in the object. Check to make sure that the ID attribute LicenceHolder is inheriting from person hasn't been remapped in the LicenceHolder descriptor to a different field.
    Best Regards,
    Chris

  • Multi-table mapping is not inserting into the primary table first.

    I have an inheritance mapping where the children are mapped to the parent table oids with the "Multi-Table Info" tab.
    One of children is not inserting properly. Its insert is attempting to insert into one of the tables from the "Additional Tables" of "Multi-Table Info" instead of the primary table that it is mapped to.
    The other children insert correctly. This child is not much different from those.
    I looked through the forums, but found nothing similiar.

    I would expect the Children to be inserted into both the primary table and the Additional Table? Is the object in question inserted into the primary table at all? Is the problem that it is being inserted into the Additional Table first? If it is, are the primary key names different? Is it a foreign key relationship?
    If the object in question has no fields in the additional table is it mapped to the additional table? (it should not be)
    Perhaps providing the deployment XML will help determine the problem,
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Issue with trigger, multi-table insert and error logging

    I find that if I try to perform a multi-table insert with error logging on a table that has a trigger, then some constraint violations result in an exception being raised as well as logged:
    <pre>
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> create table t1 (id integer primary key);
    Table created.
    SQL> create table t2 (id integer primary key, t1_id integer,
    2           constraint t2_t1_fk foreign key (t1_id) references t1);
    Table created.
    SQL> exec dbms_errlog.create_error_log ('T2');
    PL/SQL procedure successfully completed.
    SQL> insert all
    2 into t2 (id, t1_id)
    3 values (x, y)
    4 log errors into err$_t2 reject limit unlimited
    5 select 1 x, 2 y from dual;
    0 rows created.
    SQL> create or replace trigger t2_trg
    2 before insert or update on t2
    3 for each row
    4 begin
    5 null;
    6 end;
    7 /
    Trigger created.
    SQL> insert all
    2 into t2 (id, t1_id)
    3 values (x, y)
    4 log errors into err$_t2 reject limit unlimited
    5 select 1 x, 2 y from dual;
    insert all
    ERROR at line 1:
    ORA-02291: integrity constraint (EOR.T2_T1_FK) violated - parent key not found
    </code>
    This doesn't appear to be a documented restriction. Does anyone know if it is a bug?

    Tony Andrews wrote:
    This doesn't appear to be a documented restriction. Does anyone know if it is a bug?Check The Execution Model for Triggers and Integrity Constraint Checking.
    SY.

  • Datastructure Item table property doesn't show views?

    I am using Designer Editor version 2.0.24.2.0 and am on the Server Model Navigator under <app_name>->PL/SQL Definitions->Package Definitions-><package name>->Datastructures-><datastructure name>->datastructure items. I have created a datastructure item and am trying to define it by a view that exists in the repository. However, when I click on the "Table" property, the view does not show up on the resulting popup list (in fact it appears that no views do). Anyone have any suggestions or explanations?
    Thanks.
    Mark

    Hi Bill,
    As you will notice when taking a look on the SAP Business One menu items in the Modules menu / "Main Menu" you will see that only on the top level icons are displayed.
    In order to have a consistent appearance of the solution (the application + what your Add-On adds to the UI) it makes sense that the application behaves that way.
    Nevertheless the icons you specify will be displayed in the Modules menu's sub menus in the menu bar.
    I think it is OK to have this in e.g. the Goto menu or the Data menu - as the application has icons there as well, but I am not convinced that there's too much benefit in adding icons to Add-On menu items - and having none for standard menu items...
    HTH,
    Frank

  • Insert while using multi table

    Hi
    I have created a class and using multi table feature to retrieve fields from couple of tables. These tables are associated via Foreign key. This works fine while select, but fails while insert a new record in primary table using unitOfWork.
    Here is the peice of code i am using
    UnitOfWork uow = CfToplink9Helper.getUnitOfWork();
    uow.registerNewObject(basketEntry);
    uow.commit();
    Any suggestions !!! Appreciate your response !!!

    Here is the exception
    TopLink Severe]: UnitOfWork(734604338)--java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)
    [TopLink Info]: ClientSession(542256178)--Connection(598240304)--rollback transaction
    [TopLink Severe]: UnitOfWork(734604338)--java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)
    java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)

  • Multi table insert in ODI

    Hello,
    Does ODI allow using multi table insert feature? For example
    INSERT FIRST
    WHEN expr THEN
    INTO ...
    WHEN expr THEN
    INTO ..
    SELECT ..
    FROM ...
    WHERE ...
    I could build my own LKM but I can't define appropriate Meta Model. In an interface ODI allows single Target Datastore only.

    Hi simonova,
    I guess you can do this by ODI procedure,( write the Plsql code for it).
    But Interface supports only one target data store.So you couldnt do with available KMs.
    Thanks,
    Madha

  • Multi table inheritance and performance

    I really like the idea of multi-table inheritance, since a have a main
    class and three subclasses which just add one integer to the main class.
    It would be a waste to spend 4 tables on this, so I decided to put them
    all into one.
    My problem now is, that when I query for a specific class, kodo will build
    SQL like:
    select ... from table where
    JDOCLASSX='de.mycompany.myprojectname.mysubpack.classname'
    this is pretty slow, when the table grows because string comparisons are
    awefull - and even worse: the database has to compare nearly the whole
    string because it differs only in the last letters.
    indexing would help a bit but wouldn't outperforming integer comparisons.
    Is it possible to get kodo to do one more step of normalization ?
    Having an extra table containing all classnames und id's for them (and
    references in the original table) would improve performance of
    multi-tables quite a lot !
    Even with standard classes it would save a lot memory not having the full
    classname in each row.

    Stefan-
    Thanks for the feedback. Note that 3.0 does make this simpler: we have
    extensions that allow you to define the mechanism for subclass
    identification purely in the metadata file(s). See:
    http://solarmetric.com/Software/Documentation/3.0.0RC1/docs/manual.html#ref_guide_mapping_classind
    The idea for having a separate table mapping numbers to class names is
    good, but we prefer to have as few Kodo-managed tables as possible. It
    is just as easy to do this in the metadata file.
    In article <[email protected]>, Stefan wrote:
    First of all: thx for the fast help, this one (IntegerProvider) helped and
    solves my problem.
    kodo is really amazing with all it's places where customization can be
    done !
    Anyway as a wish for future releases: exactly this technique - using
    integer as class-identifiers rather than the full class names is what I
    meant with "normalization".
    The only thing missing, is a table containing information of how classIDs
    are mapped to classnames (which is now contained as an explicit statement
    in the jdo-File). This table is not mapped to the primary key of the main
    table (as you suggested), but to the classID-Integer wich acts as a
    foreign key.
    A query for a specific class would be solved with a query like:
    select * from classValues, classMapping where
    classValues.JDOCLASSX=classmapping.IDX and
    classmapping.CLASSNAMEX='de.company.whatever'
    This table should be managed by kodo of course !
    Imagine a table with 300.000 rows containing only 3 different derived
    classes.
    You would have an extra table with 4 rows (base class + 3 derived types).
    Searching for the classID is done in that 4row table, while searching the
    actual class instances than would be done over an indexed integer-classID
    field.
    This is much faster than having the database doing 300.000 String
    comparisons (even when indexed).
    (By the way - it would save a lot memory as well, even on classes which
    are not derived)
    If this technique is done by kodo transparently, maybe turned on with an
    extra option ... that would be great, since you wouldn't need to take care
    for different "subclass-indicator-values", can go on as everytime and have
    a far better performance ...
    Stephen Kim wrote:
    You could push off fields to seperate tables (as long as the pk column
    is the same), however, I doubt that would add much performance benefit
    in this case, since we'd simply add a join (e.g. select data.name,
    info.jdoclassx, info.jdoidx where data.jdoidx = info.jdoidx where
    info.jdoclassx = 'foo'). One could turn off default fetch group for
    fields stored in data, but now you're adding a second select to load one
    "row" of data.
    However, we DO provide an integer subclass provider which can speed
    these sorts of queries a lot if you need to constrain your queries by
    class, esp. with indexing, at the expense of simple legibility:
    http://solarmetric.com/Software/Documentation/2.5.3/docs/ref_guide_meta_class.html#meta-class-subclass-provider
    Stefan wrote:
    I really like the idea of multi-table inheritance, since a have a main
    class and three subclasses which just add one integer to the main class.
    It would be a waste to spend 4 tables on this, so I decided to put them
    all into one.
    My problem now is, that when I query for a specific class, kodo will build
    SQL like:
    select ... from table where
    JDOCLASSX='de.mycompany.myprojectname.mysubpack.classname'
    this is pretty slow, when the table grows because string comparisons are
    awefull - and even worse: the database has to compare nearly the whole
    string because it differs only in the last letters.
    indexing would help a bit but wouldn't outperforming integer comparisons.
    Is it possible to get kodo to do one more step of normalization ?
    Having an extra table containing all classnames und id's for them (and
    references in the original table) would improve performance of
    multi-tables quite a lot !
    Even with standard classes it would save a lot memory not having the full
    classname in each row.
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • How to use the Table Function defined  in package in OWB?

    Hi,
    I defined a table function in a package. I am trying to use that in owb using Table function operator. But I came to know that, owb R1 supports only standalone table functions.
    Is there any other way to use the table function defined in a package. As like we create synonyms for functions, is there any other way to do this.
    I tryed to create synonyms, it is created. But it is showing compilation error. Finally I found that, we can't create synonyms for functions which are defined in packages.
    Any one can explain it, how to resolve this problem.
    Thank you,
    Regards
    Gowtham Sen.

    Hi Marcos,
    Thank you for reply.
    OWB R1 supports stand alone table functions. Here what I mean is, the table fucntion which is not inculded in any package is a stand alone table function.
    for example say sample_tbl_fn is a table function. It is defined as a function.It is a stand alone function. We call this fucntion as "samp_tbl_fn()";
    For exampe say sample_pkg is a package. say a function is defined in a package.
    then we call that function as sample_pkg.functionname(); This is not a stand alone function.
    I hope you understand it.
    owb supports stand alone functions.
    Here I would like to know, is there any other way to use the functions which are defined in package. While I am trying to use those functions (which are defined in package -- giving the name as packagename.functionname) it is throwing an error "Invalid object name."
    Here I would like know, is there any other way to use the table functions which are defined in a package.
    Thank you,
    Regards,
    Gowtham Sen.

  • VLD-1119: Unable to generate Multi-table Insert statement for some or all t

    Hi All -
    I have a map in OWB 10.2.0.4 which is ending with following error: -
    VLD-1119: Unable to generate Multi-table Insert statement for some or all targets.*
    Multi-table insert statement cannot be generated for some or all of the targets due to upstream graphs of those targets are not identical on "active operators" such as "join".*
    The map is created with following logic in mind. Let me know if you need more info. Any directions are highly appreciated and many thanks for your inputs in advance: -
    I have two source tables say T1 and T2. There are full outer joined in a joiner and output of this joined is passed to an expression to evaluate values of columns based on
    business logic i.e. If T1 is available than take T1.C1 else take T2.C1 so on.
    A flag is also evaluated in the expression because these intermediate results needs to be joined to third source table say T3 with different condition.
    Based on value taken a flag is being set in the expression which is used in a splitter to get results in three intermediate tables based on flag value evaluated earlier.
    These three intermediate tables are all truncate insert and these are unioned to fill a final target table.
    Visually it is something like this: -
    T1 -- T3 -- JOINER1
    | -->Join1 (FULL OUTER) --> Expression -->SPLITTER -- JOINER2 UNION --> Target Table
    | JOINER3
    T2 --
    Please suggest.

    I verified that their is a limitation with the splitter operator which will not let you generate a multi split having more than 999 columns in all.
    I had to use two separate splitters to achieve what I was trying to do.
    So the situation is now: -
    Siource -> Split -> Split 1 -> Insert into table -> Union1---------Final tableA
    Siource -> Split -> Split 2 -> Insert into table -> Union1

  • Multi-table INSERT with PARALLEL hint on 2 node RAC

    Multi-table INSERT statement with parallelism set to 5, works fine and spawns multiple parallel
    servers to execute. Its just that it sticks on to only one instance of a 2 node RAC. The code I
    used is what is given below.
    create table t1 ( x int );
    create table t2 ( x int );
    insert /*+ APPEND parallel(t1,5) parallel (t2,5) */
    when (dummy='X') then into t1(x) values (y)
    when (dummy='Y') then into t2(x) values (y)
    select dummy, 1 y from dual;
    I can see multiple sessions using the below query, but on only one instance only. This happens not
    only for the above statement but also for a statement where real time table(as in table with more
    than 20 million records) are used.
    select p.server_name,ps.sid,ps.qcsid,ps.inst_id,ps.qcinst_id,degree,req_degree,
    sql.sql_text
    from Gv$px_process p, Gv$sql sql, Gv$session s , gv$px_session ps
    WHERE p.sid = s.sid
    and p.serial# = s.serial#
    and p.sid = ps.sid
    and p.serial# = ps.serial#
    and s.sql_address = sql.address
    and s.sql_hash_value = sql.hash_value
    and qcsid=945
    Won't parallel servers be spawned across instances for multi-table insert with parallelism on RAC?
    Thanks,
    Mahesh

    Please take a look at these 2 articles below
    http://christianbilien.wordpress.com/2007/09/12/strategies-for-rac-inter-instance-parallelized-queries-part-12/
    http://christianbilien.wordpress.com/2007/09/14/strategies-for-parallelized-queries-across-rac-instances-part-22/
    thanks
    http://swervedba.wordpress.com

  • View links in multi table relations

    Is it advisable (in terms of performance e. g.), to create view links and view objects as local variables in multi table relations?
    examle: the jdev online help says to use
    such multi table relations like this:
    // A (one) -> B (many) -> C (many)
    ViewLink a2b = appMod.findViewLink("AtoB");
    ViewLink b2c = appMod.findViewLink("BtoC");
    ViewObject aV = a2b.getSource();
    ViewObject bV = a2b.getDestination();
    ViewObject cV = b2c.getDestination();
    while(aV.hasNext())
    Row aR = aV.next();
    while(bV.hasNext())
    Row bR = cV.next();
    while(cV.hasNext())
    Row cR = cV.next();
    I would rather keep everything concerning
    a, b, c together, especially when more
    tables (d, e, ...) are added, like this
    ViewLink a2b = appMod.findViewLink("AtoB");
    ViewObject aV = a2b.getSource();
    while(aV.hasNext())
    Row aR = aV.next();
    ViewLink b2c = appMod.findViewLink("BtoC");
    ViewObject bV = a2b.getDestination();
    while(bV.hasNext())
    Row bR = cV.next();
    ViewObject cV = b2c.getDestination();
    while(cV.hasNext())
    Row cR = cV.next();
    Is there anything to say against this approach (in term of performance for example). I am not sure to remeber,
    if this was the approach used in the HotelResevationSystem example.
    Thanks.
    Rx
    null

    For this to work you have to either build a view based on the entities from which you need attributes (joined by the FK) or build a ViewObject with the sql statement giving you all the attributes you need.
    The first case enables you the edit the attributes, the second gives you read only access to the attributes.
    What you try to do isn't a master-detail connection, you are doing a join of some tables.
    Timo

Maybe you are looking for

  • JCOP41 ICAO-compliant passport

    Hi, I'm trying for a while to create an ICAO-compliant e-passport using a JCOP41. Now, I'm having some trouble creating a DG14 with characteristic-two fields GF(2n) since GF(p) is not supported by the card. According to RFC3279, here is what I need t

  • Ipod nano and windows XP pro

    I just purchased a new Ipod nano. I installed iTunes 7 and am able to download and move songs. Itunes recognizes my ipod but everytime I dock or open iTunes I get a: Found new hardware wizard that pops up. It states " there was a problem installing t

  • Cannot print directly from InDesign CS5, must export to PDF

    My co-worker and I have not been able to print to our Ricoh Aficion SP C811DN from InDesign since upgraded to CS5. We both experience similar errors (ERROR: undefined, OFFENDING COMMAND: o [or C, or some other letter] and then STACK: XXX). We are bot

  • Can not access communication channels

    We could not access Communication channel & other configuration objects from integration builder and we are getting the following error, Attempt to access application REPOSITORY using Http Method Invocation (HMI) failed. Detailed information: Invokin

  • TS1363 itunes locks up when iphone is connected

    itunes locks  up when i plug my iphone in