共用方式為


實作外部批次釋放機制

您可以使用外部釋放觸發程序來觸發釋放批次。 您可讓後端的企業營運系統應用程式在達到特定的臨界值時,自動觸發釋放。 除了透過排程或交易集或字元計數自動觸發批次發行,或按一下單向合約索引標籤之 [批次組態] 頁面中的 [覆寫] 按鈕,手動觸發批次。

若要實作外部釋放觸發程序,您必須設定接收埠和位置來處理 OverrideControlMessage。 接收位置必須使用 Edi.BatchControlMessageRecvPipeline 接收管線。 這是 BatchControlMessageRecvLoc 接收位置所使用的相同管線,BizTalk Server用來處理手動覆寫訊息。 不過,BatchControlMessageRecvLoc 是 SQL 類型的接收位置,而您為外部釋放觸發程序設定的接收位置則可使用任何配接器類型。

外部批次釋放是由 XML 控制訊息觸發的。 若要觸發批次,後端應用程式需要將控制訊息路由傳送至接收位置。 您可以修改控制訊息來啟動、覆寫或終止批次。 請參閱下面建立控制訊息的程序。

若要啟用外部發行觸發程式,您必須在 X12 或 EDIFACT 的 [合約屬性] 對話方塊的 [批次組態] 頁面中選取 [外部發行觸發程式] 屬性。 此屬性指示批次發行時必須有外部發行訊息。 如果已選取[外部發行觸發程式] 屬性,[覆寫] 按鈕、[停止] 按鈕和 [啟用範圍] 控制項仍有效。

必要條件

您必須以 BizTalk Server Administrators 或 BizTalk Server B2B 操作員群組的成員身分登入。

若要建立外部批次釋放觸發程序訊息的接收位置

  1. 在 BizTalk Server 管理主控台中,建立單向接收埠。 如需如何建立接收埠的指示,請參閱 如何建立接收埠

  2. 在接收埠中建立單向接收位置。

  3. 選取傳輸類型。 您可以為這個接收位置選取任何類型。 一般是選取 [FILE] 類型,然後輸入接收檔案的資料夾。

  4. 針對 [接收管線],選取 BatchControlMessageRecvPipeline

  5. 按一下 [確定]。

若要建立外部批次釋放觸發程序訊息

  1. 在 [記事本] 中建立新檔案,命名時以 .xml 為副檔名。

  2. 將下列程式碼新增至檔案:

    <?xml version="1.0" encoding="utf-8"?>  
    <ControlMessage xmlns="http://SQLControlMessage.IssueSelect">  
      <PAM_Control xmlns="http://SQLControlMessage.IssueSelect">  
        <DestinationParty>[Party ID]</DestinationParty>  
        <EdiMessageType>[0 for X12\HIPAA|1 for Edifact]</EdiMessageType>  
        <ActionType>EdiBatchOverride</ActionType>  
        <ActionDateTime>[yyyy-mm-ddThh:mm:ss.sss]</ActionDateTime>  
        <UsedOnce>0</UsedOnce>  
        <BatchId>[Batch ID]</BatchId>  
        <BatchName>[Batch Name]</BatchName>  
        <DestinationPartyName>[Destination Party/Partner name]</DestinationPartyName>  
        <SenderPartyName>[Sender Party/Partner name]</SenderPartyName>  
        <AgreementName>[Agreement Name]</AgreementName>  
        <ReceiverPartyNameType>[Receiver Party/Partner name]</ReceiverPartyNameType>  
        <ToBeBatched>1</ToBeBatched>  
      </PAM_Control>  
    </ControlMessage>  
    

    取代以上節錄的值,如下所示:

    • 指定動作類型。 一般而言, ActionType 必須設定為 EdiBatchOverride ,才能覆寫合約中完成的批次設定。 您也可以將此設定為 EdiBatchTerminate ,以透過外部觸發程式終止批次。

      注意

      Microsoft 建議您不要使用外部釋放觸發程序啟動批次。 因此,您不應該將 ActionType 指定為 EdiBatchActivate

    • 判斷批次識別碼和批次名稱。 若要這樣做,請開啟 [ 合約屬性 ] 對話方塊,然後在 [單向合約] 索引標籤上,按一下 [ 批次設定]。 按一下要覆寫之批次的索引標籤,然後在控制訊息的BatchNameBatchID節點中輸入Batch 名稱和Batch ID欄位的值。

    • 指定目的地合作物件名稱。 在 BizTalk Server 管理主控台中,按一下 [合作物件] 節點,然後從 [合作物件和商務設定檔] 頁面取得將接收批次交換之合作物件/合作夥伴的名稱。 在控制項訊息的 ReceiverPartyNameType 節點中輸入名稱。

    • 指定寄件者合作物件名稱。 在 BizTalk Server 管理主控台中,按一下 [合作物件] 節點,然後從 [合作物件和商務設定檔] 頁面,取得將傳送批次交換的合作物件/合作夥伴名稱。 在控制項訊息的 SenderPartyName 節點中輸入名稱。

    • 指定合約名稱。 在 [BizTalk Server 管理主控台] 中,按一下 [合作物件] 節點,然後從 [合作物件和商務設定檔] 頁面的 [合約] 區段中,以滑鼠右鍵按一下具有需要使用控制訊息覆寫之批次設定的合約,然後按一下 [屬性]。 在 [合約屬性] 對話方塊的 [一般] 索引標籤的 [一般屬性] 頁面上,從 [合約參數] 區段中的 [名稱] 欄位複製值,並將其貼到控制項訊息的AgreementName節點中。

    注意

    您不需要指定目的地合作對象識別碼。 控制項訊息中只需要 元素,才能進行回溯相容性。

  3. 儲存檔案。

若要啟用外部釋放觸發程序

  1. 在 [BizTalk Server 管理主控台] 中,按一下 [合作物件] 節點,然後從 [合作物件和商務設定檔] 頁面的 [合約] 區段中,以滑鼠右鍵按一下具有需要使用控制訊息覆寫之批次設定的合約,然後按一下 [屬性]。 在 [ 合約內容 ] 對話方塊的 [單向合約] 索引標籤上,按一下 [ 批次設定]。

  2. 在 [ 批次組態 ] 頁面中,按一下您想要擁有外部發行觸發程式的批次索引標籤,然後在 [ 發行 ] 區段底下,選取 [ 外部發行觸發程式]。

  3. 按一下 [確定] 。

另請參閱

設定 EDI 批次
如何建立接收位置