標籤:style blog http com strong 2014
由於第一支PAC:定期請購成本處理常式 請求在運行過程中會自動認可 定期實際成本處理常式 請求,且 這兩個請求不存在父子關係,導致 第二個請求尚未處理完成時 第一個請求已經運行完成,這就導致在設定請求集時無法設定 連結階段。 第二支PAC情況也是一樣。
思路:設定 第二支PAC請求 :期間平均成本處理常式 和第三支PAC請求:定期成本分配處理常式,均與 定期實際成本處理常式 不相容,這樣一旦 定期實際成本處理常式 處於運行狀態時,第二支和第三支請求即會處於等待狀態。如:
這樣設定完後還有一個問題:當第一支 或者 第二支PAC請求觸發 定期實際成本處理常式 請求時由於自身也已經完成,這就導致下一階段(第二支PAC或第三支PAC)開始運行,所以:定期實際成本處理常式 和 下一階段(第二支PAC或第三支PAC)很可能同時處於待定狀態,這個時候發現即使設定了相容也存在不確定因素,有時先跑前者,有時又先跑後者,導致最終運行失敗(這裡我也將 優先順序 設定上去測試過,但是結果還是一樣)
解決辦法:加入 Oracle內建的休眠請求,如下:這邊需注意,需要定義下這個請求,標準僅提供了 pl/sql預存程序,未提供這個請求,需新定義下:
這邊如果不給預設值,系統標準預設值為:20秒,給了預設值的好處是當請求集運行時還可以調整這個參數值,這邊的值需根據系統資源情況來設定:其主要作用就是延遲下一階段開始 運行,以便讓 定期實際成本處理常式 請求已經處於運行狀態,這樣第二隻或第三支PAC由於不相容自然會處於等待狀態(因此這邊的休眠時間主要看伺服器處理 衝突請求的反映時間快慢,如果慢的話設定時間稍微長點)。
最終設定如:
注意:由於第3支PAC均基於前面一支請求,當前面一支請求尚未跑完,後面一支請求是選擇不到期間的,因此在PAC期間剛開啟時,需要先跑下第一支和第二支請求,這樣請求集才能賦值參數。(或者 改變系統標準值集也行)
延遲到 定期實際成本處理常式 請求運行中 則成功處理請求集