使用 BefExport 事件

使用 EPM 集成代理进行回写时,可使用 BefExport 事件在向表中插入数据之前执行任何操作,也可以覆盖默认的插入处理。

以下脚本示例显示如何调用在回写之前执行的外部 API。

此示例中的 BefExport 事件:

  • 输出 agentContextParams 映射的内容
  • 提取并输出将在其中插入数据的表名称。
  • 提取并输出插入查询
  • 将信息消息输出到代理进程日志。此条目记录到 EPM_APP_DATA_HOME\logsepmagent.log 中的进程日志。

有关 EPM 集成代理上下文函数的信息,请参阅“EPM 集成代理上下文函数”。

请注意,此脚本只是一个示例,不保证无任何缺陷,用户不能就与该脚本相关的任何疑问或问题向 Oracle 支持部门提出服务请求。

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"