在外部應用程式中建立應用程式連結

將 Oracle Utilities 應用程式與其他外部應用程式整合時,您可以建立從外部應用程式到 Oracle Utilities 應用程式內特定入口和頁面的連結 (也稱為「深層連結」)。這些連結通常會利用「業務處理助理」(BPA) 指令檔來協助將使用者導覽至適當的目標入口或頁面,並讓提供的參數值可用於入口或頁面。
備註:當維護目前畫面很重要時,此技術也可用於產品內,以從應用程式內啟動新的瀏覽器頁籤。例如,透過建立新的瀏覽器頁籤,在 Oracle Utilities Work and Asset Management 中啟動 GIS 檢視器。

為此,可透過在結尾附加問號 (?),並使用語法 "key=value",將參數新增至應用程式 URL。如果您需要多個參數,請使用 ampersand (&) 分隔每個 key=value 配對。應用程式可辨識數個預先定義的參數索引鍵值。此外,還可以提供指令檔可理解的特定參數。以下列表標明預先定義的參數。

  • location=<導覽索引鍵> - 如果已知要啟動的確切頁面,則該頁面的導覽索引鍵值可以使用 'location=' 作為 URL 的一部分。例如,如果核准處理已將電子郵件傳送給使用者以核准調整,則電子郵件中設定的連結可能包含調整的導覽索引鍵。
  • script=<BPA 指令檔名稱> - 幾乎在每個使用案例中,都需要指令檔來協助導覽至正確的頁面並顯示正確的資訊。即使在 URL 中已知並提供位置,如果有提供作為參數的內容資料,則指令檔也負責將該參數資料從 URL 移至頁面資料模型,讓頁面可以存取資訊並顯示正確的記錄。如果根據參數所提供的資訊,目標頁面是動態的,則可以使用指令檔來決定要啟動的頁面。
  • portal=true - 當使用位置參數,而目標頁面為入口頁面且傳遞相關內容資料時,請使用此參數。這讓系統知道必須將參數資料推送至入口內容。
  • initNav=false - 如果提供指令檔時未提供位置屬性,則系統預設會在執行指令檔前,先導覽到使用者的首頁。如果指令檔本身包含導覽至目標頁面的步驟並當作其初始步驟之一,則導覽至首頁是不必要的,而且可能會降低效能。此選擇性屬性可以包括在 URL 中,以略過首頁。
    備註:由於技術原因,系統仍然需要啟動一個頁面。為實現這個目的,我們使用一個無任何區域的空白入口。使用者可能會在指令檔起始的導覽之前,短暫地看到此入口 (稱為啟動應用程式)。此外,如果指令檔中存在任何錯誤或指令檔未導覽至任何地方,則使用者將繼續使用該入口。
  • minSidebar=true - 此選項會在啟動應用程式時將側邊欄區域最小化。(使用者可視需要自行將側邊欄最大化)。使用此選項可改善啟動應用程式的速度。此功能否有效取決於使用案例。如果啟動應用程式的原因是要將使用者引導至特定的記錄,以檢視該記錄的明細,則側邊欄可能會提供有關該記錄的寶貴資訊。在此情況下,預設顯示側邊欄 (且不在 URL 中包含此參數) 可能是正確的選擇。另一方面,如果使用案例是使用者已在應用程式中,並按一下可開啟新瀏覽器頁籤的連結,以顯示所選記錄的使用者特定明細,同時讓原始頁面在第一個頁籤上保持開啟,則側邊欄可能會包含已出現在原始頁籤上的相同資訊。在此情況下,將側邊欄最小化可能比較有幫助。

例如,假設用於啟動系統的應用程式 URL 為 http://system-server:1234/cis.jsp,則下列 URL 說明啟動指定帳戶的指令檔 CM-StopAutoPay

  • http://system-server:1234/cis.jsp?script=CM-StopAutoPay&ACCT_​ID=1234512345&location=accountMaint

參數的提供順序並不重要。系統會按照正確的順序處理它們。例如以下範例是系統按照同樣的方式處理的:

  • http://system-server:1234/cis.jsp?ACCT_​ID=1234512345&script=CM-StopAutoPay&location=accountMaint
  • http://system-server:1234/cis.jsp?ACCT_​ID=1234512345&script=CM-StopAutoPay&location=accountMaint

在工作階段期間,這些參數是儲存在任何指令檔皆能存取的通用區域中。若要在指令檔上使用這些參數,您可以參考對應的 %PARM-<name> 全域變數。在這個範例中,系統啟動之後,任何指令檔皆能透過 %PARM-ACCT_​ID 全域變數存取上述帳戶 ID 參數值。還要注意的是,這些參數同樣會被載入至暫存中 (為了繼續這個範例,還有一個名為 ACCT_​ID 的暫存變數,它會儲存傳遞的值)。