Iterate Over Master Detail ViewObject Using View Link Accessor

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

8/27/2016

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

You might also like