Archivado de transacciones confrontadas antiguas y depuración de transacciones archivadas

Utilice los scripts de esta sección para archivar las transacciones confrontadas, incluidos los detalles de ajuste y soporte, que son iguales o anteriores a una antigüedad especificada y, a continuación, depure las transacciones archivadas de Account Reconciliation. Las transacciones confrontadas archivadas se registran en un archivo ZIP.

Funcionamiento del script

  1. Utilizando la información del archivo input.properties, inicia sesión en un entorno.
  2. Ejecuta el siguiente comando de archiveTmTransactions para crear un archivo. El archivo ZIP y el archivo de registro resultantes utilizan los nombres predeterminados Archive_Transactions_INTERCO_JOB_ID.zip y Archive_Transactions_INTERCO_JOB_ID.log

    epmautomate archiveTmTransactions INTERCO 365 filterOperator=contains filterValue=14001

    Puede cambiar los parámetros del comando modificando el archivo input.properties.
  3. Descargue el archivo de registro y el archivo ZIP que contiene las transacciones archivadas en el equipo local. El script muestra un mensaje de error si no se encuentra ninguna transacción de confrontación.
  4. Copia el archivo ZIP que contiene las transacciones archivadas en Oracle Object Store.
  5. Ejecuta el comando purgeArchivedTmTransactions (con el identificador de trabajo del trabajo archiveTmTransactions) para suprimir las transacciones confrontadas archivadas de la aplicación.

Ejecución del script

  1. Cree el archivo input.properties y actualícelo con información de su entorno. Guarde el archivo en un directorio local. Este directorio se denomina parentsnapshotdirectory en esta discusión. El contenido de este archivo difiere según su sistema operativo.

    Asegúrese de que tiene privilegios de escritura en este directorio. Para Windows, puede que necesite iniciar PowerShell mediante la opción Ejecutar como administrador para poder ejecutar los scripts.

  2. Cree el script transaction_match.ps1 (Windows PowerShell) o transaction_match.sh (Linux/UNIX) y guárdelo en parentsnapshotdirectory, donde se ubica input.properties.
  3. Inicie el script.
    • Linux/UNIX: ejecute ./transaction_match.sh.
    • Windows PowerShell: ejecute transaction_match.ps1.

Creación del script input.properties

Cree input.properties copiando y actualizando el siguiente script.

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:

Solo para Windows: elimine estas propiedades del archivo input.properties:

  • javahome=JAVA_HOME
  • epmautomatescript=EPM_AUTOMATE_LOCATION

Si authentication at proxy server no está activado para el entorno de red de Windows, elimine estas propiedades del archivo input.properties.

  • proxyserverusername
  • proxyserverpassword
  • proxyserverdomain

Tabla 3-24 Parámetros de input.properties

Parámetro Descripción
javahome Directorio en el que se instala la instancia de JDK que utiliza EPM Automate. Suprima esta entrada de la versión para Windows de input.properties.

Ejemplo: javahome=./home/JDK/bin

epmautomatescript Directorio donde se instala EPM Automate. Suprima esta entrada de la versión para Windows de input.properties.

Ejemplo:epmautomatescript=./home/utils/EPMAutomate/bin

epmusername Nombre de usuario de un administrador del servicio o un usuario avanzado, usuario o visor que está autorizado para archivar transacciones confrontadas.

Ejemplo: epmusername=ServiceAdmin

epmuserpassword Archivo de contraseña cifrado del usuario identificado como epmusername.

Ejemplo: epmpassword=myPwd.epw

epmurl URL del entorno donde se archivarán las transacciones confrontadas.

Ejemplo: epmurl=https://test-cloudpln.pbcs.us1.oraclecloud.com

objectstorageusername Identificador de un usuario que tiene los derechos de acceso necesarios para escribir en Oracle Object Storage Cloud.

Para los usuarios creados en un proveedor de identidad federado, especifique el nombre completo del usuario (por ejemplo, exampleIdP/jdoe o exampleIdP/john.doe@example.com, donde exampleIdP es el nombre del proveedor de identidad federado). Para otros usuarios, especifique el ID de usuario.

Ejemplo: epmusername=myIdP/jdoe

objectstoragepassword La contraseña Swift o el símbolo de autenticación asociado al usuario identificado en objectstorageusername. Esta contraseña no es la misma que la que utiliza el usuario para iniciar sesión en la consola de Object Storage. El símbolo de autentificación es un símbolo generado por Oracle que usa para autentificarse en las API de terceros, por ejemplo, para autentificarse en un cliente de Swift. Para obtener instrucciones para crear este símbolo, consulte Para crear un símbolo de autentificación en Documentación de Oracle Cloud Infrastructure.

Ejemplo: objectstoragepassword=jDoe_PWD

objectstorageurl URL del cubo de Oracle Object Storage Cloud con un nombre de objeto opcional añadido.

Ejemplo: objectstorageurl=https://swiftobjectstorage.region_identifier.oraclecloud.com/v1/namespace/MT_Archives/2023_archives

matchtype Identificador (TextID) del tipo de confrontación desde el que se deben archivar las transacciones confrontadas.

Ejemplo: matchtype=cashrecon

age

Número de días desde que se confrontó la transacción. Se archivará una transacción coincidente anterior o igual a este valor.

Ejemplo: age=180

filteroperator Condiciones de filtro para identificar las cuentas que contienen transacciones confrontadas para su archivado. Debe ser una de las siguientes: equals, not_equals, starts_with, ends_with, contains o not_contains.

Este valor se combina con filterValue para identificar las cuentas de las que deben archivarse las transacciones confrontadas:

Ejemplo: filteroperator=not_equals

filtervalues Uno o más valores de filtro para identificar las transacciones que se van a archivar. Si se especifica equals o not_equals como filterOperator, puede utilizar una lista separada por espacio para especificar varios valores. Si se especifican varios valores, se seleccionan las transacciones de las cuentas que coincidan con cualquier combinación de valor de filtro y operador de filtro para su archivado.

Ejemplo: filterValue=101-120 filterValue=140-202

proxyserverusername Nombre de usuario utilizado para autentificar una sesión segura con el servidor proxy que controla el acceso a Internet.

Ejemplo: proxyserverusername=myProxyserver

proxyserverpassword Contraseña para autentificar el usuario con el servidor proxy.

Ejemplo: proxyserverpassword=myProxyserver_pwd

proxyserverdomain Nombre del dominio definido para el servidor proxy.

Ejemplo: proxyserverdomain=myProxyDomain

Script de Windows

Cree transaction_match.ps1 copiando el siguiente script. Almacénelo en la carpeta en la que está almacenado 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 de Linux/UNIX

Cree transaction_match.sh copiando el siguiente script. Almacénelo en la carpeta en la que está almacenado 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."