我正在使用带有 IR 报告和标准表格的 Oracle XE 11g。到目前为止,我已经在报告区域中管理了以下内容,QUANTITY - SOLD IN_STOCK 这在报告中有效,但在输入表单中没有得到任何结果。在 IN_STOCK 的源字段中尝试了相同的 SQL 但不起作用。还尝试将计算字段写入表中,但没有运气,我发现的示例不起作用。任何想法将不胜感激。谢谢
3 回答
您在交互式报表上创建的计算仅适用于报表本身。如果您需要此字段作为输入表单中的值或在报表之外使用,您可能需要在数据库表级别定义此派生列。
该参考文献可能对以下方面有所帮助virtual columns
:
http: //docs.oracle.com/cd/E11882_01/server.112/e17118/statements_7002.htm
在此文档中搜索“虚拟列”。虚拟列的工作方式类似于 IR 计算字段,但它在数据库级别被识别。如果您在设置虚拟列时遇到任何问题,请参阅限制部分。
现在,使用虚拟列,当您查询数据库以在表单或查询结果中显示计算值时,它将根据您在其定义中指定的两列动态显示它。
准备一个函数,根据制造商推荐的两次拍摄之间的天数计算第二次拍摄日期
SHOT DATE 27 DAYS
你需要动态动作
这是一个例子:
当 事件:更改选择类型:项目项目:页面中的字段以逗号分隔,参与计算
示例:P5_CORRELATIVO_DESDE,P5_NO_CAJAS,P5_DOCUMENTOS_X_CAJA
真正的行动 行动:设定值 行动做设定值
设置 集类型:PL/SQL 函数体 PL/SQL 代码:
声明 ln_value NUMBER(12) := 0; BEGIN IF :P5_CORRELATIVO_DESDE != 0 AND :P5_NO_CAJAS != 0 AND :P5_DOCUMENTOS_X_CAJA != 0 THEN ln_value := ((:P5_CORRELATIVO_DESDE - 1) + ( :P5_NO_CAJAS * :P5_DOCUMENTOS_X_CAJA)); 万一;
返回ln_value;结尾;
Page Items to Submit:参与计算的页面中以逗号分隔的字段
示例:P5_CORRELATIVO_DESDE,P5_NO_CAJAS,P5_DOCUMENTOS_X_CAJA
抑制更改事件:是
受影响的元素 选择类型:项目 项目:计算值命运的页面项目 示例:P5_CORRELATIVO_HASTA
最佳