Iterate Over Master Detail ViewObject Using View Link Accessor
Iterate Over Master Detail ViewObject Using View Link Accessor
ADFBasics:IterateovermasterdetailviewObjectusingviewlinkaccessorAshishAwasthi'sBlog(Jdev/ADF)
ADFBasics:IterateovermasterdetailviewObjectusingviewlinkaccessor
HelloAll
Thispostisaboutiteratingovermasterandit'schildviewobjectusing
viewlinkaccessor,thisisverybasicthingofframeworkstillsomefind
(thosewhoarestartingwithADF)itdifficultsoIthoughttowriteit
here
HereIamusingDepartmentsandEmployeestableofHRSchemato
createMasterDetailrelationandduetoviewlinkrelation,Department
viewObjecthasviewlinkaccessorofEmployeesviewObject
Thisviewlinkaccessorcontainesrowsforcorrespondingrowofmaster
(Departments)viewObject,Itreturnsdifferentrowset(listof
Employees)foreachrecordofDepartmentsviewObjectandwecan
programmaticallyaccessthisviewlinkaccessorforeachmasterrecord
CodeinAMImpltoIterateoverMasterandDetailviewobjectrecords
importoracle.jbo.Row;
importoracle.jbo.RowSet;
importoracle.jbo.RowSetIterator;
importoracle.jbo.ViewObject;
/**
*ThisisthemethodtoiterateoverDepartmentsandcorrespondingEmployeesrecords
*/
http://www.awasthiashish.com/2016/08/adfbasicsiterateovermasterdetail.html
1/2
8/27/2016
ADFBasics:IterateovermasterdetailviewObjectusingviewlinkaccessorAshishAwasthi'sBlog(Jdev/ADF)
publicvoiditerateMasterDetail(){
//GetMasterViewObject
ViewObjectdeptVo=this.getDepartmentsView();
//CreateiteratortoiterateovermasterviewObject
RowSetIteratorrsi=deptVo.createRowSetIterator(null);
while(rsi.hasNext()){
//GetMasterViewObjectRow
RowdepartmentsRow=rsi.next();
System.out.println("DepartmentName:"+departmentsRow.getAttribute("DepartmentName"));
//GetCorrespondingchildviewobjectaccessor
RowSetrs=(RowSet)departmentsRow.getAttribute("EmployeesView");
//IterateoverchildviewObjectrowsforcorrespondingmasterrecord
while(rs.hasNext()){
Rowr=rs.next();
System.out.println("Employee:"+r.getAttribute("FirstName")+""+
r.getAttribute("LastName"));
}
}
//CloseMasterviewObjectiterator
rsi.closeRowSetIterator();
}
AddthismethodtoclientinterfaceofApplicationModuleandRunApplicationModuletocheckit
Outputonlog
CheersHappyLearning
http://www.awasthiashish.com/2016/08/adfbasicsiterateovermasterdetail.html
2/2