Windows Script and Instructions
Create input.properties and skip_update.ps1 by copying the scripts in this section.
- Create
input.propertiesby copying the following script:username=exampleAdmin password=examplePassword.epw url=exampleURL updatemonths=02,05,08,11 - Update
input.propertiesby specifying parameter values.Table 3-12 input.properties Parameters
Parameter Description usernameUser name of a Service Administrator. passwordPassword of the Service Administrator or the name and location of the encrypted password file. urlURL of the environment on which you want to set the non-monthly update cadence. updatemonthsA comma separated list of months when Oracle Fusion Cloud Enterprise Performance Management updates should be applied to the environment identified by the urlparameter. For example,updatemonths=02,05,08,11.Months must be specified as two digits: 01 for January through 12 for December. Be sure to include a preceding zero for January through September. The script attempts to run the skipUpdatecommand for the months not included in the
updatemonthsparameter value. For example, if you specifyupdatemonths=02,05,08,11, the script tries to set skip update flags for January, March, April, June, July, September, October, and December so that updates are made only in February, May, August, and November. - Create
skip_updates.ps1by copying the following script:# Skip Update PowerShell script $inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw) $username="$($inputproperties.username)" $password="$($inputproperties.password)" $url="$($inputproperties.url)" $updatemonths="$($inputproperties.updatemonths)" $monthsarr = ("01","02","03","04","05","06","07","08","09","10","11","12") $global:monthsarrfromcurrent = @() $global:yearsarrfromcurrent = @() $updatemonthsarr = $updatemonths.Split(",") $currentyear=Get-Date -Format yy $currentmonth=Get-Date -Format MM $nextyear=[int]$currentyear+1 function populateFromCurrentArrays() { $startposition = 0 for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${currentmonth} -eq $monthsarr[$i]) { $startposition=$i break } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -ge ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $currentyear } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -lt ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $nextyear } } } function skipUpdateAdd($yearnumber, $monthnumber) { echo "Running: epmautomate.bat skipUpdate add version=${yearnumber}.${monthnumber} comment=`"adding skipUpdate`"" epmautomate skipUpdate add version=${yearnumber}.${monthnumber} comment="adding skipUpdate" } function processSkipUpdates() { $addcount = 0 echo "Running: epmautomate.bat login ${username} ${password} ${url}" epmautomate login ${username} ${password} ${url} echo "Running: epmautomate.bat skipUpdate remove" epmautomate skipUpdate remove for ($i = 0; $i -le ($global:monthsarrfromcurrent.length - 1); $i++) { $match = 1 if (${addcount} -eq 2) { echo "Two skip update add calls have been made. No more will be attempted." break } for ($j = 0; $j -le ($updatemonthsarr.length - 1); $j++) { if ($global:monthsarrfromcurrent[$i] -eq $updatemonthsarr[$j]) { $match = 0 break } } if (${match} -eq 1) { skipUpdateAdd $global:yearsarrfromcurrent[$i] $global:monthsarrfromcurrent[$i] $addcount += 1 } } echo "Running: epmautomate.bat skipUpdate list" epmautomate skipUpdate list echo "Running: epmautomate.bat logout" epmautomate logout } function compareUpdateMonths($thismonth, $nextmonth) { $nextmonthorig=${nextmonth} if (${nextmonth} -lt ${thismonth}) { $nextmonth+=12 } $monthdiff = $nextmonth - $thismonth if (${monthdiff} -gt 4) { echo "There are more than 3 months skipped from month ${thismonth} to month ${nextmonthorig}. Please correct updatemonths in input.properties so that there are not more than three months skipped between each update month. Exiting." exit 1 } } function validateUpdateMonths() { for ($i = 0; $i -le ($updatemonthsarr.length - 1); $i++) { $nextint = $i + 1 $thisupdatemonth = $updatemonthsarr[$i] $thisupdatemonthint=[int]$thisupdatemonth $nextupdatemonth=$updatemonthsarr[$nextint] $nextupdatemonthint=[int]$nextupdatemonth if (${nextupdatemonth} -eq "") { $nextupdatemonth=$updatemonthsarr[0] $nextupdatemonthint=[int]$nextupdatemonth } compareUpdateMonths $thisupdatemonthint $nextupdatemonthint } } validateUpdateMonths populateFromCurrentArrays processSkipUpdates