Use os scripts nesta seção para arquivar transações correspondentes, incluindo detalhes de suporte e ajuste, cujo tempo de validade seja igual ou posterior ao especificado e, em seguida, elimine as transações arquivadas de Account Reconciliation. As transações correspondentes arquivadas são gravadas em um arquivo ZIP.
Como o Script Funciona
input.properties
, faz logon no ambientearchiveTmTransactions
para criar um arquivo. O arquivo ZIP resultante e o arquivo de log usam os nomes padronizados Archive_Transactions_INTERCO_JOB_ID.zip
e Archive_Transactions_INTERCO_JOB_ID.log
epmautomate archiveTmTransactions INTERCO 365 filterOperator=contains filterValue=14001
input.properties
.purgeArchivedTmTransactions
(com o ID do job archiveTmTransactions) para excluir as transações arquivadas correspondentes do aplicativo.Execução do Script
input.properties
e atualize-o com informações do seu ambiente. Salve o arquivo em um diretório local. Nesta discussão, esse diretório é denominado parentsnapshotdirectory
. O conteúdo desse arquivo varia em função do seu sistema operacional.
Certifique-se de ter privilégios de gravação nesse diretório. Para Windows, pode ser que você precise iniciar o PowerShell usando a opção Executar como Administrador para poder executar scripts.
transaction_match.ps1
(Windows PowerShell) ou transaction_match.sh
(Linux/UNIX) e salve-o no diretório parentsnapshotdirectory
em que input.properties
está localizado../transaction_match.sh
.transaction_match.ps1
.Criação do Script input.properties
Crie input.properties
copiando e atualizando o script a seguir.
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
Nota:
Somente Windows: Remova estas propriedades do arquivo input.properties
:
javahome=JAVA_HOME
epmautomatescript=EPM_AUTOMATE_LOCATION
Se authentication at proxy server
não estiver habilitado para seu ambiente de rede do Windows, remova estas propriedades do arquivo input.properties
.
proxyserverusername
proxyserverpassword
proxyserverdomain
Tabela 3-24 Parâmetros de input.properties
Parâmetro | Descrição |
---|---|
javahome |
O diretório onde o JDK usado pelo EPM Automate está instalado. Exclua esta entrada da versão Windows de input.properties .
Exemplo: |
epmautomatescript |
O diretório em que o EPM Automate está instalado. Exclua esta entrada da versão Windows de input.properties .
Exemplo: |
epmusername |
Nome de usuário de um Administrador de Serviço ou um Usuário Avançado, Usuário ou Visualizador que está autorizado a arquivar transações correspondentes.
Exemplo: |
epmuserpassword |
O arquivo de senha criptografada do usuário identificado como epmusername .
Exemplo: |
epmurl |
O URL do ambiente onde as transações correspondentes devem ser arquivadas.
Exemplo: |
objectstorageusername |
O ID de um usuário que possui os direitos de acesso necessários para gravar no Oracle Object Storage Cloud.
Para usuários criados no provedor de identidade federado, especifique o nome totalmente qualificado do usuário (por exemplo, Exemplo: |
objectstoragepassword |
A senha Swift ou token de autenticação associado ao usuário identificado em objectstorageusername . Essa senha não é a mesma que o usuário usa para entrar no Object Storage Console. O token de autenticação é um token gerado pela Oracle e usado para autenticar APIs de terceiros, por exemplo, para autenticação com um cliente Swift. Para obter instruções sobre como criar esse token, consulte Para criar um token de autenticação: in Documentação do Oracle Cloud Infrastructure.
Exemplo: |
objectstorageurl |
O URL do bucket do Oracle Object Storage Cloud com um nome de objeto opcional acrescentado.
Exemplo: |
matchtype |
O identificador (TextID) do tipo de correspondência do qual as transações correspondentes devem ser arquivadas.
Exemplo: |
age |
O número de dias desde a correspondência da transação. Uma transação correspondente mais velha que ou igual a esse valor será arquivada. Exemplo: |
filteroperator |
As condições de filtro para identificação das contas que contêm transações correspondentes para arquivamento. Deve ser uma destas: equals , not_equals , starts_with , ends_with , contains ou not_contains .
Esse valor é combinado com Exemplo: |
filtervalues |
Um ou mais valores de filtro para identificação das transações a serem arquivadas. Se equals ou not_equals for especificado como o filterOperator , você poderá usar uma lista para a especificação de vários valores separados por espaço. Se vários valores forem especificados, as transações de contas correspondentes a alguma combinação de operador de filtro e valor de filtro serão selecionadas para arquivamento.
Exemplo: |
proxyserverusername |
O nome do usuário para autenticar uma sessão segura no servidor proxy que controla o acesso à internet.
Exemplo: |
proxyserverpassword |
A senha para autenticar o usuário no servidor proxy.
Exemplo: |
proxyserverdomain |
O nome do domínio definido para o servidor proxy.
Exemplo: |
Script do Windows
Crie transaction_match.ps1
copiando o script a seguir. Armazene-o na pasta em que input.properties
está armazenado.
# 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 de Linux/UNIX
Crie transaction_match.sh
copiando o script a seguir. Armazene-o na pasta em que input.properties
está armazenado.
#!/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."