叫用業務物件

我們已經討論過如何定義業務物件。本節描述如何在整個系統中使用業務物件來檢視、新增以及更新記錄。

  • 用於顯示系統中資料的各種區域參數包括支援透過參考業務物件的方式來擷取資料。區域代碼將「叫用」業務物件,表示會使用參考的業務物件來擷取記錄。

  • 系統的指令檔語言包括「叫用業務物件」的步驟類型。這可讓業務處理助理指令檔、服務指令檔和外掛指令檔,使用業務物件互動來擷取資訊、新增或更新記錄。

  • 內送 Web 服務可以在其作業集合中參考業務物件。這允許外部系統透過 Web 服務互動,在我們的產品中新增或更新記錄。

通常當設定區域或編寫指令檔時,在「叫用業務物件」陳述式中使用的業務物件應該是記錄的識別業務物件。因此,指令檔通常會在「叫用業務物件」步驟之前包含一些步驟,以「判斷記錄的識別業務物件」,一旦找到識別業務物件,指令檔步驟就會叫用該業務物件。請注意,區域和內送 Web 服務會直接參考業務物件。在每種情況下,如果要使用的業務物件應該是動態的,那麼區域/內送 Web 服務應該參考服務指令檔,讓該指令檔可以執行業務物件的識別步驟,然後叫用該業務物件。

然而應注意的是,「叫用業務物件」陳述式中使用 (或在內送 Web 服務中參考) 的業務物件與記錄的識別業務物件不必相符。以下是一些可能為真的範例:

  • 指令檔可能只需要記錄的元素子集,而不是整個記錄。在這種情況下,為了效能考量,最好定義一個只定義所需元素的特殊業務物件 (有時稱為「精簡版」業務物件或「迷你版」業務物件)。當系統擷取資料時,它只會存取業務物件結構定義中包含的資料表。此外,如果沒有對應到 XML 結構欄位的元素,系統將略過該資料欄的任何剖析。同樣地,如果指令檔更新記錄中的元素子集,則使用「迷你版」業務物件進行更新或許有所助益。

    備註:請留意以下的迷你版業務物件使用注意事項。此業務物件只會用於它的結構。這種類型的業務物件不會定義演算法或生命週期。因為業務物件很特殊,通常應該無法當作任何記錄的識別業務物件。為了控制這一點,這些業務物件通常被設定為不允許新實例。如需詳細資訊,請參閱判斷識別業務物件
  • 要在指令檔中新增或更新的維護物件,可能不支援業務物件當作「識別業務物件」。例如,批次控制維護物件沒有識別業務物件。但是,指令檔可能仍希望擷取 (或更新) 此類記錄的資料。實現該目標有一種簡單的方法,就是定義業務物件並使用「叫用業務物件」來存取資料。

    備註:並非所有維護物件都支援透過業務物件互動來進行維護。這在少數較舊的物件中確實如此,其中基礎維護服務除了簡單地更新資料庫資料表之外,還包括其他功能。這些維護物件會透過維護物件選項業務物件維護設定為 N 來識別。
  • 某些功能可能會嘗試以「實體」方式新增或更新維護物件的記錄,而且不想或不需要使用物件的識別業務物件。也可能維護物件沒有識別業務物件。例如,版次控制產生記錄的快照供稽核之用,而且能夠還原以前的版本。在這種情況下,系統想要擷取記錄的完整「實體」檢視。為了做到這一點,可以建立特殊的「實體」業務物件,其中包括所有 (或大部分) 資料欄和下階資料表。

    備註:與迷你版業務物件一樣,實體業務物件不會定義演算法或生命週期,而且應該無法當作任何記錄的識別業務物件使用。為了控制這一點,這些業務物件通常被設定為不允許新實例。如需詳細資訊,請參閱判斷識別業務物件
備註:再次重申,「叫用業務物件」陳述式中參考的業務物件或內送 Web 服務中參考的業務物件,不必與識別業務物件相符,也不必設定為「允許新實例」。