Métodos de API del Agente de integración de EPM

El Agente de integración de EPM proporciona una serie de métodos que pueden utilizarse en los scripts para realizar acciones como la especificación de texto en el archivo de registro, actualizaciones en variables de enlace y consultas, y acciones que indican al Agente de integración de EPM que omita el paso de procesamiento SQL en el caso en el que se utilice una consulta especial o un origen de datos distinto de SQL.

Los métodos de API del Agente de integración de EPM son los siguientes:

Método de API Descripción Ejemplo

logInfo()

Registre un mensaje de información en el registro de proceso de agente. Esta entrada se guarda en el registro de proceso en la carpeta EPM_APP_DATA_HOME\logs, el registro de trabajo en Oracle Fusion Cloud Enterprise Performance Management, pero no en el archivo local epmagent.log. La entrada de registro se crea en el nivel de registro INFO.

agentAPI.logInfo("SAMPLE: INFO log message from script")

logError()

Registre un mensaje de error en el registro de proceso de agente. Esta entrada se guarda en el registro de proceso en la carpeta EPM_APP_DATA_HOME\logs, el registro de trabajo en Cloud EPM, y también en el archivo local epmagent.log. La entrada de registro se crea en el nivel de registro SEVER.

agentAPI.logError("SAMPLE: SEVER log message from script")

setBindVariables()

Utilice el método setBindVariables() para actualizar las variables de enlace de la consulta de extracción. Solo se aplica en el script befExtract.

Las variables de enlace se deben transferir como una entrada de asignación Java para cada variable con la variable NAME como clave y VALUE.

newBindVar = dict({'PERIOD':'Feb-05', 'LEDGER':'Vision Operations (USA)'})

jmap = java.util.HashMap()

para la clave en newBindVar.keys(): jmap[key] = newBindVar[key]

agentAPI.setBindVariables(jmap)

getBindVariables()

Utilice el método getBindVariables() para recuperar las variables de enlace para la consulta de extracción. Cada variable de enlace se almacena en una asignación, que utiliza las claves NAME y VALUE para definir la variable de enlace.

bindVariables = agentAPI.getBindVariables()

para la entrada en bindVariables.entrySet(): print entry.key, entry.value

updateQuery()

Utilice el método updateQuery() para actualizar la consulta de extracción. Solo se aplica en el script befExtract.

agentAPI.updateQuery("SELECT * FROM TDATASEG")

getQuery()

Utilice el método getQuery() para recuperar la consulta que se ha transferido desde Cloud EPM al Agente de integración de EPM durante la llamada de ejecución de extracción.

print "Printing Query: " + agentAPI.getQuery()

skipAction()

Utilice el método skipAction() para omitir el paso de extracción de datos cuando el Agente de integración de EPM utilice una rutina de extracción personalizada.

Tenga en cuenta que la ejecución de la extracción solo se puede omitir durante el script befExtract.

Si desea proporcionar un archivo de datos para cargarlo en Cloud EPM en lugar de ejecutar la consulta guardada, se debe guardar un archivo con el nombre <process ID>.dat en la carpeta MyData/data a tiempo para su carga en Cloud EPM. Esto significa que el archivo se debe guardar en esta carpeta en los scripts befExtract, aftExtract o befUpload.

agentAPI.skipAction('true')

getConnectionDetails()

Utilice el método getConnectionDetails() para recuperar el objeto de datos de credencial de conexión de la nube transferido desde Cloud EPM al Agente de integración de EPM durante la llamada de ejecución de extracción.

cred = agentAPI.getConnectionDetails()
url = cred.getJDBCUrl()
user = cred.getUserName()
password = cred.getPassword()
agentAPI.logInfo ("Connection Details: ")
agentAPI.logInfo("URL: " + url)
agentAPI.logInfo('User: ' + user)

setCustomConnection(conn)

Utilice el método setCustomConnection(conn) para definir la conexión personalizada en el agente de integración de EPM durante la llamada de ejecución de extracción. El agente utiliza esta conexión para la ejecución. El objeto de conexión debe ser una conexión JDBC de tipo 4 y una implementación de la interfaz de java.sql.Connection.

Solo se aplica en los scripts befExtract y befExport. Consulte los scripts de ejemplo BefExtract.py y los valores java CustomEventSample y CustomWribackEvent para obtener más detalles sobre su uso.

Para crear una conexión personalizada a una base de datos Oracle:

java.lang.Class.forName("oracle.jdbc.driver.OracleDriver")
conn = java.sql.DriverManager.getConnection('jdbc:oracle:thin:@<host>:<port>:<sid>', '<user/schema name>', '<password>')
agentAPI.setCustomConnection(conn)