閱讀英文

共用方式為


UpdateEx 方法

用來根據輸入金鑰參數 (key1、key2、... keyn) 來更新屬性。 使用 UpdateEx 時,您無法刪除集合中的專案。 有一種個別的方法可協助刪除。 如需詳細資訊,請參閱 DeleteOnly 方法

語法

UpdateEx (key1, key2, ... keyn, correctionMode, interactiveMode,  
    properties)  

參數

參數 Description
key 一組參數,其必須存在於伺服器資料庫中,不然會發生錯誤。 這些金鑰對應至 Get Keys 集合,如為特定元件介面所定義:
correctionMode 一個布林值旗標。 設定為 true 時,允許透過更新欄位值或透過將新項目插入集合,修改具有生效日期項目的元件介面。 特別是允許修改 EFFDT 在目前生效日期之前的項目。 此旗標若未設定為 TRUE,對這些項目所做的任何修改都會導致 PeopleSoft 伺服器傳回錯誤。

correctionMode 變數只會針對包含有效日期專案的元件介面公開。 否則,並不會顯示在引數中。

您應該避免在生產環境中將 設定 correctionMode 為 TRUE。 (這是來自 PeopleSoft.) 事件的建議,該事件已由過去 EFFDT 金鑰所決定,不應修改。 這樣可以建立稽核線索。 correctionMode中的 UpdateEx 旗標允許略過此安全機制。 建議的作法是針對要停用的過去事件,在項目中設定一個欄位,然後新增 (而不是刪除) 更新的項目。
interactiveMode 用於進行錯誤處理的旗標。

存取元件介面中的屬性時,BizTalk Adapter for PeopleSoft Enterprise 會使用 PeopleSoft 提供的 API,來讀取和寫入元件介面中的個別欄位,不過不會每次變更都傳播至 PeopleSoft 伺服器。 而是讓 psjoa.jar (BizTalk Adapter for PeopleSoft Enterprise 會與之互動) 封裝所有變更,然後以一個封裝的形式,將變更傳送至伺服器。 如果有任何個別的更新失敗,將會傳回一般錯誤,而不會指出實際錯誤。 在互動模式設為 TRUE 的情況下,每個欄位更新都會個別傳送至伺服器。 雖然這對效能會有相當程度的影響,但卻能在更新失敗時 (例如用以設定欄位的值無效時) 提供具體的錯誤資訊。

提供 interactiveMode 最大效能,並在欄位更新層級提供錯誤報表。 若要正確使用此功能,建議您使用 設定為 FALSE 進行一般呼叫 interactiveMode 。 這樣效能應該不會受到影響。 如果傳回錯誤,則可以重試相同的呼叫, interactiveMode 並將 旗標設定為 TRUE。 當呼叫失敗時,伺服器會傳回更精確的錯誤訊息。

備註

當您呼叫此函式時,會以輸入參數屬性來取代對應至金鑰的記錄屬性。 含有原始記錄的所有集合都會遭到刪除,並以輸入參數來予以取代。 這些集合的大小不需要比對內的 UpdateEx 程式,就是刪除所有現有的集合專案,然後插入指定的集合專案。

如果元件介面的屬性包含生效日期項目,因為原始清單會被取代,所以屬性參數必須包含所有未來的生效日期項目。 這樣可提供新增和刪除未來生效日期項目的機制,不過,如果屬性也包含過去生效日期項目,就會傳回錯誤,因為您無法修改過去生效日期項目。 如果目前生效日期項目也包含在內,則會被忽略。 這可讓用戶端呼叫 Get()getHistoryItems ,並將 參數設定為 False,並修改任何未來的有效日期專案,或加入新的未來有效日期專案,並傳入 結構做為函式的參數 UpdateEx()

如果元件介面沒有索引鍵,就如同只有一個實例可以存在的情況下, UpdateEx() 方法的格式如下:

UpdateEx(correctionMode, interactiveMode, properties)  

注意

如果已啟用元件介面中的 PeopleSoft 和 Save 函式,則會提供 BizTalk Adapter for PeopleSoft Get Enterprise UpdateEx() 方法。

另請參閱

附錄 A:元件介面方法