使用 Scripted Planning Exporter 匯出 Planning 資料
您可以使用自訂的 Pentaho 外掛程式 Scripted Planning Exporter (SPE),將 Planning 資料匯出至外部系統。如需其他資訊︰
Adaptive Planning
如果要使用 Pentaho,請參閱 「Setting Up a Scripted Data Source」。了解 SPE
SPE 的運作方式為呼叫 Adaptive Planning
匯出 REST API,然後將該 API 呼叫的結果儲存在您指定的檔案中。SPE 支援輸出為 CSV 和 XML 檔案格式。並非所有的匯出資料都能轉換成 CSV 格式。
SPE 是資料代理程式自 v51.17.0734 版起開始隨附的一套外掛程式。如果您想確認自己擁有的程式版本,可以開啟 Data Agent Service Manager,查看顯示在「About」(關於) 分頁資訊中的版本號碼。如需有關安裝資料代理程式的資訊,請參閱 「安裝 Data Agent Service Manager」。安裝 SPE 後,Adaptive Planning 外掛程式會顯示在 Spoon 內「Design」分頁的「Input」資料夾中。
Scripted Planning Exporter Adapter 的相關術語可能讓人有點困惑。由於資料會先從 Planning 傳送到指令碼,然後再傳送到某個外部目的地,因此對 Planning 來說是資料匯出,對於外部目的地則是資料匯入。然而,若以 Spoon 的角度來看,SPE 負責提供指令碼的輸入資料,屬於輸入步驟,因此 SPE 在 Spoon 中被標示為「Adaptive Planning Input」。
您可以直接從 Spoon 環境中啟動 SPE,也可以將其包含在指令碼載入器中從遠端啟動。使用 SPE 的一般流程是撰寫指令碼,以 Planning 伺服器接受的格式建立 XML 要求,並將其傳送至 SPE,然後處理結果。以下是顯示 SPE 指令碼最低需求的範例指令碼︰
Scripted Planning Exporter ------------------------------------------- Input: requestXMLString: request in XML format targetResponseFormat: CSV or XML targetFolder: target folder to store result file generated by this plugin Output: The type of output fields is String, except requestSuccess, which is boolean requestSuccess: Boolean, Y' or N' planningMsgs: concatenate Planning messages in a string, delimited by ###' responseFileName: complete path of the response file name fieldNames: column name in CSV header, or NULL if targetResponseFormat is XML numberRecReturned: String, number of records returned by Planning, or NULL if targetResponseFormat is XML
此指令碼的最佳做法包括︰
- 所有輸入欄位名稱均區分大小寫,請在 Kettle 指令碼中正確定義這些欄位。
- targetResponseFormat︰從 API v11 開始,只有「exportData」API 的承載資料可以轉換為 CSV 格式,其他匯出資料都必須採用 XML 格式。
- 目標資料夾︰一般而言,請勿在 Agent Service Manager中選取 Restrict Runner Access to Files 核取方塊。目標資料夾可以是檔案系統中的任何位置。
- responseFileName︰回應檔案的名稱採用以下格式︰<targetFolder>_ApiResponse_<exportMethod>_<UUID>.<targetFormat>;範例︰C:\pdiTemp\ApResponse_exportData_83980a17b3dc40c48282483cb9ea5e96.csv
- requestSuccess︰如果匯出要求在 Planning 伺服器端獲准,則 requestSuccess 的值為 True ('Y')。如果 Planning 呼叫的結果導致匯出要求失敗,SPE 便會丟出例外,並顯示 Planning 伺服器傳回的錯誤訊息。
從規劃中擷取資訊並將其傳送至輸出檔案的一般工作流程︰
- 輸入要求 XML 檔案。
- 將檔案內容轉換為字串。
- 設定目標格式 (CSV | XML) 和資料夾。
- Adaptive Scripted Planning Exporter。
- 封鎖步驟。
- 記錄配接器輸出。
從 Kettle 指令碼使用 Planning Export API
SPE 使用 Adaptive Planning
API v11 或更高版本您可以使用下列 API 搭配 SPE︰
- customReportValues︰按照要求的實例中所要求的報告條件傳回一組資料
- exportData︰從指定的版本擷取一組值
請參閱「了解
Adaptive Planning
API 以取得更多資訊。配置 SPE Kettle 外掛程式
若要配置 SPE Kettle 外掛程式︰
- 在 Spoon 的「Design」分頁中按一下Adaptive Planning Input。
- 輸入 SPE 的資訊︰
- Active Agent︰由 SPE 自動填入
- Instance Host︰由 SPE 自動填入
- Instance Code︰由 SPE 自動填入
- Login︰登入環境定義參數的值
- Login Password︰密碼環境定義參數的值
- Locale︰預設為en_US
- 按一下OK。
您必須建立一個指令碼,用於定義 SPE 作業的輸入和輸出。請參閱本文中的範例指令碼。
內配置 SPE Adaptive PlanningIntegration Cloud 使用者介面
透過「整合」雲端使用者介面建立指令碼載入器的一般流程為︰
Adaptive Planning
Integration Cloud 使用者介面- 建立指令碼載入器
- 選取進入點
- 配置必要參數
首先建立一個新的指令碼載入器。請參閱 「建立指令碼載入器」 以取得更多資訊。您還必須在「進入點」下拉清單中選取進入點。進入點已設為執行指令碼載入器時要執行的指令碼名稱。
您必須對應指令碼載入器中定義的本機和共用環境定義參數,並將其顯示為 Kettle/Spoon 環境中的環境變數。範例︰如果在載入器設定畫面的「參數」區段中定義了名為「login」的環境定義參數,則該參數將顯示為 Kettle 環境中的變數「${login}」。然後,在指令碼載入器中定義的兩個環境定義參數,將會在 SPE 中用於兩個對應的 Kettle 變數。
若要在設計時使用目前的預設環境定義參數值更新 Kettle 變數,您可以啟動 Adaptive Script Editor,並按一下
重新整理配置
來觸發重新整理。