Dependent Object persistence in EJB 1.1

Please take a look at the following container-managed entity EJB
code:
//REMOTE INTERFACE //----------------------
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Product extends EJBObject {
public void setPrice(double price) throws RemoteException;
public double getPrice() throws RemoteException;
public String getDescription() throws RemoteException;
public void setDescription(String desc) throws RemoteException;
public ItemView getItemView() throws RemoteException;
public void setItemView(ItemView i) throws RemoteException;
//HOME INTERFACE //------------------------------
import java.util.Collection;
import java.rmi.RemoteException;
import javax.ejb.*;
public interface ProductHome extends EJBHome {
public Product create(String productId, String description,
double balance, ItemView itemView) throws RemoteException,
CreateException;
public Product findByPrimaryKey(String productId)
throws FinderException, RemoteException;
public Collection findByDescription(String description)
throws FinderException, RemoteException;
public Collection findInRange(double low, double high)
throws FinderException, RemoteException;
//EJBean //----------------------------------------------
import java.util.*;
import javax.ejb.*;
public class ProductBean implements EntityBean {
public String productId;
public String description;
public double price;
//custom java class: Item
public Item item;
private EntityContext context;
public void setPrice(double price) {
this.price = price;
public double getPrice() {
return price;
//instead of returning field Item, an object of ItemView with Item
data is returned.
public ItemView getItemView()
return new ItemView(item.getDesc(), item.getCodeNum());
public void setItemView(ItemView itemView)
this.item = new Item(itemView.getDView(), itemView.getCView
public String getDescription() { return description; }
public void setDescription(String descri) {description = descri;}
public String ejbCreate(String productId, String description,
double price, ItemView itemView) throws CreateException {
if (productId == null) {
throw new CreateException("The productId is required.");
this.productId = productId;
this.description = description;
this.price = price;
item = new Item(itemView.getDView(), itemView.getCView());
return null;
public void setEntityContext(EntityContext context) {
this.context = context;
public void ejbActivate() {
productId = (String)context.getPrimaryKey();
public void ejbPassivate() {
productId = null;
description = null;
public void ejbRemove() { }
public void ejbLoad() { }
public void ejbStore() { }
public void unsetEntityContext() { }
public void ejbPostCreate(String productId, String description,
double balance, ItemView itemView) { System.out.println
("ProductBean ejbPostCreate"); }
} // End of ProductBean
//Item //-------------
public class Item implements java.io.Serializable {
public String desc;
public int codeNum;
public Item(String desc, int CodeNum) {
desc = desc;
codeNum = codeNum;
public void setDesc(String decs) {desc = desc;}
public void setCodeNum(int i) {codeNum = codeNum;}
public String getDesc() {return desc;}
public int getCodeNum(){return codeNum;}
} //End of Item
//ItemView //-------------------------------------
public class ItemView implements java.io.Serializable {
public String dView;
public int cView;
public ItemView(String s, int i) {
dView = s;
cView = i;
public void setDView(String s) {dView = s;}
public String getDView() {return dView; }
public void setCView(int i) {cView = i;}
public int getCView() {return cView;}
Upon running the following client:
//ProductClient //-------------------------------------
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
public class ProductClient {
public static void main(String[] args) {
try {
Context initial = new InitialContext();
Object objref = initial.lookup("MyProduct123");
ProductHome home =
(ProductHome)PortableRemoteObject.narrow(objref,
ProductHome.class);
Product duke = home.create("1006", "Siamese atty", 23.13,
new ItemView("Hot",12));
System.out.println("Description: " + duke.getDescription());
System.out.println("Price: "+ duke.getPrice());
System.out.println("Item desc: " + duke.getItemView
().getDView());
System.out.println("Item CodeNum: " + duke.getItemView
().getCView());
} catch (Exception ex) {
System.err.println("Caught an exception." );
ex.printStackTrace();
This is expected to create a ProductBean whose Item field variable
object will have "Hot" and 12 as its values. However, the program
output is:
Description: Ceramic Catty
Price: 19.23
Item desc: null
Item CodeNum: 0
1. I am unable to understand why the Item object contained in the
ProductBean remains null.
2. I read in a sdmagazine article, that helper objects (dependent
objects) should not be exposed directly to the client. I have used
the ItemView in line with this argument although I am not clear if
this is a requirement , if so, what is the rationale behind it.
Please see
http://www.sdmagazine.com/documents/s=739/sdm0010j/0010j.htm.
3. If I do not use ItemView and expose the Item field directly to the
client, there is a runtime error NullPointerExc eption...
4. Does EJB 2.0 adopts the same approach i.e. can depenmdent objects
be directly exposed to the client or not. Or this is just a
recommendation not a requirement?
In the above mentioned article :
(http://www.sdmagazine.com/documents/s=739/sdm0010j/0010j.htm)
"EJB enables me to improve the design I presented in Figure 1. The
problem is the address attribute; it's an object and not a primitive
value. Because I need to persist addresses, I have two options: I can
implement it as a dependent value object or as a dependent object. A
dependent value object is one that is serializable, the properties of
which are saved as a single value; it's the relational database
equivalent of a binary large object (blob). On the other hand, the
properties of dependent objects are saved as individual values, one
for each property. This appears to be a significant advantage, but it
comes at a price: A dependent object must never be directly exposed
to the clients of entity beans via its remote interface because the
persistence container is free to optimize the delivery of dependent
objects and may never fully materialize them as full-fledged classes.
What you should do, as Figure 2 indicates, is expose a representation
of the dependent object if required. I have done this with the new
versions of the getAddress() and setAddress() operations in the
Customer class that now work with instances of XmlDocument instead of
Address. A little clunky, but reasonably easy to live with in
practice. Note that I didn't have to introduce any code to maintain
the relationship between the two classes to my model."
5. This is totally new to me. I don't know what the author means when
he says 'the properties of
which (dependent object) are saved as individual values, one for each
property.' Does this mean,
the dependent object can be persisted in a separate table. How is it
possible while using CMP? 6.
And 'all this comes at a price...' I can't see what's the price.
Any help is highly appreciated.
Regards,
Hasan

Did you forget adding "this." in the item.java.

Similar Messages

  • Cmp dependant object

    does anybody have a working example of a ejb20 bean that uses dependant
    objects with a CMP relationship. I am trying to do a simple relationship
    where an ejb has a Collection of dependant objects.
    I cant get past the xml parsing errors when ejbc is run.
    The error is
    ERROR: weblogic.xml.process.XMLParsingException: The content of element
    type "ej
    b-jar" must match
    "(description?,display-name?,small-icon?,large-icon?,enterpris
    e-beans,dependents?,relationships?,assembly-descriptor?,ejb-client-jar?)".
    - wit
    h nested exception:
    [org.xml.sax.SAXParseException: The content of element type "ejb-jar"
    must match
    "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,dependent
    s?,relationships?,assembly-descriptor?,ejb-client-jar?)".] Line: 152
    Column: 11
    here is the ejb-jar.xml file:
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>SurveyEJB</ejb-name>
    <home>erm.com.clickaction.erm.surveys.ejb20.SurveyHome</home>
    <remote>erm.com.clickaction.erm.surveys.ejb20.Survey</remote>
    <ejb-class>erm.com.clickaction.erm.surveys.ejb20.SurveyBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>SurveyBean</abstract-schema-name>
    <cmp-field>
    <field-name>surveyKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>clientKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>description</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>version</field-name>
    </cmp-field>
    <primkey-field>surveyKey</primkey-field>
    <query>
    <query-method>
    <method-name>findAllSurveys</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[WHERE surveyKey is not null]]></ejb-ql>
    </query>
    </entity>
    <entity>
    <ejb-name>TopicEJB</ejb-name>
    <home>erm.com.clickaction.erm.surveys.ejb20.TopicHome</home>
    <remote>erm.com.clickaction.erm.surveys.ejb20.Topic</remote>
    <ejb-class>erm.com.clickaction.erm.surveys.ejb20.TopicBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>TopicBean</abstract-schema-name>
    <cmp-field>
    <field-name>topicKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>description</field-name>
    </cmp-field>
    <primkey-field>topicKey</primkey-field>
    <query>
    <query-method>
    <method-name>findAllTopics</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[WHERE topicKey is not null]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>SurveyEJB</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>TopicEJB</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    <dependents>
    <dependent>
    <description>Topic</description>
    <dependent-class>erm.com.clickaction.erm.surveys.ejb20.Topic</dependent-class>
    <dependent-name>Topic</dependent-name>
    <cmp-field><field-name>topicKey</field-name></cmp-field>
    <cmp-field><field-name>name</field-name></cmp-field>
    <cmp-field><field-name>description</field-name></cmp-field>
    <pk-field>topicKey</pk-field>
    </dependent>
    </dependents>
    <relationships>
    <ejb-relation>
    <ejb-relation-name>Survey-Topic</ejb-relation-name>
    <ejb-relationship-role>
    <ejb-relationship-role-name>survey-has-topics</ejb-relationship-role-name>
    <multiplicity>one</multiplicity>
    <role-source><ejb-name>SurveyEJB</ejb-name></role-source>
    <cmr-field>
    <cmr-field-name>topics</cmr-field-name>
    <cmr-field-type>java.util.Collection</cmr-field-type>
    </cmr-field>
    </ejb-relationship-role>
    <ejb-relationship-role>
    <ejb-relationship-role-name>topics-belongto-survey</ejb-relationship-role-name>
    <multiplicity>many</multiplicity>
    <cascade-delete/>
    <role-source><dependent-name>TopicEJB</dependent-name></role-source>
    <cmr-field>
    <cmr-field-name>survey</cmr-field-name>
    </cmr-field>
    </ejb-relationship-role>
    </ejb-relation>
    </relationships>
    </ejb-jar>
    thanks
    simon evans
    [email protected]

    Hi Simon,
    I'm reposting your message to the ejb group where you can get more help. This group
    is monitored more for issues regarding general product usability feedback, rather
    than "how to" issues.
    However, I do see you've uncovered a usability issue in as much as you couldn't find
    appropriate documentation or examples to help understand the problem. Moreover, you
    weren't able to figure out what to do next using the ejbc compiler error messages.
    I'll take a look at the problem from this point of view.
    In the mean time, ejb team, can you lend a hand?
    dan
    simon wrote:
    does anybody have a working example of a ejb20 bean that uses dependant
    objects with a CMP relationship. I am trying to do a simple relationship
    where an ejb has a Collection of dependant objects.
    I cant get past the xml parsing errors when ejbc is run.
    The error is
    ERROR: weblogic.xml.process.XMLParsingException: The content of element
    type "ej
    b-jar" must match
    "(description?,display-name?,small-icon?,large-icon?,enterpris
    e-beans,dependents?,relationships?,assembly-descriptor?,ejb-client-jar?)".
    - wit
    h nested exception:
    [org.xml.sax.SAXParseException: The content of element type "ejb-jar"
    must match
    "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,dependent
    s?,relationships?,assembly-descriptor?,ejb-client-jar?)".] Line: 152
    Column: 11
    here is the ejb-jar.xml file:
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>SurveyEJB</ejb-name>
    <home>erm.com.clickaction.erm.surveys.ejb20.SurveyHome</home>
    <remote>erm.com.clickaction.erm.surveys.ejb20.Survey</remote>
    <ejb-class>erm.com.clickaction.erm.surveys.ejb20.SurveyBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>SurveyBean</abstract-schema-name>
    <cmp-field>
    <field-name>surveyKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>clientKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>description</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>version</field-name>
    </cmp-field>
    <primkey-field>surveyKey</primkey-field>
    <query>
    <query-method>
    <method-name>findAllSurveys</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[WHERE surveyKey is not null]]></ejb-ql>
    </query>
    </entity>
    <entity>
    <ejb-name>TopicEJB</ejb-name>
    <home>erm.com.clickaction.erm.surveys.ejb20.TopicHome</home>
    <remote>erm.com.clickaction.erm.surveys.ejb20.Topic</remote>
    <ejb-class>erm.com.clickaction.erm.surveys.ejb20.TopicBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>TopicBean</abstract-schema-name>
    <cmp-field>
    <field-name>topicKey</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>description</field-name>
    </cmp-field>
    <primkey-field>topicKey</primkey-field>
    <query>
    <query-method>
    <method-name>findAllTopics</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[WHERE topicKey is not null]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>SurveyEJB</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>TopicEJB</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    <dependents>
    <dependent>
    <description>Topic</description>
    <dependent-class>erm.com.clickaction.erm.surveys.ejb20.Topic</dependent-class>
    <dependent-name>Topic</dependent-name>
    <cmp-field><field-name>topicKey</field-name></cmp-field>
    <cmp-field><field-name>name</field-name></cmp-field>
    <cmp-field><field-name>description</field-name></cmp-field>
    <pk-field>topicKey</pk-field>
    </dependent>
    </dependents>
    <relationships>
    <ejb-relation>
    <ejb-relation-name>Survey-Topic</ejb-relation-name>
    <ejb-relationship-role>
    <ejb-relationship-role-name>survey-has-topics</ejb-relationship-role-name>
    <multiplicity>one</multiplicity>
    <role-source><ejb-name>SurveyEJB</ejb-name></role-source>
    <cmr-field>
    <cmr-field-name>topics</cmr-field-name>
    <cmr-field-type>java.util.Collection</cmr-field-type>
    </cmr-field>
    </ejb-relationship-role>
    <ejb-relationship-role>
    <ejb-relationship-role-name>topics-belongto-survey</ejb-relationship-role-name>
    <multiplicity>many</multiplicity>
    <cascade-delete/>
    <role-source><dependent-name>TopicEJB</dependent-name></role-source>
    <cmr-field>
    <cmr-field-name>survey</cmr-field-name>
    </cmr-field>
    </ejb-relationship-role>
    </ejb-relation>
    </relationships>
    </ejb-jar>
    thanks
    simon evans
    [email protected]

  • WLS Dependent Objects

    Currently i'm working on a provisioning system being developed in WLS 6.1, specifically
    the entity data layer.
    On a recent EJB training course I attended, the course tutor asserted that it was
    possible to implelement dependent objects on the said system. However, all the documentation
    I have read since doesn't seem to suggest this at all.
    As a particular example, I have an Order entity with a one-to-many relationship with
    an OrderItem entity. There is also Party information that I thought could be a dependent
    object of the Order entity. In other words, the Order entity maps multiple database
    tables. It seems i'll have this problem later on when I begin to model Products
    and Features of the OrderItem (i.e. will these have to be modelled as seperate entities
    as well, as opposed to mapping the tables within the OrderItem entity).
    Any clarification you could give me would be greatly appreciated. Perhaps some of
    your own experience in this area, or pointers to useful URLs/books.

    WLS 7.0 supports one EJB mapping to multiple tables.
    Emmanuel Proulx wrote:
    Dependent objects as they were introduced in draft EJB2.0 specifications do
    not exist in the final version of the spec. In WLS 6.1 CMP, you have to have
    1 entity object for 1 database table.
    There is the concept of aggregate entity (one entity representing many
    database tables) but WLS 6.1 CMP doesn't support that. You can do this with
    BMP though.
    Also, other products enable you to obtain aggregate entities, like WebGain's
    TopLink, which plugs right into WLS.
    Good luck,
    Emmanuel
    "Steven Curtis" <[email protected]> wrote in message
    news:[email protected]..
    Currently i'm working on a provisioning system being developed in WLS 6.1,specifically
    the entity data layer.
    On a recent EJB training course I attended, the course tutor asserted thatit was
    possible to implelement dependent objects on the said system. However,all the documentation
    I have read since doesn't seem to suggest this at all.
    As a particular example, I have an Order entity with a one-to-manyrelationship with
    an OrderItem entity. There is also Party information that I thought couldbe a dependent
    object of the Order entity. In other words, the Order entity mapsmultiple database
    tables. It seems i'll have this problem later on when I begin to modelProducts
    and Features of the OrderItem (i.e. will these have to be modelled asseperate entities
    as well, as opposed to mapping the tables within the OrderItem entity).
    Any clarification you could give me would be greatly appreciated. Perhapssome of
    your own experience in this area, or pointers to useful URLs/books.
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • Can't drop database table objects on a EJB Diagram.

    JDeveloper 10.1.3 EA.
    When I drop a database table object on a EJB Diagram the error below occurs. Also dropping components from the Component Palette doesn't work. A wizard opens, but after completing that, nothing is on the EJB Diagram.
    However, after dropping a table and a restart of JDeveloper, there is an empty 'tablename EJB' on the EJB Diagram, but a click with the mouse on it generates the same error as the drop did.
    Simular errors occur with JDeveloper 10.1.2, so writing this I realize that this might be a database version problem. I'm using 9i! I'll try 10g and see what happens.
    Message
    BME-99003: An error occurred, so processing could not continue.
    Cause
    The application has tried to de-reference an invalid pointer. This exception should have been dealt with programmatically. The current activity may fail and the system may have been left in an unstable state. The following is a stack trace.
    java.lang.NullPointerException
         at oracle.jdevimpl.xml.DescriptorNode.getWhitespaceHandler(DescriptorNode.java:349)
         at oracle.jdevimpl.xml.DescriptorNodeDomIO.load(DescriptorNodeDomIO.java:164)
         at oracle.jdeveloper.xml.BindingIO.load(BindingIO.java:43)
         at oracle.jdevimpl.xml.DescriptorNode.getNewDescriptorImpl(DescriptorNode.java:506)
         at oracle.jdevimpl.xml.DescriptorNode.getDescriptor(DescriptorNode.java:140)
         at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarNode.getOrionEjbJar(OrionEjbJarNode.java:145)
         at oracle.jdeveloper.ejb.BaseEjbModuleContainer.getOrionEjbJar(BaseEjbModuleContainer.java:476)
         at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJB21Handler.isAvailable(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.populateOptions(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.createComponents(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.<init>(Unknown Source)
         at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.createPanel(Unknown Source)
         at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjects(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext$4.performAction(Unknown Source)
         at oracle.bm.diagrammer.LockMonitor.performLockedAction(Unknown Source)
         at oracle.bm.diagrammer.BaseDiagram.performDiagramLockedAction(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext.dropNavigatorNodeLater(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext$5.run(Unknown Source)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Action
    If further errors occur, you should restart the application.
    Also, report the problem on the JDeveloper forum on otn.oracle.com, or contact Oracle support, giving the information from this message.
    ________________________________________________________________________________

    Hi lisa, you've said that the problem does not occur in the 10.1.3 build but I have almost the same problem with the BME-99003 error message.
    I used the same workaround "changing the regional settings from BE to US" and the BME-99003 problem disappears :-)
    Here is the error message that I receive while I add a table into the EJBDiagram. I'm using
    windows XP SP2
    ADF Business Components     10.1.3.34.12
    Java™ Platform     1.5.0_04
    Oracle IDE     10.1.3.34.12
    Struts Modeler Version     10.1.3.34.12
    UML Modelers Version     10.1.3.34.12
    Versioning Support     10.1.3.34.12
    Abdelkrim BOUJRAF
    Message
    BME-99003: An error occurred, so processing could not continue.
    Cause
    The application has tried to de-reference an invalid pointer. This exception should have been dealt with programmatically. The current activity may fail and the system may have been left in an unstable state. The following is a stack trace.
    java.lang.NullPointerException
    at oracle.jdevimpl.xml.DescriptorNode.getWhitespaceHandler(DescriptorNode.java:349)
    at oracle.jdevimpl.xml.DescriptorNodeDomIO.load(DescriptorNodeDomIO.java:164)
    at oracle.jdeveloper.xml.BindingIO.load(BindingIO.java:43)
    at oracle.jdevimpl.xml.DescriptorNode.getNewDescriptorImpl(DescriptorNode.java:506)
    at oracle.jdevimpl.xml.DescriptorNode.getDescriptor(DescriptorNode.java:140)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarNode.getOrionEjbJar(OrionEjbJarNode.java:145)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarHelper.findOrionEjbJar(OrionEjbJarHelper.java:82)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarHelper.findOrCreateOrionEjbJar(OrionEjbJarHelper.java:73)
    at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJBCommonHandler.processTableNodes(Unknown Source)
    at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJB21Handler.processTableNodes(Unknown Source)
    at oracle.bm.typemodel.dropHandler.TableDropSubHandler.processDBObjectNodes(Unknown Source)
    at oracle.bm.typemodel.dropHandler.DBObjectDropSubHandler.processObjects(Unknown Source)
    at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjectsImpl(Unknown Source)
    at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjects(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext$4.performAction(Unknown Source)
    at oracle.bm.diagrammer.LockMonitor.performLockedAction(Unknown Source)
    at oracle.bm.diagrammer.BaseDiagram.performDiagramLockedAction(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext.dropNavigatorNodeLater(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext$5.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Action
    If further errors occur, you should restart the application.
    Also, report the problem on the JDeveloper forum on otn.oracle.com, or contact Oracle support, giving the information from this message.

  • Help needed in Identifying dependent objects

    Hi all,
    Basically I need to identify the object related to Integration which is not there in one of our software product under development as compare to other(existing) already developed so that we can apply them in the product being developed.
    I need to find these below from few of the packages given to me
    &#61550;     dependent packages/functions to read and update data
    1)     Tables
    2)     Packages
    3)     Triggers
    4)     Views
    5) Jobs
    I would request you to help me in carrying out this faster, I have plsql Developer tool, how to start with so that i m not mess up with and complete it faster.
    Regards,
    Asif.

    Thankx Pierre Forstmann.
    Dear All,
    Can any one help me in identifying all dependent objects for one object.
    Will this works for me I found from the above link provided,
    as for the time being I do not have the dba priviliges...
    If I am able to get the dba prviliges will this code works for me to get the
    required information....
    Regards,
    AAK.
    SQL>
    create or replace type myScalarType as object
    ( lvl number,
    rname varchar2(30),
    rowner varchar2(30),
    rtype varchar2(30)
    Type created.
    SQL> create or replace type myTableType as table of
    myScalarType
    Type created.
    SQL>
    SQL> create or replace
    function depends( p_name in varchar2,
    p_type in varchar2,
    p_owner in varchar2 default USER,
    p_lvl in number default 1 ) return myTableType
    AUTHID CURRENT_USER
    as
    l_data myTableType := myTableType();
    procedure recurse( p_name in varchar2,
    p_type in varchar2,
    p_owner in varchar2,
    p_lvl in number )
    is
    begin
    if ( l_data.count > 1000 )
    then
    raise_application_error( -20001, 'probable connect by loop,
    aborting' );
    end if;
    for x in ( select /*+ first_rows */ referenced_name,
    referenced_owner,
    referenced_type
    from dba_dependencies
    where owner = p_owner
    and type = p_type
    and name = p_name )
    loop
    l_data.extend;
    l_data(l_data.count) :=
    myScalarType( p_lvl, x.referenced_name,
    x.referenced_owner, x.referenced_type );
    recurse( x.referenced_name, x.referenced_type,
    x.referenced_owner, p_lvl+1);
    end loop;
    end;
    begin
    l_data.extend;
    l_data(l_data.count) := myScalarType( 1, p_name, p_owner, p_type );
    recurse( p_name, p_type, p_owner, 2 );
    return l_data;
    end;
    Function created.
    SQL>
    SQL> set timing on
    SQL>
    SQL> select * from table(
    cast(depends('DBA_VIEWS','VIEW','SYS') as myTableType ) );
    ---select * from table(cast('USER_VIEWS') as myTableType ) );
    LVL     RNAME          ROWNER          RTYPE
    1     DBA_VIEWS     SYS               VIEW
    2     TYPED_VIEW$ SYS               TABLE
    2     USER$          SYS               TABLE
    2     VIEW$          SYS               TABLE
    2     OBJ$          SYS               TABLE
    2     SUPEROBJ$ SYS               TABLE
    2     STANDARD SYS               PACKAGE
    7 rows selected.
    Elapsed: 00:00:00.42
    SQL>
    SQL>
    SQL> drop table t;
    Table dropped.
    Elapsed: 00:00:00.13
    SQL> create table t ( x int );
    Table created.
    Elapsed: 00:00:00.03
    SQL> create or replace view v1 as select * from t;
    View created.
    Elapsed: 00:00:00.06
    SQL> create or replace view v2 as select t.x xx, v1.x yy from
    v1, t;
    View created.
    Elapsed: 00:00:00.06
    SQL> create or replace view v3 as select v2.*, t.x xxx, v1.x
    yyy from v2, v1, t;
    View created.
    Elapsed: 00:00:00.07
    SQL>
    SQL>
    SQL> select lpad(' ',lvl*2,' ') || rowner || '.' || rname ||
    '(' || rtype || ')' hierarchy
    2 from table( cast(depends('V3','VIEW') as myTableType ) );
    HIERARCHY
    OPS$TKYTE.V3(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V1(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V2(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V1(VIEW)
    OPS$TKYTE.T(TABLE)
    8 rows selected.
    Message was edited by:
    460425

  • Getting the Request Object in the EJB published as a Web Service

    Hi experts,
    I have a Portal Service that call a BAPI in a back-end system with the Connector Framework. I have a Portal Component that calls the Portal Service, passing the Locale (request.getLocale()) and the User (request.getUser()) object. It's work fine!
    I need to call the Portal Service by an EJB that is published as a Web Service. The connection between the EJB and Portal Service is ok, but I don't know how to get the Locale and the User object in the EJB to pass to the Portal Service.
    Is possible to get the request object from the HTTP SOAP Request?
    Thanks,
    Gustavo

    Hey Alice!
    The Feature Hashing module is actually a wrapper around
    Vowpal Wabbit's implementation of the murmurhash. Thus, it takes text in, and produces 2^N new features based on the text, where N is the bitsize specified in the module. These features (and not the original text!) should be used during model training.
    The Learner will then keep track of these features behind the scenes.
    When you publish your web service and these features are recomputed for new input text (same N), they are used as the features for scoring.
    Does that make sense?
    Regards,
    AK

  • Need to find the dependent object details for an object.

    Hi,
    Is there any query to find the dependent object details for any object. Like if mview is built on a table, then i should be able to find the table name with out checking code of the mview. Thanks in-advance for your support. similar way for view and functions or procedures etc...
    Regards
    DBA.

    Hi all,
    Thanks a lot for your inputs. seems i have not given full details in my post. I need to have a SQL Query to find the dependent object details not DDL.
    if i give a metriealized view name, i should get the base table names directly not DDLs...
    if i give index name i should get its corresponding table name(off course i got this already)...
    if i give a function name, i should get all the tables which are being in the function...etc...
    i am looking for a script which will cover all the aspects.....i hope i have given now enough information for this....
    Regards
    DBA.

  • How to create the change document functionality for a dependent objects?

    May I please know how to create the change document functionality for a dependent objects?
    I have done it follow the same process as for business process objects. But when i try to test it in BOBT, there is no records under "FIELD_CHANGE_WITH_FILTER". It seems the change hasn't been recorded.
    If the way I did to create change document for dependent object is correct, please also kindly advise the possibilities for why there is no record during testing.
    thanks in advance.

    I also have some doubts about the business object.In this case,one abstract BO hase a subnode wihich is root extended.I added the change document for this node under the category "root_extended" and then tested the function in BOBT.I got some error message "can't find the root key".Shall i redefine the method /BOFU/IF_CDO_CREATION~IS_CDO_CREATION_ACTIVE so as to solve the problem?
    Thx.

  • Archiving MM_MATNR - dependent objects

    Experts
    Im trying to archive MM_MATNR (Material master)  and I understand that all dependent objects need to be archived before material master can be archived.
    My question is what is the most effective way of identifying and archiving dependent objects collectively or individually??
    Any assistant will me much apreaciated  but please dont post the following links or anythin from the following links(I have read thier contents n want more than they offer)
    A step by step process will be much apreciated....
    [http://www.sap-img.com/bc003.htm]
    [http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90f75a80-867f-2d10-7aa6-ac164e43e89f?quicklink=index&overridelayout=true]
    Regards
    Sylvester
    Edited by: Sylvester Mokgwe on Jan 11, 2011 5:16 AM

    you really have a lucky hand in finding poor documentation.  Why dont you directly search in help.sap.com
    The technical archiving process is well doucmented there, step by step.
    further you should search OSS notes with key "MM_MATNR", there are plenty, make sure you are current with notes before you start. But more intresting in the beginning are the consultant notes there, explaining the errors  you may discover when archiving materials.
    of course you have to do this for any object that you need to archive before.
    Which objects this can be in theory can be seen in the network graphics, this answer was already given.
    But you have such a network graphic for any object that you need to archive before.....
    of course you do not need to archive any object there, just objects you use, and only those records from the object that are relevant to the materials you want to archive.
    Usually you set up a archving project, defining residence times for all potential archiving objects, then you do customizing and finally you start testing and then real archiving. this is explained in much more detail in help.sap.com and service.sap.com/plm
    And do not underestimate the effort. you need consultants from any module, and people from the business, and good to have auditors as well in the project. you will certaiinly face possible error, any process that is not defined and excuted clean from beginning to the end will give you headaches.
    I had a 50 day project (just my time),  to get familiar with the object, doing its customizing and execution (this can be different from object to object, even you start everything from SARA) and of course documentation. I have already spend more than 70 days in 3 years (it is not a high priority project) and I have not really archived materials that were in use yet.
    if a material was never used in dependent objects, then you can archive it right away.
    SAP does extensive checks (and you many have to add own addtional checks in user exits to avoid screwing up your production system (most archived data cannot be retrieved into the database). My system takes between 1 and 3 minutes to archive 1 material (or finally fail because of an error)

  • SQL Query to return all the dependent objects

    Hi,
    I have a question.
    Suppose I am creating a table with a join on 10 other tables, views etc..
    And there are nested sub-queries in the CREATE statement.
    How can I get the list of all the dependent objects for that table without counting them manually.
    I know, we can right click the table/view name and check the dependent objects in Toad or SQL Developer.
    But, I want to know the SQL query for getting that information.
    Thanks
    Rajiv

    well there is no way oracle would know what query was used when the table was created.
    But here is one intuitive trick:
    Step 1: Create a procedure that will have a cursor declared on the query you want to know what tables/views are used.
    Step 2: Check USER_DEPENDENCIES to see what objects this procedure depends on
    Let say you want to create TEST_A table using the following statement:
    create table test_a
    as
    select *
    from scott.emp,
         scott.dept;
      1  create or replace procedure test_temp
      2  as
      3  cursor test_cur is
      4             select *
      5             from scott.emp,
      6                  scott.dept;
      7  begin
      8     null;
      9* end;
    SQL> /
    Procedure created.
    SQL> show errors
    No errors.
    SQL> desc user_dependencies
    Name                                      Null?    Type
    NAME                                      NOT NULL VARCHAR2(30)
    TYPE                                               VARCHAR2(17)
    REFERENCED_OWNER                                   VARCHAR2(30)
    REFERENCED_NAME                                    VARCHAR2(64)
    REFERENCED_TYPE                                    VARCHAR2(17)
    REFERENCED_LINK_NAME                               VARCHAR2(128)
    SCHEMAID                                           NUMBER
    DEPENDENCY_TYPE                                    VARCHAR2(4)
    SQL> select referenced_owner, referenced_name, referenced_type
      2  from user_dependencies
      3  where name='TEST_TEMP' and referenced_owner<>'SYS';
    REFERENCED_OWNER
    REFERENCED_NAME
    REFERENCED_TYPE
    SCOTT
    DEPT
    TABLE
    SCOTT
    EMP
    TABLE
    SQL>
    SQL> drop procedure test_temp;
    Procedure dropped.
    SQL>Message was edited by:
    tekicora
    Message was edited by:
    tekicora

  • Consider Dynamic pegging in Strategy parameters for dependent objects

    Dear All,
    I have specified "Consider Dynamic pegging within the propagation range" in the DS strategy profile for strategy parameters of Dependent objects"
    However still when i Do a drag and drop functionality on the detailed scheduling board, system allows me to schedule the operations as and when required without the respecting the pegging.
    As per the documentation on help.sap.com , I expect system to move the dependent objects ( dymanically pegged receipts ) as soon as the requirement element is moved on the dashboard so that the dynamic pegging relationship is maintained.
    However system is not doing so - it allows me to move the parent requirement anywhere and breaks the dymanic pegging with the dependent receipt.
    Has anyone worked with such a scenario earlier.
    Thanks for the help!!
    Thanks
    Ameet

    Hi Tiago,
    Thanks for your reply. However I have maintained the said settings in the strategy profile. Also I am not getting any scheduling error for the system to break the pegging relations. Instead I am getting the message "Rescheduling Successful" but with broken pegged relations.
    My requirement is that the end time of one order should always exactly correspond to the start time of the subsequent order.
    I planned to achieve it by making "Maximum Earliness of the Receipt" as 00:01 in the product master - Pegging tab.
    Hence I expected the system to preserve the dynamic pegging between 2 pegged orders as and when any of the two orders is moved on the Detail scheduling board. This seemed to be possible theoretically based on the documentation on help.sap.com. However it is not working as expected - may be I am missing something.
    Please let me know if there is any other better way to achieve this functionality.
    Thanks
    Ameet

  • FM for Finding Dependent Objects

    Hi ,
    We are in need of a Function Module, which would be able to list all the dependent Objects of a Field.
    For eg : Field - zsodtest contains Data Element - zsodde
    Which uses the domain zsoddom.
    When the Field is passed as the input parameter for the FM, it should List the DE and the Domain, of the Field.
    Hope the Problem is clear.
    Expecting reply at the earliest.
    Thanks and Regards,
    Ajaz

    Hello Ajaz
    There are two ways to get the required information:
    (1) DB View <b>DD03M</b>
    (2) Function module <b>DDIF_FIELDINFO_GET</b>
    When you provide TABNAME and FIELDNAME the function module will return all meta data in structure DFIES.
    Please read the FM documentation and pay special attention to parameter ALL_TYPES.
    Regards
       Uwe

  • Which are client independent and dependent objects in SAP ABAP

    which are client independent and dependent objects in SAP ABAP

    Hello Jagrut
    A special kind of objects are client-<u>dependent </u>repository objects. These objects have to be treated specially in the way that they have to be imported into their specific target client. In contrast, client-independent repository objects can be imported into any client.
    The following list shows the client-dependent repository objects:
    LIMU     FSEL     Field Selection
    LIMU     VARI     Report Program System Variant
    R3TR     COC1     CO: Cost Centers
    R3TR     COC2     CO: Activity Types
    R3TR     FORM     SAPscript form
    R3TR     LODS     HRDSYS: Logical information object client-dep. table E SYST
    R3TR     PCYS     HR: Transport standard personnel calculation rules
    R3TR     PHDS     HRDSYS: physical information object client-dep. table E SYST
    R3TR     SBNL     Logical Information Object for BDS
    R3TR     SBNP     Logical Information Object for BDS
    R3TR     SBNR     BDS: Relationship Between Information Objects
    R3TR     SBPL     Logical Information Object for BDS: Bid Invitation
    R3TR     SBPP     Physical Information Object for BDS
    R3TR     SBPR     BDS: Relationship Between Information Objects
    R3TR     SBRL     Logical Information Object for BDS
    R3TR     SBRP     Physical Information Object
    R3TR     SBRR     BDS: Relationship Between Information Objects
    R3TR     SBSL     Logical Information Object for BDS
    R3TR     SBSP     Physical Information Object
    R3TR     SBSR     BDS: Relationship Between Information Objects
    R3TR     SBTL     Logical Information Object for BDS
    R3TR     SBTP     Physical Information Object
    R3TR     SBTR     BDS: Relationship Between Information Objects
    R3TR     SBWL     Logical information object for BDS
    R3TR     SBWP     Logical information object for BDS
    R3TR     SBWR     BDS: Relationship between information objects
    R3TR     SRHL     SRM: Hierarchical Lists
    R3TR     SRLD     Language-Dependent Client-Specific Retrieval Index Objekt
    R3TR     STYL     SAPscript Style
    Regards
      Uwe

  • Client dependant objects in ABAP or SAP

    5.What are client dependant objects in ABAP or SAP?

    Hi Venu,
    Sap Scripts are Client dependent
    How do we debug sapscript?
    First we need to put Break point in Print program where ever you want to stop the execution.
    After in SE71 give your form name and go to Utilities-->Active De-bugger.
    Then go to your transcation like VF03(for Invoice or Credit memo) etc to see the print preview or print the form execute it.
    When you execute it the the form Debugging will get activated and you can see your Form execution step by step.
    Thanks,
    Satya
    Edited by: SATYA KUMAR AKKARABOYANA on May 30, 2008 12:45 PM

  • How to transport source system dependent objects

    Hi everybody,
    I've read several questions about how to transport source dependent objects between systems and I still don't get whole picture
    say I have BWDEV attached to R3DEV and
               BWQA attached to R3QA
    and I want to transport transfer rules from BWDEV to BWQA
    1) should I create, by hand, the source system R3QA in BWQA and replicate its datasources in the first place?
    2) or it has to be transported from BWDEV and "some how" converted in BWQA
    3) where does the source system name mapping has to be done: in BWDEV, BWQA or in both
    4) in order to do the mapping of names in BWQA I need to create the corresponding R3QA, otherwise I don't have the entry under TargSrceSy when executing tc RSLGMP
    I really apreciate an step by step process for the above scenario
    thanks a lot

    Hi Juan,
    Let me try to shed some light. Before you can transport dependent objects in the BW side, you have to make sure that the necessary dependencies in the R/3 side have already been transported. For example, if you have a datasource in R/3, you have to transport that from dev to QA first (before you transport anything in BW). Then, in the BW QA box you have to replicate the datasource before you can transport any BW objects in the BW QA. Then before transporting anything to BW QA and after replicating the datasource in the BW QA you have to go to RSA1->Tools Menu->Assignment of Source System to Source System ID menu item and make sure that R3DEV is mapped to R3QA. It is only after all the said checks have been done that you can transport objects in the BWQA.
    Here are my answers to your questions:
    Q1: This depends on your datasource. Some datasources can be transported. Some can be created in the QA box itself. But in both cases, you have to make sure that DataSource exists in R3QA and then replicate it in the BWQA.
    Q2: The conversion follows the setup in "Assignment of Source System to Source System ID" in RSA1.
    Q3: The "Assignment of Source System to Source System ID" in RSA1 has to be done in the BWQA.
    Q4: Yes, you have to setup the R3QA Source System in the BWQA.
    Hope this helps.

Maybe you are looking for

  • ISE 1.2 CWA with Multiple PSNs - SessionID Replication / Session Expired

    Hi all. I have a (2) Policy Services Nodes (PSNs) in an ISE 1.2 deployment running patch 1. We are using Wireless MAB and CWA on 5760 Wireless LAN Controllers running v3.3.3. We are hitting an issue wherein a client first passes MAB and then gets red

  • How can we check data in r3 with that of  BI Report?

    Hi All, I have data in report. I have to compare that data in the report  with that of soure data(r3). in the source when i got to rsa3 and give the data source i am able to see total number of records but no the data. 1)How can i see the data coming

  • Consignment Issue for BOM

    Hello All, In my company they want to do consigment with BOM's and some of the components in the BOM are free item. Poeple implemented here told we can't do this and just created consignment fillup and left the process half way. example: Customer A a

  • Indesign CS5 Rotate Tool Anchor Point Bug

    When rotating any object using either the rotate tool or 'Rotate 90 Clockwise/Anti Clockwise' the Anchor point defaults to the top left hand corner of the object frame. I would expect the Default Anchor point to be the center of any object that is pl

  • HT1338 can i replace my mac with a newest model and pay a difference

    can i replace my mac with the newest model and pay a difference>>>