Mit diesem Skript kann der Aktivitätsbericht per E-Mail an eine Empfängerliste gesendet werden. Für dieses Skript kann dann die tägliche Ausführung zum Abrufen des täglichen Aktivitätsberichts geplant werden. Dieses Skript führt die folgenden Funktionen aus:
Wenn Kennwörter Sonderzeichen enthalten,finden Sie weitere Informationen unter Sonderzeichen verarbeiten. Stellen Sie zudem sicher, dass die folgenden Parameterwerte so ersetzt werden, dass Sie zu Ihren Umgebungen passen:
Table 4-2 Zu ändernde Parameter
| Parameter | Beschreibung |
|---|---|
| user | Die Benutzer-ID eines Serviceadministrators für die Anmeldung bei der Umgebung |
| password | Das Kennwort des Serviceadministrators |
| url | Die URL der Cloud EPM-Umgebung, von der der Aktivitätsbericht per E-Mail gesendet werden soll. |
| emailaddresses | Eine durch Semikolon getrennte Liste von E-Mail-Adressen, an die der Aktivitätsbericht gesendet werden soll |
Ausführliche Informationen zur Verwendung von Groovy-Regeln finden Sie unter Groovy-Regeln verwenden in der Dokumentation Planning verwalten.
/*RTPS: {user} {password} {url} {emailaddresses}*/
import java.text.SimpleDateFormat
String user = 'service_administrator'
String password = 'examplePWD'
String url = 'example_EPM_URL'
String emailaddresses = 'service_administrator@oracle.com'
EpmAutomate automate = getEpmAutomate()
def LogMessage(String message) {
def date = new Date()
def sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
println('[' + sdf.format(date) + '][GROOVY] ' + message);
}
def LogOperationStatus(EpmAutomateStatus opstatus) {
def returncode = opstatus.getStatus()
LogMessage(opstatus.getOutput())
LogMessage('return code: ' + returncode)
}
LogMessage('Starting mail activity report processing')
// encrypt
LogMessage("Operation: encrypt " + password + " oracleKey password.epw")
EpmAutomateStatus status = automate.execute('encrypt',password,"oracleKey","password.epw")
LogOperationStatus(status)
// login
LogMessage("Operation: login " + user + " password.epw " + url)
status = automate.execute('login',user,"password.epw",url)
LogOperationStatus(status)
// listfiles
LogMessage('Operation: listfiles')
status = automate.execute('listfiles')
LogOperationStatus(status)
String filelist = status.getItemsList()
String[] str = filelist.split(',');
String reportfile = ''
for( String svalues : str ) {
String[] ftr = svalues.split('/')
for( String fvalues : ftr ) {
if (fvalues.startsWith('2') && fvalues.endsWith('html')) {
reportfile = fvalues
}
}
}
def reportdir = reportfile.tokenize(".")[0]
String reportpath = 'apr/' + reportdir + '/' + reportfile
// sendMail
LogMessage('Operation: sendMail ' + emailaddresses + ' Daily Activity Report Body=Daily Activity Report Attachments=' + reportpath)
status = automate.execute('sendmail',emailaddresses,'Daily Activity Report','Body=Daily Activity Report',"Attachments=${reportpath}")
LogOperationStatus(status)
// logout
LogMessage('Operation: logout')
status = automate.execute('logout')
LogOperationStatus(status)