/content/folder[@name='Samples_DQ']/folder[@name='Models']/package[@name='GO Data Warehouse (query)']/model[@name='model'] From DateTo Date
<div id="DRWarn"> Error: End date cannot be prior to start date </div> <div id="defDateRang" style="display:none"> Change this text for the default you need according to the following mapping: 1 - YTD; 2-QTD;3-MTD;4-WTD;5-Last Month;6-Last week;7-MTD last year </div> <span id="dateRangesLinks" style="white-space:nowrap;"> </span> <br> <script> var RodScripts={}; //var isPP=0; var DLinks=["NONE","YTD","QTD","MTD","WTD","Last Month","Last Week","MTD Last Year"]; var dlHTML=""; setTimeout('document.getElementById("DRWarn").style.display="none";','400'); RodScripts.setDateRange=function(type){ //define all variables necessary var today=new Date(); var thisYear=today.getUTCFullYear(); var lastYear=thisYear-1; var thisMonth=today.getMonth(); var lastMonth=thisMonth==0?12:thisMonth-1; var firstMonthOfQuarter=thisMonth<3?0:(thisMonth<6?3:(thisMonth<9?6:9)); var mondayThisWeek=today.getDay()>0?today-today.getDay()*24*60*60*1000+1*24*60*60*1000:today-6*24*60*60*1000; var mondayLastWeek=mondayThisWeek-7*24*60*60*1000; var endOfLastWeek=mondayThisWeek-1*24*60*60*1000; var fromDate=new Date(); var toDate=new Date(); var useDate; //monthsArray var monthsName=["January","February","March","April","May","June","July","August","September","October","November","December"]; var oCR = cognos.Report.getReport("_THIS_"); var fromPrompt = oCR.prompt.getControlByName("fromDate"); var toPrompt = oCR.prompt.getControlByName("ToDate"); var vals; //get the date for current type /* 1-YTD 2-QTD 3-MTD 4-WTD 5-last month 6-last week 7-MTD last year */ switch(type){ case 1://YTD fromDate=new Date(thisYear,0,1); break; case 2://QTD fromDate=new Date(thisYear,firstMonthOfQuarter,1); break; case 3://MTD fromDate=new Date(thisYear,thisMonth,1); break; case 4://WTD fromDate=new Date(mondayThisWeek); break; case 5://LAST MONTH fromDate=new Date(thisMonth==0?lastYear:thisYear,lastMonth,1); toDate=new Date(thisMonth==0?lastYear:thisYear,thisMonth,0); break; case 6://LAST WEEK fromDate=new Date(mondayLastWeek); toDate=new Date(endOfLastWeek); break; case 7://MTD LAST YEAR fromDate=new Date(lastYear,thisMonth,1); toDate=new Date(lastYear,thisMonth,today.getDate()); break; default: alert("There was an error"); } //set from date useDate=fromDate.getFullYear()+'-'+((fromDate.getMonth()+1)<10?'0'+(fromDate.getMonth()+1):(fromDate.getMonth()+1))+'-'+(fromDate.getDate()<10?'0'+fromDate.getDate():fromDate.getDate()); vals=[{'use':useDate}]; fromPrompt.addValues(vals); //set to date useDate=toDate.getFullYear()+'-'+((toDate.getMonth()+1)<10?'0'+(toDate.getMonth()+1):(toDate.getMonth()+1))+'-'+(toDate.getDate()<10?'0'+toDate.getDate():toDate.getDate()); vals=[{'use':useDate}]; toPrompt.addValues(vals); toPrompt.addValues(vals); useDate=fromDate.getFullYear()+'-'+((fromDate.getMonth()+1)<10?'0'+(fromDate.getMonth()+1):(fromDate.getMonth()+1))+'-'+(fromDate.getDate()<10?'0'+fromDate.getDate():fromDate.getDate()); vals=[{'use':useDate}]; fromPrompt.addValues(vals); } //set up the links for(var dli=1;dli<DLinks.length;dli++){ dlHTML+='|<a href="#" onclick="RodScripts.setDateRange('+dli+');">'+DLinks[dli]+'</a>'; if(dli==4){dlHTML+='<br>';} } RodScripts.defaultValueSetUp=function(){ //var def=document.getElementById("defDateRang").innerText; if(document.getElementById("defDateRang").textContent.length==1){ RodScripts.setDateRange(document.getElementById("defDateRang").textContent*1); } } dlHTML+='|'; document.getElementById("dateRangesLinks").innerHTML=dlHTML; /* VERIFY THE DATE RANGE */ //get the values and turn numeric RodScripts.getDateValue=function(promptname){ var oCR = cognos.Report.getReport("_THIS_"); var prObj = oCR.prompt.getControlByName(promptname); var prObjVals=prObj.getValues(); var prObjNumericValue=prObjVals[0].use.replace(/-/g,''); prObjNumericValue=prObjNumericValue.substr(0,8); return prObjNumericValue*1; } //compare the values, return true or false RodScripts.compareDateRange=function(){ var fromVal=RodScripts.getDateValue("fromDate"); var toVal=RodScripts.getDateValue("ToDate"); if(toVal>=fromVal){ document.getElementById("DRWarn").style.display="none"; canSubmitPrompt(); return true; } else{ document.getElementById("DRWarn").style.display="block"; return false; } canSubmitPrompt(); } //set validator RodScripts.setValidationForDR=function(prName){ var oCR = cognos.Report.getReport("_THIS_"); var prObj = oCR.prompt.getControlByName(prName); prObj.setValidator( function(){ var result=RodScripts.compareDateRange(); return result; } ); } RodScripts.setValidationForDR("fromDate"); RodScripts.setValidationForDR("ToDate"); RodScripts.defaultValueSetUp(); setTimeout('RodScripts.compareDateRange();','200'); </script>
5
daterange sample