Hi Patrick,
Thank you very much for the year thing,
for the report I have 2 reqs:
1. Is to select prior(11/2021) on the prior month(12/2021) based on the current month(01/2022)
2. Is to select prior month(12/2021) based on current month(01/2022)
Actually, I need to consider the year also as per the above code
Req1: To select Month
JS Script prior on prior month
Eg:11(November) current month :01(january)
<script>
var RNA={};
RNA.setDefault=function(promptName){
var oCR = cognos.Report.getReport("_THIS_");
var pr = oCR.prompt.getControlByName(promptName);
var monthNames = [ "January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December" ];
var today=new Date();
var currentMonthNumber=today.getMonth();
var currentMonthName=monthNames[today.getMonth()];
var prevMonth = new Date(new Date().setMonth(new Date().getMonth()-1));
var prevMonthNumber=prevMonth.getMonth();
var prevMonthName=monthNames[prevMonthNumber];
var vals={'use': prevMonthNumber, 'display': prevMonthName };
pr.setValues([vals]);
}
RNA.setDefault("CPeriod1Month");
</script>
To Select Year 2021 based on month script as follows:
<script>
var RNA={};
RNA.setDefault=function(promptName){
var oCR = cognos.Report.getReport("_THIS_");
var pr = oCR.prompt.getControlByName(promptName);
var today=new Date();
var currentYear=today.getFullYear();
var prevMonth = new Date(new Date().setMonth(new Date().getMonth()-1));
var prevYear = prevMonth.getYear()+1900;
var vals={'use': prevYear };
pr.setValues([vals]);
}
RNA.setDefault("CPeriod1Year");
</script>
this is working fine and able to select month as 11(november) and year as 2021.
but for Req 2 I' am unable to select year
Script as follows
Prior month:12(December)
<script>
var RNA={};
RNA.setDefault=function(promptName){
var oCR = cognos.Report.getReport("_THIS_");
var pr = oCR.prompt.getControlByName(promptName);
var monthNames = [ "January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December" ];
var today=new Date();
var currentMonthNumber=today.getMonth();
var currentMonthName=monthNames[today.getMonth()];
var prevMonth = new Date(new Date().setMonth(new Date().getMonth()-1));
var prevMonthNumber=prevMonth.getMonth();
var prevMonthName=monthNames[prevMonthNumber];
var vals={'use': prevMonthNumber+1, 'display': prevMonthName };
pr.setValues([vals]);
}
RNA.setDefault("CurrentPeriodMonth");
</script>
This script also able to select prior month
but actual issue with year
<script>var RNA={};RNA.setDefault=function(promptName){var oCR = cognos.Report.getReport("_THIS_");var pr = oCR.prompt.getControlByName(promptName);var today=new Date();var currentYear=today.getFullYear();var prevMonth = new Date(new Date().setMonth(new Date().getMonth()-1));var prevMonthNumber=prevMonth.getMonth()+1;var prevYear = prevMonthNumber.getYear()+1900;var vals={'use': prevYear };pr.setValues([vals]);}RNA.setDefault("CurrentPeriodYear");</script>
Not selecting the year based on month, needed your comments.
Thanks!!
------------------------------
P S
------------------------------
Original Message:
Sent: Fri January 14, 2022 05:52 AM
From: Patrick Neveu
Subject: Default prior month is not selecting in prompt screen using java script
Hi,
If you want to have previous month, you need to update the year in your script, too.
Current date is 2022/01, previous month should be 2021/12.
I guess it would be useful to add :
var prevYear = prevMonth.getYear()+1900;
Best regards,
------------------------------
Patrick Neveu
Positive Thinking Company
Original Message:
Sent: Thu January 13, 2022 01:26 AM
From: P S
Subject: Default prior month is not selecting in prompt screen using java script
Hi Guys,
I was facing an issue with javascript in the prompt screen,
Req: In the prompt screen, the month has to be selected as a prior month (previous month) based on today date or month
i.e this month is January so prompt default should select December.
I was using this javascript in the prompt screen using HTML Source
<script>
var RNA={};
RNA.setDefault=function(promptName){
var oCR = cognos.Report.getReport("_THIS_");
var pr = oCR.prompt.getControlByName(promptName);
var monthNames = [ "January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December" ];
var today=new Date();
var currentMonthNumber=today.getMonth();
var currentMonthName=monthNames[today.getMonth()];
var vals={'use': currentMonthNumber, 'display': currentMonthName };
pr.setValues([vals]);
}
RNA.setDefault("CurrentPeriodMonth");
</script>
"CurrentPeriodMonth" is a value prompt miscellaneous name.
before moving to the new year this script was working fine, script code is able to select the prior month but now it's not working.
Is this code is correct or any alternation is needed,
please, someone, help me with this code change. its prod issue needed to resolve ASAP.
Thanks in advance.
------------------------------
P S
------------------------------
#CognosAnalyticswithWatson