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"