创建自定义报表的第 1 步是创建查询。
要创建查询:
从主页中,选择应用程序,然后选择报表(例如,非合并报表)。
从类型中选择一个选项:
参数查询:“参数查询”类型用于显示您可以为此参数的值指定的一组选项。“参数查询”用于显示在为报表查询填充参数值时可使用的一组选项,这一组选项不是简单的已定义属性,而是一个需要定义的复杂查询。
此参数查询示例列出了所有任务管理器期间:
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~ ))))
单击“新建查询”对话框中的生成查询以构建查询。该对话框可帮助您创建针对数据库的查询,它允许您选择产品中的任何现有属性来进行查询和/或筛选。系统随后会生成 SQL 以匹配指定的属性和筛选器,此时您可以修改和增强该 SQL。




该查询将显示在“查询”选项卡中。
注:
您可以使用“操作”菜单轻松删除查询或复制查询。打开此文件以查看生成的计划,其中包含运行此查询所执行的步骤序列。如果查询性能欠佳,您可以使用此计划来了解问题的原因,并确定提高查询性能的最佳方法。
注:
默认情况下,执行计划的生成仅适用于 OCI(第 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
修改查询
系统管理员可以编辑任务管理器查询。
从主页中,依次选择应用程序和报表。
选择查询选项卡(如果未选择),然后从要编辑的查询旁边的
选择编辑。
注:
如果它已锁定,请让系统管理员解锁。
选择任务管理器或 Supplemental Data Manager 查询。