Toplink insert new value issues

Hi all,
I'm working on toplink and encounter a problem.
I have 3 tables, A(a.id), B(b.id) and relation table AB(a.id(fk),b.id(fk)),
Now table B have one value(b1)(b1 got from sessionBean.findByid method ),
I want to add a new value A(a1) to database, and the relation table AB(a1,b1)
So I have the following code.
A a = new A();
List listAB= new ArrayList();
AB ab = new AB();
ab.SetB(b1);
listAB.add(ab);
a.setAB(ab);
sessionBean.persisA(A)
But the toplink persis B(b1) once again.
So there is an error,because b1 already exists in Database.
Anyone have solution for this problem.
Thanks.

The problem is in what sessionBean.persisA(a) does, and what the sessionBean.findByid does - is it just a register object? Also, you describe the A->B table relationship as a Many to Many using an AB as the relation table, but in the objects you seem to create an AB object for the relation table. Is there a reason A just isn't using a collection of Bs with a ManyToManyMapping specifying AB as the relation table? In the code description, you also state a.setAB(ab); which I assume was just a mistake and that the problem really uses a.setAB(listAB), but just to be sure, what do the ab.setB() and a.setAB() methods do, and how is the AB->A value set?
Best Regards,
Chris

Similar Messages

  • How to insert new values in dropdown box through coding

    hi,
      I want to insert new values in dropdown box in a table.
    Please provide me the corresponding coding.i already did this code but result is empty dropdown.I mapped the context properly..
    int sklength=wdContext.nodeSkills().size();
          for(int i=0;i<sklength;i++)
        String getsub=wdContext.currentSkillsElement().getSubject();
        if(getsub.equals("50000138"))
             //IPrivateDetails1.INewskillElement el=wdContext.createNewskillElement();
             List lis=new ArrayList();
             //lis.add("Abap");
             //lis.add("Workflow");
             IPrivateDetails1.INewskillElement el=wdContext.createNewskillElement();
             el.setTskill("abap");
             lis.add(el);
              el.setTskill("workflow");
              lis.add(el);
              wdContext.nodeNewskill().bind(lis);
              //wdContext.nodeMonthsOfYear().bind(MonthsOfYear);
              wdContext.nodeNewskill().setLeadSelection(1);
        else
              wdContext.currentNewskillElement().setTskill("C++");
    waiting for a positive reply......
    with regards,
    S.Kiruthika

    kiruthika,
    Too many logical errors to explian.
    Should be:
    IPrivateDetails1.ISkillsNode nSkills = wdContext.nodeSkills();
    IPrivateDetails1.INewskillNode nNewSkill = wdContext.nodeNewskill();
    int sklength = nSkills.size();
    boolean cppAdded = false;
    for(int i=0;i<sklength;i++)
      String getsub=nSkills.getSkillsElementAt(i).getSubject();
      if(getsub.equals("50000138"))
        List lis=new ArrayList();
        IPrivateDetails1.INewskillElement el1 = nNewSkill.createNewskillElement();
        el1.setTskill("abap");
        lis.add(el1);
        IPrivateDetails1.INewskillElement el2 = nNewSkill.createNewskillElement();
        el2.setTskill("workflow");
        lis.add(el2);
        nNewSkill.bind(lis);
        nNewSkill.setLeadSelection(1);
      else if (!cppAdded)
        cppAdded = true;
        IPrivateDetails1.INewskillElement elCpp = nNewSkill.currentNewskillElement();   
        if (null ==  elCpp) {
          elCpp = nNewSkill.createNewskillElement();
          nNewskill.addElement(elCpp);
          nNewskill.setLeadSelection( nNewskill.size() - 1);
        elCpp.setTskill("C++");
    VS

  • How to insert new value into an array

    I have an already declared array (including the size) and want to write a method for inserting a new value. Do I have to re-declare the array to the new size? ie old size + 1, then add the new value or is there a java method for this. I can't find one.
    Thanks in advance....
    Mike

    Hi,
    there is no method for that. Look up class Vector. That class implements automatic growing of the Vector.
    Phil

  • Data pump + inserting new values in a table

    Hello Everybody!!
    My question is : is it possible to insert new row into a table which is included in running DataPump process (export data) ?
    Best regards
    Marcin Migdal

    Have a look here, never done it myself but seems kind of cool :)
    http://www.pythian.com/blogs/766/oracle-data-pump-11g-little-known-new-feature

  • Change Document - Insert new value / Delete

    Hi,
    Jus need a quick clarification on change documents -
    1. insert opertaion. I have created change documents and able to record the changes in CDPOS when changing or updating the existing values in table. But when i try to insert into the table the CDPOS is updated only with key entries and how can i track the values tht are inserted for non key fields in table? is there anything to be inlcuded in the pgrm for insert operation so tht CDPOS relflects all the values inserted?
    2. delete operation - CDPOS not recording the deletion of the record!!!
    any pointers for troubleshooting this issue?

    The insert operation only records the key, the actual values of the non-key fields can be found in the application table itself.
    The delete operation should be recorded as well. Is it your custom transaction? The application logic is responsible for making the correct calls to the functions modules that write CDHDR/CDPOS entries. Maybe you have a bug there somewhere.
    Thomas

  • How to allow user to enter new values in a segmnt which's having a ValueSet

    Hi Gurus
    I am having a DFF segment where user needs the following validation. I have to check whether the value entered by user is having status number as 5 in a custom table. I can do this by Table type Validation.
    But the problem here is, they should also be able to enter new values which not in that table.
    How i can achieve this. Appreciate your help on this.
    Thanks.
    Praveen

    Value sets allow only for standar list for validation, not a combobox that is what may help You to achieve what You want. You either have a restricted list or an open field to type whatever matches the format restrictions.
    For what You specify, I see no reason on having a table validation is the user can after all enter new values, perhaps it's to have the table values as references and avoid duplicates. Workarounds may be:
    Add an "others" value to the table, and enable another segment to enter new values and add custom validation to avoid duplicates and insert the new values to the table for future use.
    Have an independent value set and add a customization to avoid duplicates (more difficult considering typos) and insert new values.

  • Error When Creating/Inserting New Marketing Attribute Value

    Merry Christmas & Happy New Year,
    Need help here, when I create/insert new marketing attribute value in existing marketing attribute, I encounter the following error "The values currently maintained lead to inconsistencies in the database".
    In the detail error, it specifies that I was trying to change existing attribute which is not true.
    Initially i thought it was authorization issue, but when i do the same procedure in CRM GUI, it works fine, only from Web UI then i encounter the problem.
    Any lead is really appreciated.
    JD

    Hi Robert,
    thanks for the info, we did implement the note but still having the error.
    we also have implemented following notes but it still does not solve the issue yet.
    0001486409 Incorrect counting in CRM_MKTPFCHR_CHECK_STRING_BW
    0001490425 Nonsensical values for marketing attributes
    0001491491 Field DATUV in AUSP for newsletter scenario
    0001499712 Marketing  Attributes are not saved properly in WEB UI
    0001509448 MKT ATTR:Save value for marketing attribute impossible
    0001531447 Problems in CL_CRM_BUIL_MKT_ATTRIB~READ

  • Issue in Creation of new Value Field in CO-PA

    Hi,
    I have a query in CO-PA Value Field Linking.
    In my Development Client,
    1. Created a New Value Field (No Transport Request Generated)
    2. Linked to the above to new Conditon type created in SD. (Tranport request was generated) i.e. in Flow of Actual Values->Transfer of Billing Documents->Assign Value Fields
    However then i try creating a new Value Field in my Production Client it throws a message 'You have no authorization to change Fields".
    Is this an issue with authorization or i need to transport the Value field too from Development to Production client.
    Please Advise.
    Thanks in Advance,
    Safi

    Thanks Phaneendra for the response.
    The creation of Value field did not create any tranportation request. Will this too be transported if i transport the Operating Concern.
    Please Advise.
    Thanks,
    Safi

  • Enable the field in the list display and insert the new value and  save it.

    Hi
    In a report when I am in third list using ALV a field which is disabled should be enabled and  have to insert the new value in it and  save.
    please tell me how to do it using classes and methods and also using ALV's.
    Promise to reward points.
    Regards
    Mac

    Hi madan,
    Please find the code sample,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/79b5e890-0201-0010-7f8e-b7c207edf7c2
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ec31e990-0201-0010-f4b6-c02d876ce033
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/117beb90-0201-0010-67a8-fff1482209ae
    Regards
    Kathirvel

  • Created a trigger but new values are not inserting in the backup table

    I have created a backup table and writter a trigger on a table such that after update old values and new values are to be inserted into the backup table, but new values are not inserting. I am giving the code please help me
    create or replace trigger "SUPPQUOTES_AUDIT"
    after update or delete on phsuppquotes for each row
    begin
    insert into phquotes_audit(cprc_new,suppcode,itemcode,cprc_old,negodt,validdt,userid,TRANDATE) values
    (:new.cprc,:old.suppcode,:old.itemcode,:old.cprc,:old.negodt,:old.validdt,:old.userid,SYSDATE);
    end;

    old values and new
    values are to be inserted into the backup table, butwell you have only one insert there, inserting old values with a new id (which is ok if you don't update the id column, but I don't think that :new is available for deleting ops); you should have two inserts:
    insert into
    phquotes_audit(cprc_new,suppcode,itemcode,cprc_old,negodt,validdt,userid,TRANDATE) values (:old.cprc,:old.suppcode,:old.itemcode,:old.cprc,:old.negodt,:old.validdt,:old.userid,SYSDATE);
    if (updating) then
    insert into phquotes_audit(cprc_new,suppcode,itemcode,cprc_old,negodt,validdt,userid,TRANDATE) values (:new.cprc,:new.suppcode,:new.itemcode,:new.cprc,:new.negodt,:new.validdt,:new.userid,SYSDATE);
    end if;
    gojko adzic
    http://gojko.net

  • TopLink does not generate SQL statements for inserting new objects

    TopLink does not generate SQL statements for inserting new objects. Why?
    Thanks in advance...

    Please see the response in
    Why does not unitofwork.commit write data to the database?
    Regards,
    Chris

  • SharePoint List Form using InfoPath 2010 "Cannot insert the value NULL into column 'tp_DocId', table 'Content_SP_00003.dbo.AllUserData'; column does not allow nulls"

    I am experiencing issue with my SharePoint site , when I am trying to add new Item in List . Error given below :--> 02/03/2015 08:23:36.13 w3wp.exe (0x2E04) 0x07E8 SharePoint Server Logging Correlation Data 9gc5 Verbose Thread change; resetting trace
    level override to 0; resetting correlation to e2e9cddc-cf35-4bf8-b4f3-021dc91642da c66c2c17-faaf-4ff9-a414-303aa4b4726b e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015 08:23:36.13 w3wp.exe (0x2E04) 0x07E8 Document Management Server Document Management 52od
    Medium MetadataNavigationContext Page_InitComplete: No XsltListViewWebPart was found on this page[/sites/00003/Lists/PM%20Project%20Status/NewForm.aspx?RootFolder=&IsDlg=1]. Hiding key filters and downgrading tree functionality to legacy ListViewWebPart(v3)
    level for this list. e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015 08:23:36.17 w3wp.exe (0x1B94) 0x1A0C SharePoint Server Logging Correlation Data 77a3 Verbose Starting correlation. b4d14aec-5bd4-4fb1-b1e3-589ba337b111 02/03/2015 08:23:36.17 w3wp.exe (0x1B94)
    0x1A0C SharePoint Server Logging Correlation Data 77a3 Verbose Ending correlation. b4d14aec-5bd4-4fb1-b1e3-589ba337b111 02/03/2015 08:23:36.31 w3wp.exe (0x2E04) 0x07E8 SharePoint Foundation Database 880i High System.Data.SqlClient.SqlException: Cannot insert
    the value NULL into column 'tp_DocId', table 'Content_SP_00003.dbo.AllUserData'; column does not allow nulls. INSERT fails. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
    stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavi... e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015
    08:23:36.31* w3wp.exe (0x2E04) 0x07E8 SharePoint Foundation Database 880i High ...or runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream,
    Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,
    RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand
    command, CommandBehavior behavior,

    Are you trying to setup P2P? Could you explain the process you followed completely? By anychance you create the backup and then created the publication?
    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

  • CRM 2011: when auditing is turned off, why do existing Audit records lose "New Value"?

    Not sure if this is by design (if so, would love to know why!) or if this is a bug.  Let's say I have auditing turned on for Accounts.  I change the phone number in the Main Phone field from 555-1111 to 555-5555, and an audit record is
    created showing the Old Value (555-1111) and New Value (555-5555).  Great.  Now I turn off auditing. The system goes back to the audit record that had previously been created, and modifies it so that it shows the Old Value (555-1111),
    and inserts an icon into the New Value field indicating auditing was turned off.  The tool tip for that icon states "Auditing was stopped and restarted.  The new values for the fields that changed during this period cannot be identified or recorded."
    First of all (minor picky issue) auditing hasn't been turned back on yet, despite what the tool tip says (says the same thing whether or not auditing is turned back on).  But the real problem is
    why the existing audit record's New Value would be removed... why would that happen?!?  We're talking about a historical update.  It really did change, and the system knew what it changed from/to, so why would the system remove that new value
    from the audit record?  Logically I would expect that any changes made
    while auditing is off would not be logged, and that once auditing is turned back on, Old/New values would correspond to whatever was/is in the system at the time that any new audit record is created, so there may be a disconnect between an older audit
    record and a new one (old record's New Value not matching the new record's Old Value, because changes were made while auditing was off). And it's quite apparent when auditing is turned off, because an audit record is created stating "Auditing Disabled". 
    Any ideas if there's a logical reason why it would do this, or if this is really a bug that Microsoft needs to fix?  We have a client with a business need to periodically turn off auditing while integration updates run between CRM and another system
    (otherwise hundreds of thousands of unnecessary audit records would be created).  But if they're going to lose audit data every time they disable auditing, the auditing is worthless.

    We wouldn't ever temporarily turn auditing off on purpose... it's happening when we import managed solutions.  We have vendors with managed solutions that contain system entities such as Contacts.  When importing their solution, it momentarily
    turns auditing off on those entities.  The only evidence of this is audit records indicating "Entity Audit Stopped", and of course the loss of all the most  recent "new value" on all audit records.  The interesting (?) parts of this are:
    1. When importing the managed solution, the recommended option to keep all existing customizations is selected.  I would think this would include the audit settings on the entity, but apparently not (sort of... see #2).
    2. As soon as the managed solution is imported, in addition to creating an "Entity Audit Stopped" audit record on relevant entities and wiping out new values, it apparently turns auditing back on, yet there's no record of this (in customizations, the entity
    still (or once again) indicates auditing is enabled; but on records for that entity, there is no "Entity Audit Enabled" record.   
    So, now it's on to working with the vendors, to dig into their managed solutions and see if there's a way to prevent this!

  • Inserting new input record into the table through screen

    Hi,
    Example UserTable and PaymentTable
    UserTable - UserID - Primary Key
    PaymentTable - containg couple of fields and UserId is foreign Key.
    I designed the page for to insert the new input record using the steps given in the doc "http://download-uk.oracle.com/docs/cd/B32110_01/web.1013/b28967/web_adv007.htm".
    When i click the persistEntity method its throws TopLink error cannot insert null value into UserId column in PaymentTable.
    Currently i am posting this reply from home... that's why i mentioning the scenario rather than posting the error.
    Please tell how to populate the values from the screen to PaymentTable.
    Thanks & Regards
    Vimalan Balan

    Hi Vimalan,
    Did you find an answer for you question?
    Regards,
    Phil

  • Some :New values are null in compound trigger

    <h4>
    Hello everybody,
    I use Oracle 11g R2.
    My problem is: Why certain :New.values are Null in the before statement only if I have an after statement (that do nothing) ?
    My test case:
    </h4>
    create table TEST
    ID Number,
    CODE char(10),
    SUBJECT varchar2(60)
    alter table TEST add constraint TEST_PK primary key (CODE);
    insert into TEST (CODE, SUBJECT, ID) values ('AAA ', 'Subject AAA', 1);
    insert into TEST (CODE, SUBJECT, ID) values ('BBB ', 'Subject BBB', 2);
    commit;
    <h4>My problem:</h4>
    create or replace trigger Test_Trg
    for insert or update on Test
    compound trigger
    before each row is
    begin
    dbms_output.put_line( 'Before Each Row, New values= Id: '||:New.Id||', Code: '||:New.Code||', Subject: '||:New.Subject );
    dbms_output.put_line( 'Before Each Row, Old values= Id: '||:Old.Id||', Code: '||:Old.Code||', Subject: '||:Old.Subject );
    :New.Code := Nvl(:New.Code, 'CODE'||:New.Id);
    end before each row;
    after statement is
    begin
    dbms_output.put_line( 'After Statement' );
    end after statement;
    end Test_Trg;
    <h4>Now if I do that:</h4>
    update Test set Subject = 'The New Subject' where ID = 1;
    commit;
    <h4>The dbms_output is :</h4>
    Before Each Row, New values= Id: 1, Code: , Subject:
    Before Each Row, Old values= Id: 1, Code: USER1 , Subject: The New Subject
    After Statement
    <h4> (You can see that in the before each row, :New.Code and :New.Subject are Null!)
    And the Data are:</h4>
    select * from Test where Id = 1;
    Id Code Subject
    1 CODE1 The New Subject
    <h4>Why the column Code is changed?
    Now if I change my trigger (just removing the after statement)</h4>
    create or replace trigger Test_Trg
    for insert or update on Test
    compound trigger
    before each row is
    begin
    dbms_output.put_line( 'Before Each Row, New values= Id: '||:New.Id||', Code: '||:New.Code||', Subject: '||:New.Subject );
    dbms_output.put_line( 'Before Each Row, Old values= Id: '||:Old.Id||', Code: '||:Old.Code||', Subject: '||:Old.Subject );
    :New.Code := Nvl(:New.Code, 'CODE'||:New.Id);
    end before each row;
    end Test_Trg;
    <h4>All work perfect!
    My question is: Why certain :New.values are Null in the before statement only if I have an after statement that do nothing ?
    Thanks in advance,
    </h4>

    I've got two 11.2.0.2 environments - one where this is reproducible, one where it doesn't seem to be.
    I assume it must be a bug and one of these environments is patched.
    I had a quick look at metalink and couldn't see an obvious match.
    I might see if I can figure out differences between environments later.
    There are a number of bugs around compound triggers.
    I've been bitten before with a different compound trigger bug.
    http://orastory.wordpress.com/2009/01/20/beware-the-compound-trigger/
    Shame - nice way to neaten up multiple triggers but too many issues.

Maybe you are looking for