BefExport-Ereignis verwenden

Verwenden Sie beim Writeback mit EPM Integration Agent das Ereignis BefExport, um eine beliebige Aktion auszuführen, bevor Sie Daten in die Tabelle einfügen. Alternativ können Sie die Standardeinfügeverarbeitung überschreiben.

Das folgende Skriptbeispiel zeigt, wie eine externe API aufgerufen wird, die vor dem Writeback ausgeführt wird.

Das Ereignis BefExport in diesem Beispiel:

  • druckt den Inhalt der agentContextParams-Zuordnung
  • ruft den Namen der Tabelle ab, in die die Daten eingefügt werden, und druckt ihn.
  • ruft die INSERT-Abfrage ab und druckt sie.
  • druckt eine Informationsmeldung in das Agent-Prozesslog. Dieser Eintrag wird im Prozesslog im Ordner EPM_APP_DATA_HOME\logs und epmagent.log protokolliert.

Informationen zu Kontextfunktionen für EPM Integration Agent finden Sie unter Kontextfunktionen für EPM Integration Agent.

Beachten Sie, dass dieses Skript nur als Beispiel dient und keine Garantie für Defekte gewährt wird. Benutzer dürfen keine Serviceanfrage an Oracle Support stellen, wenn sie Fragen oder Probleme im Zusammenhang mit dem Skript haben.

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"