使用 BefExport 事件

使用 EPM 整合代理程式寫回時,請在將資料插入表格前使用 BefExport 事件執行任何動作,或者您可以置換預設的插入處理。

下列指令碼範例顯示如何呼叫在寫回前執行的外部 API。

此範例中的 BefExport 事件:

  • 列印 agentContextParams 對映的內容
  • 擷取並列印要插入資料的表格名稱。
  • 擷取並列印插入查詢
  • 將資訊訊息列印到代理程式的程序日誌中。此項目會記錄在 EPM_APP_DATA_HOME\logs 的程序日誌和 epmagent.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"