MakePersistent exception and second class object value

1. When makePersistent is called on an object with application id that
already exists in the database, a JDOFatalDataStoreException is thrown.
The JDO specification calls for a JDOUserException (17.1.4).
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the value
of the second class object.
Suggestion: Delete statements should be issued to delete stray values for
second class fields.
---------- Program output -------------
After makePersistent: Persistent-Dirty-New
After add inside transaction: Persistent-Dirty-New
[ C:9; S:58; T:5; D:11/29/02 9:47 PM ] INSERT INTO PORTFOLIOX(JDOLOCKX,
JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio', 'TESTPF')
[ C:9; T:5; D:11/29/02 9:47 PM ] roll back data store transaction
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
[code=1062;state=S1009]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
end trans[11/29 21:47:28:913]

Well, you can always do this type of cleanup manually if you so desire.
Having Kodo automatically guess about what constitutes valid data seems
pretty dangerous though.
I'd suggest that you put the appropriate deferred referential integrity
checks on your schema instead. This will let the database guarantee the
consistency of the data.
-Patrick
Quoc Pham wrote:
If the data for the second class member somehow are there in the table
(maybe someone deleted the owning instance without cleaning up the owned
data), then it woul be picked up. It would be safer to have an option to
issue an SQL statement to clean up the data.
"Patrick Linskey" wrote in message
news:asegfu$9r0$[email protected]..
Quoc Pham wrote:
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the
value
of the second class object.What do you mean by 'stray data?'
-Patrick
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com

Similar Messages

  • Created with second class object failure.

    Hi All,
    When I am trying to import tables from the database, I got the following warning message.
    Only for some of the tables I am getting.
    The table is importing properly. But I don't know why I am getting this error.
    Please anyone can explain.
    Thank you,
    Regards,
    Gowtham Sen.

    Hello!
    Second class objects are columns, indexes, constraints etc. Probably some of these contains reserved OWB keywords. You can check what went wrong by drilling down to these objects on the results screen.
    Regards,
    Robert

  • SECOND CLASS OBJECT FAILURE

    When I try to import a table into my target warehouse I get a message saying 'created with second class object failure'.
    What is this referring to ??
    Thanks in advance
    Paul Heath

    Paul,
    It is possible that a second class object (a table field, for example) is not created correctly. OWB does not support certain data types, so I suggest to check you table structure.
    Regards:
    Igor

  • OWB ERROR:  created with second class object failure

    I'm getting this error when I import a table into the repository. any ideas?
    created with second class object failure

    Hello!
    Second class objects are columns, indexes, constraints etc. Probably some of these contains reserved OWB keywords. You can check what went wrong by drilling down to these objects on the results screen.
    Regards,
    Robert

  • Raising Exceptions and Assistance classes

    Hi everyone. I know that the WDA framwork will not let me declare a raising clause in the method signature. However, during checks in the component i usually declare some code like this which is not pretty:
    The methods below were declared in the view controller.
    *---this method is called from DOBEFOREACTION method
    METHOD validate_view_fields .
      DATA: l_returncode TYPE sysubrc.
      CALL METHOD validate_required_fields(
        IMPORTING
          e_returncode = l_returncode ).
      IF l_returncode <> 0.
        e_returncode = l_returncode.
      ENDIF.
    -more code down here-
    ENDMETHOD.
    I would like the framework to call a method and if something goes wrong I do not want to proceed further down the code or navigate. If I could declare exceptions I could handle this pretty easily.
    If assistance classes or model classes are the answer then would I be able to read the context from those classes? I've also read that passing references of the web dynpro controllers to the assistance class could produce some problems.
    What's the best way to check the view fields and to prevent going further with the subsequent code if an exception condition is found?
    Thanks! Generous points will be awarded!

    Hi Alexander,
    The best way to check the input fields and prevent the framework from calling further methods is this:
    Check the values in WDDOBEFOREACTION. In this method you can check the name of the action, if it is an action of the same view. Maybe you want to skip testing, if the user pressed the CANCEL button or something similar.
    Report the message as an error message attached to an attribute. Then the next methods (e.g. event handler) will not be called, and therefore no navigation will take place.
    If this does not work as described here, you should check your basis support package. It should be SP11 or higher.
    Ciao, Regina

  • Checked Exception and Anonymous classes

    Hi I am refering to java certification book that says : If a checked exception is thrown during the execution of initializer expression, then it has to be caught and handled. This restriction does not apply to instance initializer expressions in anonymous classes.
    I have codes for the above statement but failed to get the correct result. Is there some problem with the code :
    class RoomOccupancyTooHighException extends RuntimeException {} // (1) Unchecked Exception
    class TooManyHotelsException extends Exception {}           // (2) Checked Exception
    class base
         public void fun()
              System.out.println("base");
    class derived
         public static base funtion()
              return new base()
                                       int a = fu();
                                       int fu()
                                            if(a==1)
                                            throw new TooManyHotelsException();
                                            return 100;
                                       public void fun()
                                            System.out.println("derived");
         public static void main(String str[])
              base b = funtion();
              b.fun();
    }

    In anonynous class initialisation you don't need to declare the exception but you still need to handle it in the calling code.
    The code you provided does not compile for that reason.

  • What is the advantage of using IB to create XIBs/Class Objects over coding?

    Hi all,
    I hoping someone can provide me some pros and cons as to when I should use IB to create XIBs and/or class objects as opposed to directly coding them.
    For example, if I choose Apple's Template for creating a Navigation Based Application (cocoa touch), the project creates two NIB files - MainMenu and RootViewController.
    However looking at one of demo apps SimpleDrillDown, it does not have a RootViewController XIB and instead creates it via code.
    Another example from the same two apps is that the template generates a "Navigation Controller" class object in the Mainmenu.xib. SimpleDrillDown does not bother with this in the XIB, but uses code to generate the controller:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Create the navigation and view controllers
    RootViewController *rootViewController = [[RootViewController alloc] init];
    UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
    self.navigationController = aNavigationController;
    [aNavigationController release];
    [rootViewController release];
    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    as opposed to the template which only needs this:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Configure and show the window
    // Navigation Controller is defined in MainWindow.xib
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    So what are the advantages of each approach. Why does apple suggest one approach and yet all its demos use another.
    Any thoughts, answers gratefully received.
    TIA, Michael.

    You can do whatever you're comfortable with, but most of the best Cocoa programmers--the ones on the Mac, I mean--recommend putting everything you can into Interface Builder.
    It's a little like the difference between writing a program to do a bunch of financial calculations and using a spreadsheet. Yeah, the program can do everything the spreadsheet can--and more besides--but you'll find it far easier to create, use and modify the spreadsheet.
    Interface Builder takes away a lot of completely meaningless choices ("What order should I create the objects in? How should I name the variables? How should I create their frames? What order should I set the attributes in?"), leaving you with an interface optimized for creating and arranging objects, and allowing your code to focus on what you really do need to think about--your application's logic.
    (By the way--part of the reason Apple's demos don't all use Interface Builder is that the very first SDK releases didn't have it. Back then, you had to create all your views programatically. Believe me, I have no wish to go back to setting autoresize masks manually. Now get off my lawn, whippersnapper.)

  • Exception Description: Unable to process XML tag [driver-class] with value

    Hi
    I'm newbie with TopLink. I try to write a litle application with TopLink:
    - First, I create a session.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions version="11g Technology Preview 3 (11.1.1.0.0)" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <session xsi:type="database-session">
    <name>dbsession</name>
    <event-listener-classes/>
    <logging xsi:type="toplink-log"/>
    <primary-project xsi:type="xml">META-INF/tlMap.xml</primary-project>
    <login xsi:type="database-login">
    <platform-class>oracle.toplink.platform.database.oracle.Oracle10Platform</platform-class>
    <user-name>dev</user-name>
    <password>F6A3DA7BA187330D4E11A713C42FF833</password>
    <sequencing>
    <default-sequence xsi:type="table-sequence">
    <name>Default</name>
    </default-sequence>
    </sequencing>
    <driver-class>oracle.jdbc.OracleDriver</driver-class>
    <connection-url>jdbc:oracle:thin:@//10.10.10.31:1521/devdb1</connection-url>
    <bind-all-parameters>false</bind-all-parameters>
    <struct-converters/>
    </login>
    </session>
    </toplink-sessions>
    - Second, I create a Java Application ( Application1.java):
    package project2;
    import java.sql.ResultSet;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Vector;
    import oracle.toplink.queryframework.DataModifyQuery;
    import oracle.toplink.queryframework.SQLCall;
    import oracle.toplink.queryframework.StoredProcedureCall;
    import oracle.toplink.sessions.DatabaseSession;
    import oracle.toplink.sessions.Session;
    import oracle.toplink.tools.sessionconfiguration.XMLSessionConfigLoader;
    import oracle.toplink.tools.sessionmanagement.SessionManager;
    import oracle.toplink.util.SessionFactory;
    public class Application1 {
    public Application1() {
    public static void main(String[] args) {
    // new Application1();
    String statement = "SELECT motdepasse,login FROM bou_courtier";
    SessionManager sessionmanager = SessionManager.getManager();
    System.out.println("test");
    // SessionFactory sessionfactory = new SessionFactory("META-INF/sessions.xml","dbsession");
    DatabaseSession session = (DatabaseSession)sessionmanager.getSession(new XMLSessionConfigLoader(),"dbsession",Thread.currentThread().getContextClassLoader());
    // Session session = sessionfactory.acquireSession();
    System.out.println("test");
    SQLCall sqlcall = new SQLCall(statement);
    session.executeNonSelectingCall(sqlcall);
    ResultSet rs = sqlcall.getResult();
    try {
    while(rs.next()){
    String strPass = rs.getString(1);
    String strLogin = rs.getString(2);
    System.out.println("Password :"+strPass+"---"+"Login :"+strLogin);
    } catch (SQLException e) {
    // TODO
    - Third, I build and run Application1.java in Jdevelopper 11g preview 3. Sadly, the result is a error:
    Exception in thread "main" Local Exception Stack:
    Exception [TOPLINK-9003] (Oracle TopLink - 11g Technology Preview 3 (11.1.1.0.0) (Build 071207)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [driver-class] with value [oracle.jdbc.OracleDriver].
    Internal Exception: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
         at oracle.toplink.exceptions.SessionLoaderException.failedToLoadTag(SessionLoaderException.java:83)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildDatabaseLoginConfig(TopLinkSessionsFactory.java:408)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildLogin(TopLinkSessionsFactory.java:336)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildDatabaseSessionConfig(TopLinkSessionsFactory.java:182)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildSession(TopLinkSessionsFactory.java:168)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildTopLinkSessions(TopLinkSessionsFactory.java:117)
         at oracle.toplink.tools.sessionconfiguration.XMLSessionConfigLoader.load(XMLSessionConfigLoader.java:239)
         at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:448)
         at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:311)
         at project2.Application1.main(Application1.java:33)
    Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildDatabaseLoginConfig(TopLinkSessionsFactory.java:405)
         ... 8 more
    Process exited with exit code 1.
    Can you help me to debug this error. Many thanks
    user615555

    The internal error: "java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver"
    is stating it can't find your driver jar file on the classpath. You'll need to check that you've included your Database driver in the list of libraries on your classpath.
    Best Regards,
    Chris

  • Problem in generic value copier class / reflection and generic classes

    Hello experts,
    I try to archive the following and am struggling for quite some time now. Can someone please give an assessment if this is possible:
    I am trying to write a generic data copy method. It searches for all (parameterless) getter methods in the source object that have a corresponding setter method (with same name but prefixed by "set" instead of "get" and with exactly one parameter) in the destination object.
    For each pair I found I do the following: If the param of the setter type (T2) is assignable from the return type of the getter (T1), I just assign the value. If the types are not compatible, I want to instantiate a new instance of T2, assign it via the setter, and invoke copyData recursively on the object I get from the getter (as source) and the newly created instance (as destination). The assumption is here, that the occurring source and destination objects are incompatible but have matching getter and setter names and at the leaves of the object tree, the types of the getters and setters are compatible so that the recursion ends.
    The core of the problem I am struggling with is the step where I instantiate the new destination object. If T2 is a non-generic type, this is straightforward. However, imagine T1 and T2 are parametrized collections: T1 is List<T3> and T2 is List<T4>. Then I need special handling of the collection. I can easily iterate over the elements of the source List and get the types of the elements, but I can not instantiate only a generic version of the destinatino List. Further I cannot create elements of T4 and add it to the list of T2 and go into recursion, since the information that the inner type of the destination list is T4 is not available at run-time.
    public class Source {
       T1 getA();
       setA(T1 x);
    public class Dest {
       T2 getA();
       setA(T2 x);
    public class BeanDataCopier {
       public static void copyData(Object source, Object destination) {
          for (Method getterMethod : sourceGetterMethods) {
             ... // find matching getter and setter names
             Class sourceParamT = [class of return value of the getter];
             Class destParamT = [class of single param of the setter];
             // special handling for collections -  I could use some help here
             // if types are not compatible
             Object destParam = destination.getClass().newInstance();
             Object sourceParam = source.[invoke getter method];
             copyData(sourceParam, destParam);
    // usage of the method
    Souce s = new Source(); // this is an example, I do not know the type of s at copying time
    Dest d = new Dest(); // the same is true for d
    // initialize s in a complicated way (actually JAX-B does this)
    // copy values of s to d
    BeanDataCopier.copyData(s, d);
    // now d should have copied values from s Can you provide me with any alternative approaches to implement this "duck typing" behaviour on copying properties?
    Best regards,
    Patrik
    PS: You might have guessed my overall use case: I am sending an object tree over a web service. On the server side, the web service operation has a deeply nested object structure as the return type. On the client side, these resulting object tree has instances not of the original classes, but of client classes generated by axis. The original and generated classes are of different types but have the identically named getter and setter methods (which again have incompatible parameter types that however have consistent names). On the client side, I want to simply create an object of the original class and have the values of the client object (including the whole object tree) copied into it.
    Edited by: Patrik_Spiess on Sep 3, 2008 5:09 AM

    As I understand your use case this is already supported by Axis with beanMapping [http://ws.apache.org/axis/java/user-guide.html#EncodingYourBeansTheBeanSerializer]
    - Roy

  • Loading and viewing XML when a class object is created..Help Please

    Hello,
    I have writing a simple class which has a method that gets invoke when the object of the class is created. I am able to view the loaded XML content when I trace it with in my class method, but cannot assign the content to a instance variable using the mutator method. So the process goes like this:
    Class object is instantiated
    Class construtor then calls the loadXML method which laods the XML
    And then assigns the XML to a class instance variable.
    So now if I would like to access the loaded XML through class object, I should be able to see the loaded xml content which I am not able to see. I have spent over few hours and cannot get the class object to display the loaded XML content. I would highly appreciate it if someone can help in the right direction, please.
    [code]
    package com.as3.app
        import flash.display.*;
        import flash.events.*;
        import flash.text.*;
        import flash.net.*;
        public class Cars extends MovieClip {
               public var _CarList:Object;
               public function Quiz()
                  super();
                  loadCars();
    // ===========================================================
    //           CARS GETTER SETTER
    // ===========================================================
            public function set Cars(val:XML):void
                this._CarList = val;
            public function get Cars():XML
                return this._CarList;
    // ===========================================================
    //            LOAD QUESTIONS FROM XML
    // ===========================================================
            public function loadcars()
                var myXML:XML;
                var myLoader:URLLoader = new URLLoader();
                myLoader.load(new URLRequest("xml/cars.xml"));
                myLoader.addEventListener(Event.COMPLETE, processXML);
                function processXML(e:Event):void
                    myXML = new XML(e.target.data);  
                    Cars = myXML;                 // Assigning the loaded xml data via mutator method to the _CarList;
    //=============================================================  
                                  INSTANTIATING THE CLASS OBJECT
    //=============================================================
    package com.as3.app
        import flash.display.*;
        import flash.events.*;
        import flash.text.*;
        import flash.net.*;
        import com.as3.app.*;
        public class DocumentClass extends MovieClip {
            public var c:Car;
            public function DocumentClass()
                super();
                c = new Cars();  
                trace(c.Cars);
    [/code

    where you have:
                super();
                c = new Cars();  
                trace(c.Cars);
    c.Cars will not trace as the loaded xml, because it will not have loaded in time. After some time it should presumably have the correct value.
    loading operations in actionscript are asynchronous, so your nested function which is acting as the listener ( function processXML(e:Event):void) only ever executes when the raw xml data has loaded and that is (I believe, not 100% sure) always at least one frame subsequent to the current one.
    In general I would consider it bad practise to use nested functions like that, but I don't think its contributing to your issues here. I think its just a timing issue given how things work in flash....
    Additional observation:
    your Cars constructor calls loadCars() and your loadCars method is defined as:
    public function loadcars()
    I assume its just a typo in the forum that the uppercase is missing in the function name....

  • Objects value transfer through class

    Hi,
    Subject sounds strange? well, I dont know how to put it. Here is my problem. I have a class ReadURL which reads a url and creates a buffer. He is the code.
    public class ReadURL {
         public BufferedReader UrlReader(String url2) throws Exception {
            String url1 = "http://www.google.com";
             // Storing second part of the url in a String "url3"
             String url3 = "xxxx";
          //BufferedReader on the input stream and reads from the BufferedReader
             URL web = new URL(url1+url2+url3);
             URLConnection webConnection = web.openConnection();
             BufferedReader in = new BufferedReader(
             new InputStreamReader(
             webConnection.getInputStream()));
            in.close();
              return in;
         }          Now I have another class Readbuffer which should read from this buffer and iterate for further process.... Here is the code
    public class ReadGB extends UrlReader{
             public static void main(String[] args) {
             BufferedReader in = null;
             try {
                 //prepare a BufferedReader for file io
                 BufferedReader br = new BufferedReader(new FileReader(args[0]));
                 int fileType = Integer.parseInt(args[4]);
                 SequenceIterator iter =
                     (SequenceIterator)SeqIOTools.fileToBiojava(fileType, br);
             catch (FileNotFoundException ex) {
               //can't find the file specified by args[0]
               ex.printStackTrace();
               System.exit(-1);
         Can you please show me, How do I feed the buffer information from the first class to the second class for iteration? I am novice, so please dont go to technical about it.
    Thank you very much

    merit wrote:
    Hi,
    Subject sounds strange? well, I dont know how to put it. Here is my problem. I have a class ReadURL which reads a url and creates a buffer. He is the code.
    Can you please show me, How do I feed the buffer information from the first class to the second class for iteration? I am novice, so please dont go to technical about it.
    Thank you very muchGive the second class a reference to the buffer that the first class is filling. Just make sure you don't try to read data before it's written.

  • What are exception class and persistant class?

    hi,
    what are exception class and persistant class?
    how are they different from the normal class?
    Regards,
    Anil

    Hii!
      Persistent Classes
    To use the Persistence Service for objects, the classes of these objects must be created as persistent classes in the Class Builder. The term persistent class does not imply that a class is persistent. (As a template for objects, every class is persistent). Rather, it means that the objects of that class and their state are managed by the Persistence Service. For example, the objects of these classes are instantiated in the ABAP program with a method of the Persistence Service, which ensures that the initialization is correct (not with the usual CREATE OBJECT statement). When the Class Builder creates a persistent class, it automatically generates an associated class, known as the class actor or class agent, whose methods manage the objects of persistent classes. As well as their identity, persistent classes can contain key attributes, which allow the Persistence Service to ensure that the content of each persistent object is unique.
      Check out this link
    http://www.sapnet.ru/abap_docu/ABENABAP_EXCEPTION_CLASSES.htm
    Regards
    Abhijeet

  • How can I make a row of cells containing 3-digit decimals, who's values resulted from calculations within the spreadsheet, appear as durations of minutes and seconds?

    Row 6 in this spreadsheet is the result of Row 2/Row 3 as evidenced by the formula listed while Cell Y6 selected. How can I make the values in this row appear as durations of minutes and seconds rather than 3-digit decimals? For example, rather than appearing as 9.84 I would like the value of Cell Y6 to appear as 9:50 or 9min 50sec. (obviously .84x60seconds 50 seconds). I tried changing the cell formats from "number" to "duration," but no change is made. Using the "duration" format does however work if I am manually entering the decimal value into the cell rather than allowing it to result from another caluclation within the spreadsheet. Is there a solution to this within Numbers '09? You can see why I would want the "pace" displayed in minutes and seconds. Thanks in advance!
    Ryan

    Hi Ryan,
    You wrote:
    "The problem is that my "Distance" is a row of automatically generated values resulting from ((Row1/60)*Row 6). Changing the format of Row 1 to minutes causes row two to be expressed as a duration, which obviously it shouldn't because it is a distance. The spreadsheet has to be designed so that all I have to manually input on each entry are Row 1 Values (Time) and Row 6 Values (Average Pace). The rest of the cells must be automatically poulated as a result of formulas."
    I'm assuming that where you say "Row 1" in this you mean "Row 2", which is labeled "Time" in the example in the OP.
    In the original post, you presented a formula from cell Y6. Replacing the Header labels in that formula's cell reference with the Addresses of the referenced cells, the formula was:
    Y6: =Y2/Y3
    In this post, you are saying that Y6 contains entered data: "...all I have to manually input on each entry are Row 1 Values (Time) and Row 6 Values (Average Pace).
    Which is correct?
    Regards,
    Barry

  • How to get the object class field value in CDHDR table for vendor

    hi
    how to get the object class field value in CDHDR table for vendor

    Try KRED/KRED_N as object class in CDHDR for Vendor.

  • Difference Between Business Object And Class Object

    Hi all,
    Can any one tel me the difference between business object and class Object....
    Thanks...
    ..Ashish

    Hello Ashish
    A business object is a sematic term whereas a class (object) is a technical term.
    Business objects are all important objects within R/3 e.g. sales order, customer, invoice, etc.
    The business objects are defined in the BOR (transaction SWO1). The have so-called "methods" like
    BusinessObject.Create
    BusinessObject.GetDetail
    BusinessObject.Change
    which are implemented (usually) by BAPIs, e.g.:
    Business Object = User
    User.Create => BAPI_USER_CREATE1
    User.GetDetail => BAPI_USER_GET_DETAIL
    CONCLUSION: Business Object >< Class (Object)
    Regards
      Uwe

Maybe you are looking for

  • SIGNATURES

    I saw on youtube that you can sign in Adobe reader but in mine the tools menu in not in the bar menu where can I find the signing option?

  • [question] Leopard web server

    Hello guys, I start the web service in 'Server Admin' panel, it's working now and i can see the default html page by type this 192.168.1.5 in my browser. As you may know that all the files for web are placed in this folder /Library/WebServer/Document

  • Tell us what's your MSI weapon

    Hey guys. As a first thread in this section, I suggest to share your gaming weapons from MSI (if you have one) + your opinions what you like or dislike about it, if you made any changes to it etc. I'll start and the rest of you, don't be shy and shar

  • Remote console session freezes when scrolling

    My host: Laptop running Windows XP SP3. Guest: Windows 2008 R2, physically on a USB hard drive. My VMware server version is 2.0.2. I have ongoing problems with the host session freezing up. I have had this problem intermittently while working in MMC

  • Error: DEPLOY_ONLINE Phase : Upgrade

    hi We are upgrading NW2004 to NW2004s (EP 6 SP16 to EP 7 SP10) we got stuck in following phase below system info OS: Win2K3 DB: Oracle 9.2.0.6 Upgraded to Oracle 10.2.0.2 SAP: EP6 SP16 <b>Upgrading</b> to EP7 SP10 following is the log file attached D