EPM 整合代理程式的 API 方法

EPM 整合代理程式提供了幾個方法,讓您能在指令碼中使用來執行動作,例如指定日誌檔案中的文字、更新繫結變數和查詢,以及指示 EPM 整合代理程式在您採用特殊查詢或非 SQL 的資料來源時,略過 SQL 處理步驟。

以下是 EPM 整合代理程式的 API 方法:

API 方法 描述 範例

logInfo()

將資訊訊息記錄到代理程式的程序日誌中。這個項目是記錄在 EPM_APP_DATA_HOME\logs 資料夾的程序日誌中,以及 Oracle Enterprise Performance Management Cloud 的工作日誌中,但不會記錄到本機的 epmagent.log 中。這個日誌項目是建立在 INFO 日誌層級。

agentAPI.logInfo("SAMPLE: INFO log message from script")

logError()

將錯誤訊息記錄到代理程式的程序日誌中。這個項目是記錄在 EPM_APP_DATA_HOME\logs 資料夾的程序日誌中、EPM Cloud 的工作日誌中,以及 epmagent.log 中。這個日誌項目是建立在 SEVER 日誌層級。

agentAPI.logError("SAMPLE: SEVER log message from script")

setBindVariables()

您可以使用 setBindVariables() 方法來更新擷取查詢的繫結變數。這個方法只適用於 befExtract 指令碼。

針對含變數 NAME 為索引鍵和 VALUE 的每個變數,繫結變數必須當作 Java 對映來傳遞。

newBindVar = dict({'PERIOD':'Feb-05', 'LEDGER':'Vision Operations (USA)'})

jmap = java.util.HashMap()

針對 newBindVar.keys(): jmap[key] = newBindVar[key] 中的索引鍵

agentAPI.setBindVariables(jmap)

getBindVariables()

您可以使用 getBindVariables() 方法來提取擷取查詢的繫結變數。每個繫結變數都儲存在對映中,而該對映會使用索引鍵 NAMEVALUE 來定義繫結變數。

bindVariables = agentAPI.getBindVariables()

針對 bindVariables.entrySet(): print entry.key, entry.value 中的項目

updateQuery()

您可以使用 updateQuery() 方法來更新擷取查詢。這個方法只適用於 befExtract 指令碼。

agentAPI.updateQuery("SELECT * FROM TDATASEG")

getQuery()

您可以使用 getQuery() 方法,提取在擷取執行呼叫期間從 EPM Cloud 傳遞到 EPM 整合代理程式的查詢。

print "Printing Query: " + agentAPI.getQuery()

skipAction()

您可以使用 skipAction() 方法,在 EPM 整合代理程式使用自訂擷取常式時,略過擷取資料的步驟。

請注意,您只能在 befExtract 指令碼執行期間略過擷取的執行。

如果您想提供要上傳至 EPM Cloud 的資料檔案,而不是執行已儲存的查詢,您必須及時將名為 <process ID>.dat 的檔案儲存在 MyData/data 資料夾中,以便上傳至 EPM Cloud。這代表該檔案必須在 befExtractaftExtractbefUpload 指令碼執行期間儲存到這個資料夾。

agentAPI.skipAction('true')