建立任務管理程式查詢

建立查詢是建立自訂報表的第一個步驟。

若要建立查詢,請執行下列動作:

  1. 從首頁中,選取應用程式,然後選取報表 (例如,非整合報表)。

  2. 在查詢頁籤上,按一下 「新建」圖示 新建。
  3. 在新建查詢畫面上,輸入名稱和選擇性的描述。
  4. 從類型中選取一個選項:

    • 參數查詢:「參數查詢」類型用於呈現選項清單,供您指定此參數的值。「參數查詢」可讓您在填入「報表查詢」的參數值時呈現選項清單,該選項清單不是已定義的簡單「屬性」,而是需要您來定義的複雜查詢。

      此參數查詢範例提供所有任務管理程式期間的清單:

      SELECT PERIOD_ID, PERIOD_NAME FROM FCC_PERIODSWHERE APP_ID=1

    • 報表查詢:選取要包含在報表中的記錄。您可以套用安全性篩選條件,如此使用者便只能查看根據其角色授予檢視的資料,以及指派給他們的報表。若要將「安全性篩選條件」套用至報表查詢,請將下列語法新增至查詢 WHERE CLAUSE 陳述式的尾端。

      $FCC_SECURITY_CLAUSE$

      當在查詢中使用 $FCC_SECURITY_CLAUSE$ 時,則 FCC_TASKS 的別名必須為 TaskEO

      由於任務管理程式隨附的許多預先定義查詢已經套用「安全性篩選條件」,您可以在自行建置時使用它們作為範例。

      例如,以下「報表查詢」指定排程任務,以顯示選定排程中所有「高優先順序」任務的「任務代碼」、「名稱」、「受指派人」和「排程」。

      SELECT TaskEO.TASK_CODEAS "$TASK_CODE$",

      TaskEO.TASK_NAMEAS "$NAME$" ,

      ((SELECT CASE WHEN FIRST_NAME IS NULL AND LAST_NAME IS NULL THEN USER_LOGIN ELSE FIRST_NAME||' '||LAST_NAME END FROM FCM_USERS WHERE USER_ID = (coalesce(AssigneeEO.ACTIVE_USER_ID, AssigneeEO.USER_ID))))AS "$ASSIGNEE$" ,

      DeploymentEO.DEPLOYMENT_NAMEAS "$SCHEDULE$"

      FROM FCC_TASKS TaskEO

      LEFT OUTER JOIN FCC_ACCESS AssigneeEO ON (TaskEO.TASK_ID = AssigneeEO.SOURCE_ID AND AssigneeEO.ACCESS_TYPE = "AS")

      LEFT OUTER JOIN FCC_DEPLOYMENTS DeploymentEO ON (TaskEO.SOURCE_ID = DeploymentEO.DEPLOYMENT_ID)

      WHERE (TaskEO.SOURCE_TYPE = "DEPLOYMENT")

      AND ((((TaskEO.PRIORITY=3 )

      AND (TaskEO.SOURCE_ID=~SCHEDULE~ ))))

  5. 按一下產生查詢來從「新建查詢」對話方塊建置查詢。對話方塊可協助您建立資料庫查詢,您可以在其中選取產品中任何存在的屬性來進行查詢及/或作為篩選依據。系統接著產生可比對指定的屬性與篩選條件的 SQL,您可以在此時加以修改或增強。

    1. 在選取類型畫面上,選取選項:
      • 從查詢中,選取範本任務或排程任務。
      • 選擇性:選取套用安全性核取方塊將使用者安全性篩選條件自動套用至產生的查詢。這會在產生報表時,將安全性憑證套用至填寫正確 SQL 的查詢。
    2. 按下一步。
      產生查詢對話方塊。
  6. 從選取欄中,選取要在查詢中顯示的欄,然後按下一步。
    選取欄。
  7. 從選取篩選條件中,按一下建立條件或 建立條件群組,然後選取要建立篩選條件的條件,以建立查詢。
    選取篩選。
  8. 按一下確定。
  9. 選擇性:如果您要在未來使用報表,請按一下產生範例 XML。
  10. 按一下儲存。
  11. 若要測試查詢是否有錯誤:
    • 按一下「新查詢」對話方塊的驗證。您也可以從下拉清單選取驗證。

      驗證查詢

      查詢顯示在「查詢」頁籤中。

      註:

      您可以輕鬆地刪除查詢,或使用「動作」功能表複製查詢。
    • 從下拉清單按一下驗證並解釋計畫,以驗證查詢同時產生此查詢的執行計畫。此時會產生與查詢名稱相同的 .txt 檔案。您可以檢視或下載產生的計畫。

      開啟此檔案以檢視產生的計畫,其中包含執行此查詢所要執行的一系列步驟。如果查詢未達最佳效能,您可以使用此計畫瞭解問題的原因,並判斷提升查詢效能的最佳方法。

      註:

      根據預設,只能針對 OCI (Gen 2) 環境產生執行計畫。若要針對傳統環境啟用此功能,請使用服務要求聯絡 Oracle。

使用日期參數

定義任務管理程式報表的查詢時,您可以定義執行時期參數,然後將這些參數傳遞至報表查詢。如果您的報表查詢參照定義為 date 資料類型的資料庫欄,則您可能需要使用 to_date 函式,以確定系統在執行報表查詢時,能正確解譯報表參數。

在下列範例中,系統會擷取使用者輸入的日期,並在 where 子句中使用 to_date 函式,將日期轉換為查詢的正確格式。日期欄位的 where 子句項目編碼為 (TDATASEG.PERIODKEY)=to_date('~POVPERIOD~','YYYY-MM-DD'),以確定系統能以正確格式解譯從參數中選取的日期。

完整查詢為:

SELECT ENTITY, ENTITYX, ACCOUNT, PERIODKEY, tPOVPartition.PartName AS Partitionkey,  tPOVCategory.CatKey,  tPOVCategory.CatName,  ACCOUNTX, UD1, UD1X, UD2, UD2X, UD3, UD3X, UD4, UD4X, UD5, UD5X, UD6, UD6X, UD7, UD7X, UD8, UD8X, UD9, UD9X, UD10, UD10X, UD11, UD11X, UD12, UD12X, UD13, UD13X, UD14, UD14X, UD15, UD15X, UD16, UD17X, UD18, UD18X, UD19, UD19X, UD20,UD20X,DESC1,DESC2,DATAVIEW,CURKEY,AMOUNT,AMOUNTX  from TDATASEG INNER JOIN tPOVCategory  ON tDataSeg.CatKey = tPOVCategory.CatKey  INNER JOIN tPOVPartition  ON tDataSeg.PartitionKey = tPOVPartition.PartitionKey 
WHERE (((TDATASEG.PERIODKEY)=to_date('~POVPERIOD~','YYYY-MM-DD')) AND ((tPOVCategory.CatKey)=~POVCAT~) AND (~POVRULE~ is NULL or RULE_ID = ~POVRULE~) AND ((tPOVPartition.PartitionKey)=~POVLOC~ ))

期間查詢定義如下:

select periodkey, perioddesc from TPOVPERIOD

修改查詢

系統管理員可以編輯任務管理程式查詢。

  1. 從首頁中,選取應用程式,然後選取報表。

  2. 選取查詢頁籤 (如果尚未選取),然後從您要編輯之查詢旁的 省略符號圖示。 選取編輯。

    註:

    如果已鎖定,請要求系統管理員解除鎖定。

  3. 選取任務管理程式或補充資料管理程式查詢。

  4. 在編輯查詢中,視需要編輯資訊。
  5. 完成變更後,請按一下儲存後關閉。