建立任務管理程式查詢

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

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

  1. 從首頁中,按一下應用程式,然後按一下任務管理程式。

  2. 選取左邊的任務管理程式報表頁籤。
  3. 在查詢頁籤上,按一下 「新建」圖示 新增。
  4. 在新增查詢畫面中,輸入名稱和選擇性描述。
  5. 從類型中選取一個選項:

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

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

      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~ ))))

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

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

      驗證查詢

      該查詢隨即顯示在「查詢」頁籤中。

      註:

      您可以輕鬆地刪除查詢,或使用「動作」功能表複製查詢。
    • 按一下下拉清單中的驗證並解釋計畫,即可驗證查詢並產生此查詢的執行計畫。此時會產生一個與查詢同名的 .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. 在編輯查詢中,視需要編輯資訊。
  6. 完成變更後,請按一下儲存後關閉。