我有一个请求在oracle BI Publisher中一个接一个地安排一些报告。 报告调度程序将在下午7:00开始运行,并在第二天早上7点完成所有报告。 我想的是创建一个触发器来检查BI Publisher数据库是否运行了另一个特定的报告,然后运行报告。 触发器查询如下:
select "XMLP_SCHED_JOB"."STATUS" as "STATUS",
"XMLP_SCHED_JOB"."CREATED" as "CREATED",
"XMLP_SCHED_JOB"."USER_JOB_NAME" as "USER_JOB_NAME",
"XMLP_SCHED_JOB"."JOB_TYPE" as "JOB_TYPE"
from "DEV1_BIPLATFORM"."XMLP_SCHED_JOB" "XMLP_SCHED_JOB"
where "XMLP_SCHED_JOB"."STATUS" !='R'
and "XMLP_SCHED_JOB"."CREATED" BETWEEN (SELECT CASE WHEN TRUNC( SYSDATE, 'HH24' ) < TRUNC(SYSDATE) + 7/24 THEN TRUNC(SYSDATE-1) + 7/24
ELSE TRUNC(SYSDATE) + 7/24 END FROM DUAL
)
AND SYSDATE
and "XMLP_SCHED_JOB"."USER_JOB_NAME" ='test'
and "XMLP_SCHED_JOB"."JOB_TYPE" ='I'
当我在oracle数据库中运行它时,我会正常获得结果,但是当我在BI Publisher触发器查询中输入它时,我会在日志中收到错误:
oracle.xdo.XDOException:oracle.xdo.XDOException:oracle.xml.parser.v2.XMLParseException:预期的名称而不是。
仅在我将TRUNC( SYSDATE, 'HH24' ) < TRUNC(SYSDATE) + 7/24
放入查询
答案 0 :(得分:0)
您可以创建标准请求集,然后安排它。它将按顺序依次运行它们。但是,这种方法的一个问题是请求集只允许每个请求/数据定义有一个报表布局。