SAP BO - 来自存储过程的报告

SAP BO - Report from stored proc

我正在尝试让 SAP Business Objects 从存储过程中获取报告。我运气不好,所以我现在只是尝试使用我在网上找到的 example/tutorial 如何做到这一点,但我也无法让它发挥作用。

我正在关注: https://irfansworld.wordpress.com/2012/11/17/what-you-should-know-about-stored-procedure-universe-in-bi-4-0/

我以完全相同的方式创建了显示的对象,如下所示:

create or replace package emp_package
as type emp_row_type is ref cursor return emp%rowtype;
end emp_package;
/

create or replace 
procedure getEmployeesByDepartment
(
  return_rows_cursor in out emp_package.emp_row_type,
  dept_parameter in emp.deptno%type
)
as begin
  open return_rows_cursor for
  SELECT *
  FROM emp
  WHERE emp.deptno = dept_parameter;
  end;
/

我得到了很好的结果: 包EMP_PACKAGE编译

程序 GETEMPLOYEESBYDEPARTMENT 已编译

但这是我看到明显差异的地方......对我来说,它只需要 out/return 参数,并提示我,就好像它们是输入参数一样。

即使我对此说 "OK"... 它也不会将 "out" 光标中的字段识别为我要在报告中显示的字段。

我什至尝试将光标参数从 "in out" 更改为 "out"... 但仍然没有成功。

关于为什么我不能让这个例子对我有用有什么想法吗?

使用 SAP 通用设计工具 4.1。

甲骨文 11g

这不是真正的答案,但太长了无法发表评论。

我刚刚用 BI4.1 SP 补丁 5 试了一下,SP 编辑器按预期显示(只显示 DEPT_PARAMETER 参数)。

对于您所看到的不同行为,我可以想到两种可能性:

一个是数据库中间件客户端发生了一些事情,这让 BO 对参数感到困惑。我正在使用 Oracle 11g 客户端和 BO 中的 Oracle 本机连接(即,不是 ODBC 或 JDBC)。如果您使用的是 ODBC 或 JDBC 连接,请尝试使用本机客户端。

这可能是您使用的特定 UDT 版本的错误。我建议升级或联系 SAP 支持以查看它是否是已知问题。