Integer modInstNodeId
) throws EMFUserError, EMFInternalError, SourceBeanException{
logger.debug("IN");
List <KpiRel> relations = DAOFactory.getKpiDAO().loadKpiRelListByParentId(kpiParent.getKpiId());
logger.info("extracts relations for kpi parent : "+kpiParent.getKpiName());
KpiDAOImpl kpiDao = (KpiDAOImpl)DAOFactory.getKpiDAO();
OrganizationalUnitGrantNode ouGrant = kVal.getGrantNodeOU();
String ouLabel = "";
if(ouGrant != null){
ouLabel = ouGrant.getOuNode().getOu().getLabel();
}
logger.debug("kpi inst id= "+kVal.getKpiInstanceId()+" parent kpi is "+ kpiParent.getKpiName()+" and OU :"+ ouLabel);
for(int i= 0; i< relations.size(); i++){
KpiRel rel = relations.get(i);
Kpi child = rel.getKpiChild();
IDataSet chDataSet = kpiDao.getDsFromKpiId(child.getKpiId());
HashMap chPars = new HashMap();
chPars.putAll(pars);
//then the one in rel table
String parameter = rel.getParameter();
KpiValue kpiVal = recursiveGetKpiValueFromKpiRel(child, chDataSet, chPars, kVal, begD, endDate, modInstNodeId);