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

时间:2016-10-20 13:49:15

标签: oracle stored-procedures sap business-objects

我试图让SAP Business Objects从存储过程中获取报告。我没有运气,所以我现在只是尝试一下我在网上找到的如何做的示例/教程,而且我也无法做到这一点。

我跟随: 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

但是在这里我看到了一个明显的区别......对我而言,它只需要输出/返回参数,并提示我好像它们是输入参数。

my sap input params

即使我说" OK"对此...它没有识别" out"中的字段。光标作为我在报告上显示的字段。

我甚至尝试更改光标参数从"在"只是" out" ...但仍然没有运气。

关于为什么我不能让这个例子适合我的任何想法?

使用SAP Universal Design Tool 4.1。

Oracle 11g

1 个答案:

答案 0 :(得分:1)

这不是一个真正的答案,但对评论来说太长了。

我刚尝试使用BI4.1 SP Patch 5,SP Editor按预期显示(仅显示DEPT_PARAMETER参数)。

我能想到的两种可能性是你所看到的不同行为:

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

您可能正在使用特定版本的UDT的错误。我建议升级或联系SAP支持人员,看看它是否是一个已知问题。