hi am adding values from one viewObject to another viewObject am geting this error JBO-25013: Too many objects match the primary key oracle.jbo.Key
i used this code
<af:commandButton text="Add New" id="cb5"
actionListener="#{pageFlowScope.addMember.addMember}"/>
RichTable empTable;
public void setEmpTable(RichTable empTable) {
this.empTable = empTable;
}
public RichTable getEmpTable() {
return empTable;
}
binding="#{pageFlowScope.addMember.empTable}">
the error is pointing in this line
public void addMember(javax.faces.event.ActionEvent actionEvent) {
List<String> tempTable = new ArrayList<String>();
//Code to get the bindings for TargetVO :
RowKeySet selectedEmps = getEmpTable().getSelectedRowKeys();
Iterator selectedEmpIter = selectedEmps.iterator();
DCBindingContainer bindings =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding empIter = bindings.findIteratorBinding("UserDetailsViewVO1Iterator");
RowSetIterator empRSIter = empIter.getRowSetIterator();
while(selectedEmpIter.hasNext()){
Key key = (Key)((List)selectedEmpIter.next()).get(0);
Row currentRow = empRSIter.getRow(key);
onRowCreate(currentRow);
}
}
public void onRowCreate( Row currentRow ) {
OIDOperations oIDOperations= new OIDOperations();
Map<Object,String> mp=new HashMap<Object, String>();
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
//access the name of the iterator the table is bound to.
DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("DeltMember1Iterator");
//access the underlying RowSetIterator
RowSetIterator rsi = dciter.getRowSetIterator();
//get handle to the last row
Row lastRow = rsi.last();
//obtain the index of the last row
int lastRowIndex = rsi.getRangeIndexOf(lastRow);
//create a new row
Row newRow = rsi.createRow();
String f = (String)currentRow.getAttribute("Firstname");
String s = (String)currentRow.getAttribute("Surname");
String u = (String)currentRow.getAttribute("Username");
String n = (String)currentRow.getAttribute("Emailaddress");
newRow.setAttribute("Firstname", f);
newRow.setAttribute("Surname", s);
newRow.setAttribute("Username1", u);
newRow.setAttribute("Username", u);
newRow.setAttribute("Emailaddress", n);
newRow.setAttribute("Organisationid1",getorgid());
//initialize the row
newRow.setNewRowState(Row.STATUS_INITIALIZED);
//add row to last index + 1 so it becomes last in the range set
rsi.insertRowAtRangeIndex(lastRowIndex +1, newRow);
//make row the current row so it is displayed correctly
rsi.setCurrentRow(newRow);
System.out.println("Username " + u);
System.out.println("firstname " + f);
System.out.println("surname " + s);
System.out.println("email " + n);
}
Edited by: adf009 on 2013/02/14 2:44 PM
Edited by: adf009 on 2013/02/14 2:44 PM
Edited by: adf009 on 2013/02/14 2:46 PM
Edited by: adf009 on 2013/02/14 2:47 PM