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"