Detach-on-close question

Hi,
1) is it possible to configure the classes concerned by the
detach-on-close?
2) what's the performance penalty of detaching objects (neglectable?)?
Regards,
J-F

Hi,
as far as i know you can only define per class if it is detachable at all.
Detach-On-Close is a global parameter w/o any additional properties like
what classes should be detached on close.
regarding your second question, i think some of the solar guys should
answer on this.
Marc Logemann
J-F Daune wrote:
Hi,
1) is it possible to configure the classes concerned by the
detach-on-close?
2) what's the performance penalty of detaching objects (neglectable?)?
Regards,
J-F

Similar Messages

  • Detach-on-close behaviour

    Guys!
    We are trying to use 'detach-on-close' option of PersitanceManager. But we
    have only some small subset of PersitentCapable objects that are stored in
    HTTPSession. So we decided to mark only this subset as 'detachable'.
    And... have got kodo.util.UserException that in fact tales us that we
    should mark ALL PersitentCapable managed by PersitanceManager as
    'detachable'. Oops!
    Is there any way to use 'detach-on-close' only with concrete subset of
    PersitentCapable objects? It's very strange that PersistentManager uses
    detachAll() method instead of checking detachable metadata of its managed
    PersitentCapable objects.
    Thanks in advance for any help or info by the subject,
    Den Orlov

    Is there a particular reason you did not make all classes detachable (it
    changes enhancement only slightly and in a non-interfering way). If you
    want to trim the object graph, you would be better served using fetch
    groups.
    Den Orlov wrote:
    Guys!
    We are trying to use 'detach-on-close' option of PersitanceManager. But we
    have only some small subset of PersitentCapable objects that are stored in
    HTTPSession. So we decided to mark only this subset as 'detachable'.
    And... have got kodo.util.UserException that in fact tales us that we
    should mark ALL PersitentCapable managed by PersitanceManager as
    'detachable'. Oops!
    Is there any way to use 'detach-on-close' only with concrete subset of
    PersitentCapable objects? It's very strange that PersistentManager uses
    detachAll() method instead of checking detachable metadata of its managed
    PersitentCapable objects.
    Thanks in advance for any help or info by the subject,
    Den Orlov
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • CAN Interface Open/Close Question

    I have a program I'm writing where I need to monitor a master CAN0 node for frame packets, but also transmit frames to that node. My question is, do I need to start my VI by first opening a slave CAN1 Node Port and leave it open to poll and transmit frames to the master node through out the rest of my VI test execution or can I just open the slave CAN1 node port, poll for new messages or transmit a frame then close it again. I'm assuming if I close the port each time I will lose any frames sent by the master CAN0 node, is that true or will the frames still be queued up to be retrieved when I open the slave CAN1 port again?
    Thanks in advance.

    Hello QRP,
    Using a close VI such the NI-CAN ncClose.vi for the the frame API will close out the object you are using. When an object is closed NI-CAN stops all the current operations and also clears all the current configurations for the object. In your case specifically any queued frames would be cleared. I have included a link to the NI-CAN Hardware and Software Manual for your reference, this manual contains all the reference information for each NI-CAN function and VIs. Please look over this documentation for more detailed information on any VIs you have questions about, I would also recommend taking a look at some of the shipping examples for NI-CAN under Help>>Find Examples in LabVIEW. Hope this helps!
    Paul-B
    Applications Engineer
    National Instruments

  • Issue in af:Table horizontal scrollbar in detach mode

    We are facing a weird issue with detach button of table's panelcollection.
    The table is a data heavy, having around 20 + columns. For the table I am able to see horizontal scroll bar when it loads ( or till I click detach button)
    1) When I use the detach of panel collection, the horizontal bar doesn't appear in the popup and not able to columns which does not fit on the screen.
    2) After detach popup close, the scroll bar that appeared on the table also goes away. (User has to click add/delete button to refresh the table and see the horizontal scroll bar back in the table.)
    Is this a bug, or am I missing something? Can anyone please help.
    We are using Jdev version: 11.1.1.5,
    Using ADF BC and ADF Faces for current application.
    Thanks,
    Srini.

    Hi,
    I am not aware of such a problem and you may want to try with different browsers to see if this is browser specific. Since JDeveloper 11.1.1.6 is available you should also try to reproduce it here. If this still shows, then I am afraid you need to contacts customer support to have them analyzing the issue
    Frank

  • Detach/makePersistence DTO behaviour

    Suppose I have a DAO with crud methods and it handles DTOs which are detached instances of persistence capable classes, for instance:
    //DAO
    public void update(MyDto dto)
       pm.makePersistent(dto)
    //APP
    MyDto detachedDto = ...
    myDao.update(detachedDto);The dto passed in gets attached using makePersistent but does the client's instance of detachedDto suddenly become persistent?
    I was reading the javadocs for PersistenceManager.makePersistent:
    "Any references to the detached instances from instances in the closure of the parameter instances are modified to refer to the corresponding persistent instance instead of to the detached instance."
    I get lost somewhere in the middle of the that sentence. Can anyone shed some light on the behaviour in this case?
    Thanks.
    Mark

    Is there a particular reason you did not make all classes detachable (it
    changes enhancement only slightly and in a non-interfering way). If you
    want to trim the object graph, you would be better served using fetch
    groups.
    Den Orlov wrote:
    Guys!
    We are trying to use 'detach-on-close' option of PersitanceManager. But we
    have only some small subset of PersitentCapable objects that are stored in
    HTTPSession. So we decided to mark only this subset as 'detachable'.
    And... have got kodo.util.UserException that in fact tales us that we
    should mark ALL PersitentCapable managed by PersitanceManager as
    'detachable'. Oops!
    Is there any way to use 'detach-on-close' only with concrete subset of
    PersitentCapable objects? It's very strange that PersistentManager uses
    detachAll() method instead of checking detachable metadata of its managed
    PersitentCapable objects.
    Thanks in advance for any help or info by the subject,
    Den Orlov
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Detach-on-serialize problem

    Hello,
    My persistent class 'A' extends a non-persistent, Serializable class 'B' which contains a field 'c' that references an instance of another non-persistent, Serializable class 'C'.
    I'm finding that enabling detach-on-serialize causes that reference field 'c' to not be serialized. It serializes correctly if the persistent class 'A' is unenhanced, or is not detachable, or does detach-on-close. Only detach-on-serialize causes the problem.
    I am using Kodo 3.4.0. I haven't been able to find any similar bug report or newsgroup posting, but is this a known issue? Fixed in a later release?
    Also, I tried changing from an inheritance model to a delegation model. So the persistent class 'A' has a non-persistent reference field 'b' of type 'B'. In this model, serialization worked correctly as long as 'b' was not final.
    I'm not fond of that object model, though, and I would like to use detach-on-serialize. Any other suggestions for a workaround?
    Thanks,
    Paul
    Edited by pmogren at 06/17/2008 2:52 PM

    What if I did something like this in conjunction with detachable="true":
    private void writeObject(ObjectOutputStream out) throws IOException {
    PersistenceManager pm = JDOHelper.getPersistenceManager(this);
    if (pm != null) {
    pm.detach(this);
    out.defaultWriteObject();
    Edited by pmogren at 06/19/2008 5:50 AM
    Edited by pmogren at 06/19/2008 5:50 AM
    Edited by pmogren at 06/19/2008 5:52 AM

  • Can HPCM calculate percentages to use in allocations as well as perform the allocations

    Hi All
    I have a client that is evaluating which products to purchase from the Oracle stack.  Unfortunately I don't know HPCM yet so I'm not sure of its capabilities.  I think they will definitely go with Hyperion Planning but they do some relatively simple allocations and I cannot decide whether or not they need HPCM.  They currently have a relational / access database that is used to calculate percentages to be used to allocate costs from back office to front office.  Whether they need to purchase HPCM seems to depend upon whether HPCM can calculate the percentages required for the allocation as well as perform the allocations.  The options as I see it are:
    1.  Replace legacy system with HPCM and use HPCM to calculate percentage and apply percentages to allocate costs
    2.  Keep legacy system for calculating percentages, upload percentages to HPCM and use HPCM to allocate costs
    3.  Keep legacy system for calculating percentages, upload percentages to Essbase and use Essbase to allocate costs
    4.  Keep legacy system for calculating percentages and allocating costs (not ideal as will require additional system interfaces of data from and to Hyperion Planning)
    I know HPCM uses Essbase, when I say Essbase above I mean Hyperion Planning.  I have advised the client that they ought to avoid option 4 but I am not clear enough on what HPCM can do to advise them on which of the other options is most suitable / cost effective.
    Any help would be appreciated.
    Regards
    Stu

    Hi Stu,
    the plain answer is Yes, HPCM can do such a simple task. In my private opinion, it would be a bit oversized.
    I want to add an option and put my vote on this:
    0.  Pull in a DB connection the required data into Planning and use Planning to calculate percentage and apply percentages to allocate costs.
    Regards,
    Philip Hulsebosch.
    www.trexco.nl
    p.s. To all users, close questions which were answered. Then we do not have to open them to see if we can help = saves us time to help others.

  • Re: Report output header text longuage change

    Hi Dear's,
    Ataually my issue is am unable to change report output header field text to user specific login longuage....
    I.e. if user login to ITALY/GERMANY then report output header text should be displayed on same  Longuage for this can any body give me some idea
    Thanks & Advance,
    srinivas.
    Edited by: SRINIVAS1234 on Jul 23, 2011 11:35 AM

    Hi SRINIVAS1234,
    you can close it as answered and add your personal solution just to let people know how it can be handled. You can also close questions as unanswered but this implies that your problem is still existing.
    Regards
    Clemens

  • RMI uses incorrect InetAddress on machine with two nics

    Hello All,
    RMI registry and server run on the same host. Host has two nics, one assigned for private network (192.168.x.x) and another for global.
    For the sake of creating RMI registry I use the global one and specify it as four dot-delimited numbers instead of machine name:
    Registry registry = LocateRegistry.getRegistry("xxx.xxx.xxx.xxx", rmiPort); // "xxx.xxx.xxx.xxx" is global IP addressInvoking a method with just a port as a single parameter causes RMI to bind to the private address, so I avoided that trouble by using numeric IP.
    Remote client is able to locate the registry and extract the stub from it now, but ironically retrieved stub contains private address inside.
    Debugger shows that the proxy stub contains TCPEndpoint which resolves to 192.168.xxx.xxx:yyyy
    I am exporting the object on the server side by using UnicastRemoteObject.exportObject(myObj, 0) method.
    Unfortunately, there is no method which would allow to specify the InetAddress to bind the object on.
    I've seen the battle on page [Remote Method Invocation (RMI) - Why does RMI server sets its connection address?|http://forums.sun.com/thread.jspa?threadID=5366985].
    Close questions are discussed, but I haven't found answer on my question.
    Is there an ability to specify the address when exporting the object?
    Or any workaround to let the client retrieve the proper stub which can be used to send requests to the server?
    Thank,
    Alex.

    For the sake of creating RMI registry I use the global one and specify it as four dot-delimited numbers instead of machine name:
    Registry registry = LocateRegistry.getRegistry("xxx.xxx.xxx.xxx", rmiPort); // "xxx.xxx.xxx.xxx" is global IP address
    That doesn't create a registry. It just returns a stub to an existing registry.
    Invoking a method with just a port as a single parameter causes RMI to bind to the private address.No it doesn't. It causes RMI to construct a stub using "localhost" as the hostname. If this maps to the private address via your /etc/hosts file or DNS, so be it.
    Remote client is able to locate the registry and extract the stub from it now, but ironically retrieved stub contains private address inside.Nothing ironic about it. The stub doesn't know where you got it from. The address inside the stub is controlled by what "localhost" resolves to in the server JVM. If it resolves to something inconvenient, either change that or set the system property java.rmi.server.hostname to the desired IP address or hostname in the server JVM.
    Unfortunately, there is no method which would allow to specify the InetAddress to bind the object on.You don't normally need one, see above, although in pathological cases you could use an RMIServerSocketFactory, which does give you that ability.
    I haven't found answer on my question.See also the RMI FAQ, item A.1.
    Is there an ability to specify the address when exporting the object? See above.

  • Set Parameter Array of OTYPE_ROWID

    I have tried to adds a parameter array to a database as OTYPE_ROWID.
    the sample codes are as follow:
    //Use oo4o to connect DB
    CString strRowIDArrayName = "U1";
    long ParamRecordCount = 5;
    ODatabase db;
    db.open("DSN","UID","PWD");
    OParameterCollection ParamColl = db.GetParameters();
    ParamArray1=ParamColl.AddTable(strRowIDArrayName,OPARAMETER_INVAR,OTYPE_ROWID,ParamRecordCount);
    BOOL bln = ParamArray1.IsOpen();
    db.close();
    Question:Why the bln is 0
    and failure in use the ParamArray1 to execute SQL statement .
    Please help me.
    my email address: [email protected]
    thank a lot

    You're right, this not directly described...  
    First you should read how LabVIEW stores data in memory,
    then read about structure packing pragma,
    and finally take a look to C/C++ preprocessor reference,
    then you will get feeling how to solve this problem...
    Otherwise own DLLs used in LabVIEW code pretty rarely, and Double precision also not very often...
    The same trouble you may get with clusters, but here behaviour described:
    "...The memory layout of a cluster depends on the platform you are running. LabVIEW may add padding between cluster elements so that those elements are aligned to certain address boundaries. Address boundaries relate to the concept of natural alignment. A piece of data is aligned on its natural boundary if the address at which it begins is a multiple of the size of the data. For example, a 4-byte integer is aligned naturally if it begins at an address which is a multiple of four. Most compilers have an upper limit on this boundary at which the restriction is relaxed. For instance, an 8-byte integer may be aligned on a 4-byte boundary. For the platforms on which LabVIEW runs, the alignment constraints are as follows:
    (Windows) Data is aligned only to 1-byte boundaries.
    (Mac OS and Linux) Data is aligned naturally up to 4-byte boundaries.
    (VxWorks PowerPC) Data is aligned naturally up to 8-byte boundaries.
    On all platforms, clusters adopt the alignment of their most restrictively aligned element..."
    best regards and happy wiring...
    Andrey.
    Message Edited by Andrey Dmitriev on 10-23-2008 03:38 PM

  • Writing to dat using GUI

    Can someone please help me with my code as i am stuck, I have succesfully displayed the question i want to screen using the button find. Then and only then will the bottom panel be shown with the question and relevant answers displayed in text boxes.
    I need help in overwriting what the text box said to what the user then changes it to and writing it to the dat file. any help on this would be greatly appreciated as its part of an assignment i have to do for next week and this is only one part of it cheers. My code is as follows:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    public class UpdateQuestions extends JFrame implements ActionListener
         Container cPane;
         JPanel p1,p2;
         JButton btnFind,btnUpdate,btnClose;
         JTextField tfNumberSearch,tfQuestionNum,tfQuestion,tfAnswerA,tfAnswerB,tfAnswerC,tfCorrect;
         JLabel lblNumberSearch,lblQuestion,lblAnswerA,lblAnswerB,lblAnswerC,lblCorrect;
         RandomAccessFile rf;
         UpdateQuestions()
              cPane = getContentPane();
              cPane.setBackground(Color.RED);
              //Build Update Window
              setTitle("Update Quiz Questions");
              setSize(1024,768);
              setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
              //Absolute Layout Manager
              cPane.setLayout(null);
              //Size & Layout For Top Panel
              p1 = new JPanel();
              p1.setBackground(Color.WHITE);
              p1.setBounds(50,50,600,100);
              p1.setLayout(null);
              cPane.add(p1);
              //Top Panel
              lblNumberSearch = new JLabel("Enter Question No");
              lblNumberSearch.setFont(new Font("Serif",Font.BOLD,24));
              lblNumberSearch.setForeground(Color.BLACK);
              lblNumberSearch.setBounds(10,30,200,50);
              p1.add(lblNumberSearch);
              tfNumberSearch = new JTextField();
              tfNumberSearch.setFont(new Font("Serif",Font.BOLD,18));
              tfNumberSearch.setColumns(3);
              tfNumberSearch.setForeground(Color.BLACK);
              tfNumberSearch.setBounds(210,30,100,50);
              p1.add(tfNumberSearch);
              btnFind = new JButton("Find");
              btnFind.setFont(new Font("Serif",Font.BOLD,26));
              btnFind.addActionListener(this);
              btnFind.setBounds(400,10,100,80);
              p1.add(btnFind);
              p1.setVisible(true);
              //Size & Layout For Bottom Panel
              p2 = new JPanel();
              p2.setBounds(50,250,900,400);
              p2.setLayout(null);
              cPane.add(p2);
              // Question Label & Text Box
              lblQuestion = new JLabel("Question");
              lblQuestion.setFont(new Font("Serif",Font.BOLD,24));
              lblQuestion.setForeground(Color.BLACK);
              lblQuestion.setBounds(10,10,330,50);
              p2.add(lblQuestion);
              tfQuestion = new JTextField();
              tfQuestion.setFont(new Font("Serif",Font.BOLD,18));
              tfQuestion.setColumns(50);
              tfQuestion.setForeground(Color.BLACK);
              tfQuestion.setBounds(150,10,600,50);
              p2.add(tfQuestion);
              //Answer A Label & Text Box
              lblAnswerA = new JLabel("Answer A");
              lblAnswerA.setFont(new Font("Serif",Font.BOLD,24));
              lblAnswerA.setForeground(Color.BLACK);
              lblAnswerA.setBounds(10,90,330,50);
              p2.add(lblAnswerA);
              tfAnswerA = new JTextField();
              tfAnswerA.setFont(new Font("Serif",Font.BOLD,18));
              tfAnswerA.setColumns(20);
              tfAnswerA.setForeground(Color.BLACK);
              tfAnswerA.setBounds(150,90,400,50);
              p2.add(tfAnswerA);
              //Answer B Label & Text Box
              lblAnswerB = new JLabel("Answer B");
              lblAnswerB.setFont(new Font("Serif",Font.BOLD,24));
              lblAnswerB.setForeground(Color.BLACK);
              lblAnswerB.setBounds(10,170,330,50);
              p2.add(lblAnswerB);
              tfAnswerB = new JTextField();
              tfAnswerB.setFont(new Font("Serif",Font.BOLD,18));
              tfAnswerB.setColumns(20);
              tfAnswerB.setForeground(Color.BLACK);
              tfAnswerB.setBounds(150,170,400,50);
              p2.add(tfAnswerB);
              //Answer C Label & Text Box
              lblAnswerC = new JLabel("Answer C");
              lblAnswerC.setFont(new Font("Serif",Font.BOLD,24));
              lblAnswerC.setForeground(Color.BLACK);
              lblAnswerC.setBounds(10,250,330,50);
              p2.add(lblAnswerC);
              tfAnswerC = new JTextField();
              tfAnswerC.setFont(new Font("Serif",Font.BOLD,18));
              tfAnswerC.setColumns(20);
              tfAnswerC.setForeground(Color.BLACK);
              tfAnswerC.setBounds(150,250,400,50);
              p2.add(tfAnswerC);
              //Correct Answer Label & Text Box
              lblCorrect = new JLabel("Correct");
              lblCorrect.setFont(new Font("Serif",Font.BOLD,24));
              lblCorrect.setForeground(Color.BLACK);
              lblCorrect.setBounds(10,330,330,50);
              p2.add(lblCorrect);
              tfCorrect = new JTextField();
              tfCorrect.setFont(new Font("Serif",Font.BOLD,18));
              tfCorrect.setColumns(20);
              tfCorrect.setForeground(Color.BLACK);
              tfCorrect.setBounds(150,330,400,50);
              p2.add(tfCorrect);
              btnUpdate = new JButton("Update");
              btnUpdate.setFont(new Font("Serif",Font.BOLD,26));
              btnUpdate.addActionListener(this);
              btnUpdate.setBounds(700,300,150,80);
              p2.add(btnUpdate);
              p2.setVisible(false);
         private String pad(String s,int size)
              int x;
              for (x = s.length(); x < size; x++)
                   s = s + " ";
              return s;
         public void actionPerformed(ActionEvent e)
              int num;
              if(e.getSource()==btnClose)
                   try
                        rf.close();
                        setVisible(false);
                   catch(IOException ex3)
                   JOptionPane.showMessageDialog(null,"Cannot Close Question.dat");
              if(e.getSource()==btnFind)
                   boolean eof,found;
                   int qNo;
                   long posQ, posAnsA, posAnsB, posAnsC, posCorrect;
                   String question="", answerA="", answerB="", answerC="", answerCorrect="";
                   num = Integer.parseInt(tfNumberSearch.getText());
                   eof=false;
                   found=false;
                   try
                        rf = new RandomAccessFile("Question.dat","rw");
                        rf.seek(0);
                   catch(FileNotFoundException ex1)
                        JOptionPane.showMessageDialog(null,"Cannot Open Question.dat");
                   catch (IOException ex)
                        eof=true;
                   while(!eof)
                        try
                             qNo = rf.readInt();
                             posQ = rf.getFilePointer(); question = rf.readUTF();
                             posAnsA = rf.getFilePointer(); answerA=rf.readUTF();
                             posAnsB = rf.getFilePointer(); answerB=rf.readUTF();
                             posAnsC = rf.getFilePointer(); answerC=rf.readUTF();
                             posCorrect = rf.getFilePointer(); answerCorrect=rf.readUTF();
                             if(num==qNo)
                                  found=true;
                                  eof=true;
                                  tfQuestion.setText(question);
                                  tfAnswerA.setText(answerA);
                                  tfAnswerB.setText(answerB);
                                  tfAnswerC.setText(answerC);
                                  tfCorrect.setText(answerCorrect);
                                  p2.setVisible(true);
                                  rf.close();                                                  
                        catch (IOException ex)
                             eof=true;
                   }// End of While not !eof     
              }// End of Find Button
              if(e.getSource()==btnUpdate)
                   String question, answerA, answerB, answerC, answerCorrect;
                   long posQ, posAnsA, posAnsB, posAnsC, posCorrect;
                   question = tfQuestion.getText();
                   question = pad(question,80);
                   answerA = tfAnswerA.getText();
                   answerA = pad(answerA,20);
                   answerB = tfAnswerB.getText();
                   answerB = pad(answerB,20);
                   answerC = tfAnswerC.getText();
                   answerC = pad(answerC,20);
                   answerCorrect = tfCorrect.getText();
                   answerCorrect = pad(answerCorrect,20);
                   rf.seek(posQ);
                   rf.writeUTF(question);
                   rf.seek(posAnsA);
                   rf.writeUTF(answerA);
                   rf.seek(posAnsB);
                   rf.writeUTF(answerB);
                   rf.seek(posAnsC);
                   rf.writeUTF(answerC);
                   rf.seek(posCorrect);
                   rf.writeUTF(answerCorrect);
         }//End of Action Performed
    }//End of UpdateQuestions

    Create your JFrames, then use
    myFirstFrame.setVisible( true );
    // time to launch second
    mySecondFrame.setVisible( true );
    // time to hide second
    mySecondFrame.setVisible( false );The simplest file I/O will work for you. Use a FileOutputStream to write the file. I think three lines of code should do the trick. See the API docs for java.io.

  • 1 House Bank with 2 Bank Keys?

    Hi all,
    I am once again opening the same question....
    Can we have 2 Bank keys with 1 house bank?
    RK
    As the Moderator has closed the message. I am asking why? The 1 line question is not so easy ok. Please let me know the how can we assign 2 bank keys for only 1 house bank. This is the Client requirement. Bank Of America has 2 bank keys and they want only 1 house bank only.
    Please answer the above question.
    Moderator: Please, don't close question.
    Moderator: As before, please avoid asking basic questions. This is basic understanding of bank definition in SAP. Please, read help.sap.com before posting

    Hi Murali/VIvek,
    Thanks for the reply.....
    Yes, I know that it can't be created but the client requirement is they want 2 Bank keys under 1 House bank only.
    Is there any way to have this requirement to be fulfilled?
    RK

  • Saving object graph containing transient-new and attached objects

    Problem
    We have simple FK relationship A->B relationship and create inside the transaction (service façade method) a new instance of A:
    A a = new A().
    Later in the same transaction we read independent instance of B from DB and put it in the ralationship with A:
    a.setB(b);
    Afterthat (in the same transaction) we want to save the object graphstarting with instance ‘a’. We do it with
    pm.attachCopy(a);
    We get an Exception:
    <4|false|4.0.0EA5> kodo.util.UserException:
    The instance "mypackage.A-pypackage.A-14638" is already managed.
    FailedObject: mypackage.A - mypackage.A -14638 at kodo.jdo.PersistenceManagerImpl.processArgument(PersistenceManagerImpl.java:1259)
    Known solution
    Detach the instance ‘b’ before calling pm.attachCopy(a);
    We could achieve this for example using Autodetach=commit and puting read and save operations in separate transactional methods (façade calls).
    This solution is unsatifying, because we want to be able to manipulate object graph inside the transaction without caring explicitly about attach/detach semantic.
    Question
    We habe an heterogeneous object graph consisting of attached, detached and transient-new objects. How can we make the graph persistent with one API call on the roor object ?
    Which mapping settings have to be done ? How KODO decides which object is ‘new’ and shhould be inserted and which obejct has to be updated ?

    Denis,
    Even the makePersistent (...) call is redundant but not harmful as long
    as the instance is managed (and not detached).
    Denis Sukhoroslov wrote:
    Hi Andre,
    Not clear, why do you call pm.attachCopy(a) at all. I haven't worked with
    kodo 4.0 yet, but in 3.4.0 you just need to call pm.makePersistent(a). In
    the same way you can persist whole object graph, AFAIK.
    Denis.
    "Andre Teshler" <[email protected]> wrote in message
    news:[email protected]..
    Problem
    We have simple FK relationship A->B relationship and create inside the
    transaction (service fa??ade method) a new instance of A:
    A a = new A().
    Later in the same transaction we read independent instance of B from DB
    and put it in the ralationship with A:
    a.setB(b);
    Afterthat (in the same transaction) we want to save the object
    graphstarting with instance ???a???. We do it with
    pm.attachCopy(a);
    We get an Exception:
    <4|false|4.0.0EA5> kodo.util.UserException:
    The instance "mypackage.A-pypackage.A-14638" is already managed.
    FailedObject: mypackage.A - mypackage.A -14638 at
    kodo.jdo.PersistenceManagerImpl.processArgument(PersistenceManagerImpl.java:1259)
    Known solution
    Detach the instance ???b??? before calling pm.attachCopy(a);
    We could achieve this for example using Autodetach=commit and puting read
    and save operations in separate transactional methods (fa??ade calls).
    This solution is unsatifying, because we want to be able to manipulate
    object graph inside the transaction without caring explicitly about
    attach/detach semantic.
    Question
    We habe an heterogeneous object graph consisting of attached, detached and
    transient-new objects. How can we make the graph persistent with one API
    call on the roor object ?
    Which mapping settings have to be done ? How KODO decides which object is
    ???new??? and shhould be inserted and which obejct has to be updated ?

  • Is there Insufficient incentive for people to consider 1z1-144?

    Seeing one or two posts in the last week I believe there is insufficient carrot (incentive) for potential candidates to take 1z1-144.
    Nearly everyone wishing to get PL/SQL developer OCA will simply look at the extra effort and potential delays if they go the 1z1-144 route, and will go for 1z0-147 instead.
    There must surely be a risk of insufficient numbers taking 1z1-144, which will lead to a delay in the beta process, which probably isnt good for anybody, least of all those who have taken the beta.
    I would suggest that a voucher be given to 1z1-144 beta that could be used towards:
    - (1) 1z0-144 if they fail their beta
    or
    - (2) 1z0-146
    PLUS
    - (3) A voucher to take 1z0-147 at a beta exam price if beta testing is extended beyond the current beta closure date when people pay for their 1z1-144 exam.
    Anyone any comments ....

    Thanks for the suggestion ... I think i'd want to modify my original thoughts to only give beta test failures receiving retake discount vouchers ...
    I think on retrospect beta failure who did not pass but achieved a certain level of performance should get a discount voucher (eg within 10% of pass or something), those who achieve a little better than a four year old pressing answer A the whole time should not be entitlled to a free retake.
    Anyway with only one response I am not sure this is a running idea so I'll close question as answered. - rgds -bigdelboy

  • Essbase Netezza ODBC Linux

    Hi,
    Has anyone configured and successfully connected to Netezza from Essbase? I have installed the Netezza ODBC driver on my Essbase Server and have modified the $ARBORPATH/bin/.odbc.ini file to include the Netezza datasources. I have tested the connection with isql -v mydsn myusername mypassword and it says connected. However when I open a SQL in EAS and try to retrieve I get the following error
       ODBC Layer Error: [HY000] ==> [Server and/or port attributes are empty]
    Any Suggestions please? We have other datasources defined and are able to connect to them successfully. Don't know what I am doing wrong. Thanks for your time in advance.
    Thanks,
    Ted.

    Hello Ted,
    the first question is if this is supported.
    Oracle has an MS Excel sheet as Support Matrix. Check this for the version you have. Like 11.1.2.x Non-Oracle DBs tab: http://www.oracle.com/technetwork/middleware/bi-foundation/oracle-hyperion-epm-system-certific-131801.xls
    I see Netezza is supported for Essbase Studio, Interactive Reporting (former BRIO), and Production Reporting (former BRIO).
    I think this also applies to your version.
    A different route would be
    an export as flat file and load this into Netezza.
    an export into a different database which is supported and from there into Netezza.
    Regards,
    Philip Hulsebosch.
    www.trexco.nl
    p.s. To all users, close questions which were answered. Then we do not have to open them to see if we can help = saves us time to help others.

Maybe you are looking for

  • Single Payment Receipts against multipule customer invoices

    Hi All, I need your help to slove this business senario, here i have one payment receipts i need to clear against multiple customer invoice, how to clear the single payment receipt for multiple customer invocies, But customer will not infore which in

  • Valuation clearing account

    Can anyone explain me what is the use of Valuation Clearing Account ? Transaction code 8KEN Documentation in IMG says In this step you specify profit and loss accounts for valuation differences that arise in business transactions between group compan

  • I did not find any difference from my iPad 2 and iPad 3?

    I did not find any difference from my iPad 2 and my iPad 3, I am wondering did they sell me the same iPad

  • Its urgent .. we r waiting for exceperts help------

    I have a JScrollPane that contains a JDesktopPane. The ScrollPane is added to the right of SplitPane.The JDesktopPane contains JInternalFrames. I want to make my Desktop scrollable so that we can view the jinternal frames by scrolling. This is my sam

  • T430 RAM stick Boot Issue

    I bought and successfully installed a 4GB RAM stick. It functioned properly until today, when I got it back from a Lenovo authorized repair shop. I had removed and left my 4 GB crucial RAM stick at home before bringing it in for repairs. When I final