oracle ebs,想说爱你不容易

来源:互联网 发布:怎么画适合的眉毛知乎 编辑:程序博客网 时间:2024/04/29 17:09

最近遇到报表中调用用户出口函数的问题,在下面的指南中找到相关内容

Oracle® Applications
Flexfields Guide
Release 12
Part No. B31456-01
December 2006

 

按照指南中的例子,仍然搞不明白。例子中有如下的描述:

 

Step 5 - Define your report query
Define your report query Q_1:
SELECT &P_FLEXDATA C_FLEXDATA
FROM CODE_COMBINATIONS_TABLE
WHERE CODE_COMBINATIONS_TABLE.STRUCTURE_DEFINING_COLUMN
= &P_STRUCT_NUM

 

在oracle官方论坛上提问,何谓CODE_COMBINATIONS_TABLE?有说可能是gl_code_combination之类的表,再提问何谓STRUCTURE_DEFINING_COLUMN?有答gl_code_combination的STRUCTURE_DEFINING_COLUMN是chart_of_accounts_id

例子中有如下代码:

      SRW.REFERENCE(:P_STRUCT_NUM);
      SRW.REFERENCE(:C_FLEXDATA);
      SRW.USER_EXIT('FND FLEXIDVAL
        CODE="GL#"
        NUM=":P_STRUCT_NUM"
        APPL_SHORT_NAME="SQLGL"
        DATA=":C_FLEXDATA"
        DESCRIPTION=":C_DESC_ALL"
        DISPLAY="ALL"');

报表运行时报错: Rep-1517

 

 

A Formula Column Referencing a Non-formula Column Results in Rep-01517 [ID 167700.1] 


 Modified 07-AUG-2002     Type PROBLEM     Status PUBLISHED 

  • fact: Oracle Reports Developer 6.0.8
  • symptom: Report contains a formula column which references a non-formula column
  • symptom: Rep-01517: Column '<column 1 name>' references column '<column 2 name>', which has incompatible frequency
  • cause: A column in the data model references another column but the two columns are assigned to incompatible group levels.
fix:Create the formula column in the same group as the referenced column causing the error in the Rep-1517 error message.

 

 

在网上搜索到如下内容:

用户出口

用户出口是指在 Oracle Reports 内执行外部函数调用。用户出口的一个问题是,需要重新编译可执行文件以连接所有用户出口。这就使得产品的故障排除和升级变得非常困难。在 Oracle Reports 中,您可以使用 ORA_JAVA 程序包和 Java 导入程序调用 Java 方法。这样就减少了在报表中使用用户出口的需要,从而允许进行更开放和更可移植的部署。您还可以使用 ORA_FFI 程序包,它为调用动态库中的 C 函数提供了一个外部函数接口。随着这些内件的推出,在 Oracle Reports 中将不再鼓励使用用户出口,但是仍然会提供 makefiles,以便您能够继续使用现有的用户出口。

用户出口内件

不赞成使用的内件

Oracle Reports 中的操作

srw.unknown_user_exit

删除 srw.unknown_user_exit。代之以 ORA_FFI 或 ora_java 调用。

srw.user_exit

删除 srw.user_exit。代之以 ORA_FFI 或 ora_java 调用。

srw.user_exit20

删除 srw.user_exit20。代之以 ORA_FFI 或 ora_java 调用。

Srw.user_exit_failure

删除 srw.user_exit_failure。代之以 ORA_FFI 或 ora_java 调用。

原创粉丝点击