Verwenden Sie die Skripte in diesem Abschnitt, um abgeglichene Transaktionen einschließlich Bestätigungs- und Anpassungsdetails, die mindestens dem angegebenen Alter entsprechen, zu archivieren. Löschen Sie die archivierten Transaktionen anschließend aus Account Reconciliation. Die archivierten abgeglichenen Transaktionen werden in einer ZIP-Datei erfasst.
Funktionsweise des Skripts
input.properties
wird die Anmeldung in der Umgebung durchgeführt.archiveTmTransactions
-Befehl wird ausgeführt, um ein Archiv zu erstellen. Die daraus resultierende ZIP-Datei erhält standardmäßig den Namen Archive_Transactions_INTERCO_JOB_ID.zip
, und die daraus resultierende Logdatei erhält standardmäßig den Namen Archive_Transactions_INTERCO_JOB_ID.log
.
epmautomate archiveTmTransactions INTERCO 365 filterOperator=contains filterValue=14001
input.properties
ändern.purgeArchivedTmTransactions
(mit der Job-ID des archiveTmTransactions-Jobs) wird ausgeführt, um die archivierten abgeglichenen Transaktionen aus der Anwendung zu löschen.Skripte ausführen
input.properties
, und aktualisieren Sie sie mit Informationen für Ihre Umgebung. Speichern Sie die Datei in einem lokalen Verzeichnis. Dieses Verzeichnis wird in dieser Erörterung als parentsnapshotdirectory
bezeichnet. Die Inhalte dieser Datei unterscheiden sich je nach Betriebssystem.
Stellen Sie sicher, dass Sie Schreibrechte in diesem Verzeichnis haben. Unter Windows müssen Sie möglicherweise PowerShell mit der Option Als Administrator ausführen starten, um Skripte ausführen zu können.
transaction_match.ps1
(Windows PowerShell) oder transaction_match.sh
(Linux/UNIX), und speichern Sie es im Verzeichnis parentsnapshotdirectory
, in dem sich die Datei input.properties
befindet../transaction_match.sh
aus.transaction_match.ps1
aus.Skript "input.properties" erstellen
Erstellen Sie das Skript input.properties
, indem Sie das folgende Skript kopieren und aktualisieren.
javahome=JAVA_HOME epmautomatescript=EPM_AUTOMATE_LOCATION epmusername=exampleAdmin1 epmpassword=examplePassword1.epw epmurl=exampleURL1 objectstorageusername=exampleAdmin2 objectstoragepassword=examplePassword2 objectstorageurl=exampleURL2 matchtype=INTERCO age=365 filteroperator=contains filtervalues=FilterValue=14001 proxyserverusername=myProxyserver proxyserverpassword=myProxyserver_pwd proxyserverdomain=myProxyDomain
Hinweis:
Nur für Windows: Entfernen Sie die folgenden Eigenschaften aus der Datei input.properties
:
javahome=JAVA_HOME
epmautomatescript=EPM_AUTOMATE_LOCATION
Wenn authentication at proxy server
für Ihre Windows-Netzwerkumgebung nicht aktiviert ist, entfernen Sie die folgenden Eigenschaften aus der Datei input.properties
.
proxyserverusername
proxyserverpassword
proxyserverdomain
Tabelle 3-24 Parameter für "input.properties"
Parameter | Beschreibung |
---|---|
javahome |
Das Verzeichnis, in dem das von EPM Automate verwendete JDK installiert ist. Löschen Sie diesen Eintrag aus der Windows-Version der Datei input.properties .
Beispiel: |
epmautomatescript |
Das Verzeichnis, in dem EPM Automate installiert ist. Löschen Sie diesen Eintrag aus der Windows-Version der Datei input.properties .
Beispiel: |
epmusername |
Der Benutzername eines Serviceadministrators oder eines Powerusers, Benutzers oder Leseberechtigten, der autorisiert ist, abgeglichene Transaktionen zu archivieren.
Beispiel: |
epmuserpassword |
Die Datei mit dem verschlüsselten Kennwort für den Benutzer epmusername .
Beispiel: |
epmurl |
Die URL der Umgebung, in der abgeglichene Transaktionen archiviert werden sollen.
Beispiel: |
objectstorageusername |
Die ID eines Benutzers, der in Oracle Object Storage Cloud über die erforderlichen Schreibzugriffsberechtigungen verfügt.
Bei im föderierten Identitätsprovider erstellten Benutzern geben Sie den vollqualifizierten Namen des Benutzers an (Beispiel: Beispiel: |
objectstoragepassword |
Das dem Benutzer objectstorageusername zugeordnete Swift-Kennwort oder -Authentifizierungstoken. Dieses Kennwort stimmt nicht mit dem Kennwort überein, das der Benutzer für die Anmeldung bei der Object Storage-Konsole verwendet. Das Authentifizierungstoken ist ein von Oracle generiertes Token, mit dem Sie Drittanbieter-APIs authentifizieren können, beispielsweise für die Authentifizierung mit einem Swift-Client. Anweisungen zum Erstellen dieses Token finden Sie unter So erstellen Sie ein Authentifizierungstoken: in der Dokumentation Oracle Cloud Infrastructure-Dokumentation.
Beispiel: |
objectstorageurl |
Die URL der Oracle Object Storage Cloud-Gruppe mit einem optional angehängten Objektnamen.
Beispiel: |
matchtype |
Die ID (TextID) des Abgleichstyps, von dem die abgeglichenen Transaktionen archiviert werden sollen.
Beispiel: |
age |
Die Anzahl von Tagen, seit die Transaktion abgeglichen wurde. Abgeglichene Transaktionen, die diesem Wert entsprechen oder älter sind, werden archiviert. Beispiel: |
filteroperator |
Die Filterbedingung zur Identifizierung der Konten, die abgeglichene Transaktionen zur Archivierung enthalten. Der Wert muss einer der folgenden sein: equals , not_equals , starts_with , ends_with , contains oder not_contains .
Dieser Wert wird mit Beispiel: |
filtervalues |
Ein oder mehrere Filterwerte zur Identifizierung der zu archivierenden Transaktionen. Wenn equals oder not_equals als filterOperator angegeben ist, können Sie eine durch Leerzeichen getrennte Liste verwenden, um mehrere Werte anzugeben. Wenn mehrere Werte angegeben werden, werden Transaktionen aus Konten zum Archivieren ausgewählt, die zu einer beliebigen Kombination aus Filteroperator und Filterwert passen.
Beispiel: |
proxyserverusername |
Der Benutzername zum Authentifizieren einer sicheren Session auf dem Proxyserver, der den Zugriff auf das Internet steuert.
Beispiel: |
proxyserverpassword |
Das Kennwort zur Authentifizierung des Benutzers beim Proxyserver.
Beispiel: |
proxyserverdomain |
Der Name der Domain, die für den Proxyserver definiert ist.
Beispiel: |
Windows-Skript
Erstellen Sie die Datei transaction_match.ps1
, indem Sie das folgende Skript kopieren. Speichern Sie sie im selben Ordner, in dem die Datei input.properties
gespeichert ist.
# Archive and Purge Transaction Matching PowerShell script $inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw) $epmusername="$($inputproperties.epmusername)" $epmpassword="$($inputproperties.epmpassword)" $epmurl="$($inputproperties.epmurl)" $objectstorageusername="$($inputproperties.objectstorageusername)" $objectstoragepassword="$($inputproperties.objectstoragepassword)" $objectstorageurl="$($inputproperties.objectstorageurl)" $matchtype="$($inputproperties.matchtype)" $age="$($inputproperties.age)" $filteroperator="$($inputproperties.filteroperator)" $filtervalues="$($inputproperties.filtervalues)" $proxyserverusername="$($inputproperties.proxyserverusername)" $proxyserverpassword="$($inputproperties.proxyserverpassword)" $proxyserverdomain="$($inputproperties.proxyserverdomain)" echo "Running processes to archive and purge transaction matching transactions ..." if (${proxyserverusername}) { echo "Running epmautomate login ${epmusername} ${epmpassword} ${epmurl} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain}" epmautomate login ${epmusername} ${epmpassword} ${epmurl} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain} } else { echo "Running epmautomate login ${epmusername} ${epmpassword} ${epmurl}" epmautomate login ${epmusername} ${epmpassword} ${epmurl} } echo "Running epmautomate archiveTmTransactions \"${matchtype}\" ${age} filterOperator=${filteroperator} ${filtervalues}" epmautomate archiveTmTransactions "${matchtype}" "${age}" "filterOperator=${filteroperator}" "${filtervalues}" > ./outfile.txt.tmp $jobIdLine=Select-String -Path "outfile.txt.tmp" -Pattern "Job ID"; $jobIdLine=($jobIdLine -split ":")[-2]; $jobid=($jobIdLine -split " ")[1]; $logfile="Archive_Transactions_${matchtype}_${jobid}.log" $transactionsfile="Archive_Transactions_${matchtype}_${jobid}.zip" epmautomate listfiles > ./files.txt.tmp $transactionslogfound=Select-String -Path "./files.txt.tmp" -Pattern "${logfile}" $transactionsfilefound=Select-String -Path "./files.txt.tmp" -Pattern "${transactionsfile}" rm ./outfile.txt.tmp rm ./files.txt.tmp if (${transactionslogfound}) { echo "Running epmautomate downloadfile \"${logfile}\"" epmautomate downloadfile "${logfile}" if (${transactionsfilefound}) { echo "Running epmautomate downloadfile ${transactionsfile}" epmautomate downloadfile "${transactionsfile}" if ($?) { echo "Running epmautomate copyToObjectStorage ${transactionsfile} ${objectstorageusername} ${objectstoragepassword} ${objectstorageurl}" epmautomate copyToObjectStorage "${transactionsfile}" "${objectstorageusername}" "${objectstoragepassword}" "${objectstorageurl}" if ($?) { echo "Running epmautomate purgeArchivedTMTransactions JOBID=${jobid}" epmautomate purgeArchivedTMTransactions "JobID=${jobid}" } else { echo "EPMAutomate copyToObjectStorage failed. Purging of archived matched transactions will not be attempted." } } else { echo "Download of transactions file ${transactionsfile} failed. Copy to object storage, and purging of archived matched transactions will not be attempted." } } else { echo "No matched transactions found. Archive file download, copy to object storage, and purging of archived matched transactions will not be attempted." } } else { echo "Matchtype ID \"${matchtype}\" not found. Archive file download, copy to object storage, and purging of archived matched transactions will not be attempted." } echo "Running epmautomate logout" epmautomate logout echo "Script processing completed."
Linux-/UNIX-Skript
Erstellen Sie die Datei transaction_match.sh
, indem Sie das folgende Skript kopieren. Speichern Sie sie im selben Ordner, in dem die Datei input.properties
gespeichert ist.
#!/bin/sh . ./input.properties export JAVA_HOME=${javahome} echo "Running processes to archive and purge transaction matching transactions..." if [[ "${proxyserverusername}" != "" ]] then echo "Running epmautomate login ${epmusername} ${epmpassword} ${epmurl} ProxyServerUserName=${proxyserverusername} ProxyServerPassword=${proxyserverpassword} ProxyServerDomain=${proxyserverdomain}" ${epmautomatescript} login "${epmusername}" "${epmpassword}" "${epmurl}" "ProxyServerUserName=${proxyserverusername}" "ProxyServerPassword=${proxyserverpassword}" "ProxyServerDomain=${proxyserverdomain}" else echo "Running epmautomate login ${epmusername} ${epmpassword} ${epmurl}" ${epmautomatescript} login "${epmusername}" "${epmpassword}" "${epmurl}" fi echo "Running epmautomate archiveTmTransactions \"${matchtype}\" ${age} filterOperator=${filteroperator} ${filtervalues}" ${epmautomatescript} archiveTmTransactions "${matchtype}" "${age}" "filterOperator=${filteroperator}" "${filtervalues}" > ./output.txt.tmp jobid=$(grep "Job ID" ./output.txt.tmp | cut -d':' -f3 | cut -d' ' -f2) logfile="Archive_Transactions_${matchtype}_${jobid}.log" transactionsfile="Archive_Transactions_${matchtype}_${jobid}.zip" ${epmautomatescript} listfiles > ./files.txt.tmp transactionslogfound=$(grep "${logfile}" ./files.txt.tmp | wc -l) transactionsfilefound=$(grep "${transactionsfile}" ./files.txt.tmp | wc -l) rm ./files.txt.tmp rm ./output.txt.tmp if [ ${transactionslogfound} -eq 0 ] then echo "Matchtype ID \"${matchtype}\" not found. Archive file download, copy to object storage, and purging of archived matched transactions will not be attempted." else echo "Running epmautomate downloadfile \"${logfile}\"" ${epmautomatescript} downloadfile "${logfile}" if [ ${transactionsfilefound} -eq 0 ] then echo "No matched transactions found. Archive file download, copy to object storage, and purging of archived matched transactions will not be attempted." else echo "Running epmautomate downloadfile ${transactionsfile}" ${epmautomatescript} downloadfile "${transactionsfile}" if [ $? -eq 0 ] then echo "Running epmautomate copyToObjectStorage ${transactionsfile} ${objectstorageusername} ${objectstoragepassword} ${objectstorageurl}" ${epmautomatescript} copyToObjectStorage "${transactionsfile}" "${objectstorageusername}" "${objectstoragepassword}" "${objectstorageurl}" if [ $? -eq 0 ] then echo "Running epmautomate purgeArchivedTMTransactions JOBID=${jobid}" ${epmautomatescript} purgeArchivedTMTransactions "JobID=${jobid}" else echo "EPMAutomate copyToObjectStorage failed. Purging of archived matched transactions will not be attempted." fi else echo "Download of transactions file ${transactionsfile} failed. Copy to object storage, and purging of archived matched transactions will not be attempted." fi fi fi echo "Running epmautomate logout" ${epmautomatescript} logout echo "Script processing completed."