Utilisez les scripts de cette section pour archiver les transactions mises en correspondance, y compris les détails annexes et les détails d'ajustement, dont l'ancienneté est égale ou supérieure à une valeur donnée, puis purger les transactions archivées d'Account Reconciliation. Les transactions mises en correspondance archivées sont enregistrées dans un fichier ZIP.
Fonctionnement du script
input.properties
.archiveTmTransactions
suivante pour créer une archive. Le fichier ZIP et le fichier journal générés utilisent les noms par défaut Archive_Transactions_INTERCO_JOB_ID.zip
et Archive_Transactions_INTERCO_JOB_ID.log
.
epmautomate archiveTmTransactions INTERCO 365 filterOperator=contains filterValue=14001
input.properties
pour modifier les paramètres de commande.purgeArchivedTmTransactions
(avec l'ID du job archiveTmTransactions) pour supprimer les transactions mises en correspondance archivées de l'application.Exécution du script
input.properties
et mettez-le à jour avec les informations relatives à votre environnement. Enregistrez le fichier dans un répertoire local. Ce répertoire est nommé parentsnapshotdirectory
dans cette discussion. Le contenu de ce fichier varie en fonction du système d'exploitation.
Assurez-vous que vous disposez de privilèges d'écriture sur ce répertoire. Pour Windows, vous devrez peut-être démarrer PowerShell à l'aide de l'option Exécuter en tant qu'administrateur afin de pouvoir exécuter les scripts.
transaction_match.ps1
(Windows PowerShell) ou transaction_match.sh
(Linux/UNIX), puis enregistrez-le dans le répertoire parentsnapshotdirectory
, où se trouve input.properties
../transaction_match.sh
.transaction_match.ps1
.Création du script input.properties
Créez input.properties
en copiant et en mettant à jour le script suivant.
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
Remarque :
Windows uniquement : enlevez les propriétés suivantes du fichier input.properties
:
javahome=JAVA_HOME
epmautomatescript=EPM_AUTOMATE_LOCATION
Si l'authentification au niveau du serveur proxy
n'est pas activée pour votre environnement réseau Windows, enlevez les propriétés suivantes du fichier input.properties
.
proxyserverusername
proxyserverpassword
proxyserverdomain
Tableau 3-24 Paramètres du fichier input.properties
Paramètre | Description |
---|---|
javahome |
Répertoire dans lequel le JDK utilisé par EPM Automate est installé. Supprimez cette entrée de la version Windows du fichier input.properties .
Exemple : |
epmautomatescript |
Répertoire dans lequel EPM Automate est installé. Supprimez cette entrée de la version Windows du fichier input.properties .
Exemple : |
epmusername |
Nom d'utilisateur d'un administrateur de service, d'un super utilisateur, d'un utilisateur ou d'un visualiseur autorisé à archiver des transactions mises en correspondance.
Exemple : |
epmuserpassword |
Fichier de mots de passe cryptés de l'utilisateur identifié comme epmusername .
Exemple : |
epmurl |
URL de l'environnement dans lequel les transactions mises en correspondance doivent être archivées.
Exemple : |
objectstorageusername |
ID d'un utilisateur qui dispose des droits d'accès en écriture requis dans Oracle Object Storage Cloud.
Pour les utilisateurs créés dans un fournisseur d'identités fédérées, indiquez le nom qualifié complet de l'utilisateur (par exemple, Exemple : |
objectstoragepassword |
Mot de passe Swift ou jeton d'authentification associé à l'utilisateur identifié dans objectstorageusername . Ce mot de passe est différent de celui dont l'utilisateur se sert pour se connecter à la console Object Storage. Le jeton d'authentification est un jeton généré par Oracle que vous utilisez pour l'authentification auprès d'API tierces, par exemple auprès d'un client Swift. Afin d'obtenir des instructions pour créer ce jeton, reportez-vous à la section Procédure de création d'un jeton d'authentification du guide Documentation Oracle Cloud Infrastructure.
Exemple : |
objectstorageurl |
URL du bucket Oracle Object Storage Cloud à laquelle est ajouté un nom d'objet facultatif.
Exemple : |
matchtype |
Identificateur (TextID) du type de correspondance dont les transactions mises en correspondance doivent être archivées.
Exemple : |
age |
Nombre de jours écoulés depuis la mise en correspondance de la transaction. Toute transaction mise en correspondance antérieure ou égale à cette valeur sera archivée. Exemple : |
filteroperator |
Conditions de filtre permettant d'identifier les comptes qui contiennent des transactions mises en correspondance pour archivage. Valeurs admises : equals , not_equals , starts_with , ends_with , contains ou not_contains .
Cette valeur est associée à Exemple : |
filtervalues |
Valeurs de filtre permettant d'identifier les transactions à archiver. Si equals ou not_equals est indiqué en tant que filterOperator , vous pouvez utiliser une liste de valeurs séparées par des espaces pour indiquer plusieurs valeurs. Si plusieurs valeurs sont indiquées, les transactions provenant des comptes correspondant à toute combinaison d'opérateur de filtre et de valeur de filtre sont sélectionnées afin d'être archivées.
Exemple : |
proxyserverusername |
Nom d'utilisateur permettant d'authentifier une session sécurisée avec le serveur proxy qui contrôle l'accès à Internet.
Exemple : |
proxyserverpassword |
Mot de passe pour l'authentification de l'utilisateur auprès du serveur proxy.
Exemple : |
proxyserverdomain |
Nom du domaine défini pour le serveur proxy.
Exemple : |
Script Windows
Créez transaction_match.ps1
en copiant le script suivant. Stockez-le dans le même dossier que le fichier input.properties
.
# 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."
Script Linux/UNIX
Créez transaction_match.sh
en copiant le script suivant. Stockez-le dans le même dossier que le fichier input.properties
.
#!/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."