我试图让SAP Business Objects从存储过程中获取报告。我没有运气,所以我现在只是尝试一下我在网上找到的如何做的示例/教程,而且我也无法做到这一点。
我以完全相同的方式创建了显示的对象,如下所示:
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
但是在这里我看到了一个明显的区别......对我而言,它只需要输出/返回参数,并提示我好像它们是输入参数。
即使我说" OK"对此...它没有识别" out"中的字段。光标作为我在报告上显示的字段。
我甚至尝试更改光标参数从"在"只是" out" ...但仍然没有运气。
关于为什么我不能让这个例子适合我的任何想法?
使用SAP Universal Design Tool 4.1。
Oracle 11g
答案 0 :(得分:1)
这不是一个真正的答案,但对评论来说太长了。
我刚尝试使用BI4.1 SP Patch 5,SP Editor按预期显示(仅显示DEPT_PARAMETER参数)。
我能想到的两种可能性是你所看到的不同行为:
其中一个原因是数据库中间件客户端发生了一些让BO对这些参数感到困惑的事情。我使用的是Oracle 11g客户端,以及BO中的Oracle Native连接(即不是ODBC或JDBC)。如果您正在使用ODBC或JDBC连接,请尝试使用本机客户端。
您可能正在使用特定版本的UDT的错误。我建议升级或联系SAP支持人员,看看它是否是一个已知问题。