Uso de um Evento BefExport

Ao fazer write-back usando o Agente de Integração do EPM , utilize o evento BefExport para realizar qualquer ação antes de inserir dados na tabela ou você pode substituir o processamento de inserção padrão.

O exemplo de script a seguir mostra como chamar uma API externa que é executada antes do write-back.

O evento BefExport neste exemplo:

  • imprime o conteúdo do mapa agentContextParams
  • busca e imprime o nome da tabela em que os dados são inseridos.
  • Extrai e imprime a consulta insert.
  • Imprime uma mensagem de informação no log de processo do agente. Essa entrada é registrada no log do processo em EPM_APP_DATA_HOME\logs and epmagent.log.

Para obter informações sobre funções de Contexto do Agente de Integração do EPM, consulte Funções de Contexto do Agente de Integração do EPM.

Observe que esse script é fornecido apenas como exemplo, e não é garantido contra defeitos, e os usuários talvez não registrem uma solicitação de serviço com o suporte da Oracle em relação a quaisquer perguntas ou problemas relacionados ao script.

import sys
import java

'''
Before export custom script. This script will be called before the writeback begins execution.
'''
#print Begin: BefExport.py

#print 'Event Type is: ' + event

'''
Print the contents of the agentContextParams map which is an unmodifiable map. 
'''
#print 'JOBTYPE: ' + agentContext["JOBTYPE"]
#print 'EPM_APP_DATA_HOME: ' + agentContext["EPM_APP_DATA_HOME"]
#print 'WRITEBACK_DATA_FILE: ' + agentContext["WRITEBACK_DATA_FILE"]
#print 'JOBID: ' + str(agentContext["JOBID"])
#print 'INTEGRATION: ' + agentContext["INTEGRATION"]
#print 'LOCATION: ' + agentContext["LOCATION"]
#print 'SOURCE_APPLICATION: ' + agentContext["SOURCE_APPLICATION"]
#print 'TARGET_APPLICATION: ' + agentContext["TARGET_APPLICATION"]



'''
getTable() Method to fetch the table name into which the data will be inserted. This is 
passed from cloud to the agent during the writeback execution call.
'''
#print "Printing Table Name: " + agentAPI.getTable()


'''
getInsertQuery() Method to fetch the insert query. This is the query which is
passed from cloud to the agent during the writeback execution call.
'''
#print "Printing Query: " + agentAPI.getInsertQuery()


'''
Log an info message to the agent process log. This entry will be logged only to the process log in EPM_APP_DATA_HOME\logs
folder and not to epmagent.log. The log entry will be created at INFO log level.
'''
#agentAPI.logInfo("SAMPLE: INFO log message from script")


'''
Log an severe message to the agent process log. This entry will be logged into the process log in EPM_APP_DATA_HOME\logs
folder and also into epmagent.log. The log entry will be created at SEVERE log level.
'''
#agentAPI.logError("SAMPLE: SEVERE log message from script")


'''
Uncomment to skip the export data execution. The writeback execution can be skipped only during the
BEFORE_EXPORT event. This will skip the execution of the insert statements. The cloud process will be marked as failed in the Export data step. 
'''
#agentAPI.skipAction('true')


'''
Return false in case of error, which will throw an exception in the agent.
'''

#print "End: BefExport.py"