Quando si esegue il write-back tramite l'agente di integrazione EPM, è possibile utilizzare l'evento BefExport
per eseguire qualsiasi azione prima dell'inserimento dei dati nella tabella oppure sostituire l'elaborazione di inserimento predefinita.
Il seguente esempio di script mostra come chiamare un'API esterna che verrà eseguita prima del write-back.
L'evento BefExport
in questo esempio:
agentContextParams
;EPM_APP_DATA_HOME\logs
e epmagent.log
.Per informazioni sulle funzioni di contesto dell'agente di integrazione EPM, fare riferimento alla sezione Funzioni di contesto dell'agente di integrazione EPM.
Questo script viene fornito unicamente come esempio e non è garantito contro eventuali difetti. Gli utenti pertanto non possono presentare al Supporto Oracle una richiesta di assistenza riguardante domande o problemi relativi allo script.
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"