注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力。

Lumen Su
------------------------------------------------------------------------------------------------------
 
 
在开发oracle report(report 6i)的时候,常常会用到fnd_global或fnd_profile来获取当前的环境变量,如
当前用户:fnd_global.user_id,fnd_global.user_name
当前并发程序所在应用:fnd_global.prog_appl_id
当前并发程序:fnd_global.conc_program_id
当前并发请求:fnd_global.conc_request_id
获取配置文件:fnd_profile.VALUE()
 
这些变量的使用如果实在PLSQL SRS中,是可以直接使用的,而在oracle report(report 6i)中,需要特殊处理。
 
一  解决的问题
oracle report(report 6i)使用fnd_global或fnd_profile全局变量
 
二 问题描述
e.g.
DataModel里存在一个公式列,公式列的处理函数中,直接返回fnd_global.conc_program_id
 
结果:返回-1,说明没有获取到
 
三  解决方法
使用SRW.USER_EXIT('FND SRWINIT');
1. 在before_report触发器内初始化 SRW.USER_EXIT('FND SRWINIT');
2. 获取全局参数
3. 在after_report触发器内再次调用SRW.USER_EXIT('FND SRWINIT');
 
示例代码
1. 设置用户参数(作用是RDF内全局可以使用),P_CONC_PROGRAM_ID,类型Number,宽度15
2. 修改before_report触发器
 function BeforeReport return boolean is
begin SRW.USER_EXIT('FND SRWINIT');
//srw.message(100,'Concurrent request Id : '|| :P_CONC_REQUEST_ID);
//srw.message(100,'Concurrent PROGRAM Id : '|| fnd_global.CONC_PROGRAM_ID);
//srw.message(100,'Concurrent PROGRAM APP Id : '|| fnd_global.PROG_APPL_ID);
:P_CONC_PROGRAM_ID := fnd_global.CONC_PROGRAM_ID;
:P_PROG_APPL_ID := fnd_global.PROG_APPL_ID; return (TRUE);
end;
3. 修改after_report触发器
function AfterReport return boolean is
begin SRW.USER_EXIT('FND SRWEXIT'); return (TRUE);
end;

4. 修改公式列函数

function CF_CONC_PROGRAM_IDFormula return Number is
begin
RETURN P_CONC_PROGRAM_ID;
end;

注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力。

Lumen Su
------------------------------------------------------------------------------------------------------

Oracle Report(Report 6i/RDF)使用全局变量fnd_global, fnd_frofile的更多相关文章

  1. Creating Timer in Oracle D2k / Forms 6i and Displaying a Clock

    Creating Timer in Oracle D2k / Forms 6i and Displaying a Clock This is about timer in D2k An externa ...

  2. Refresh / Updating a form screen in Oracle D2k Forms 6i

    Refresh / Updating a form screen in Oracle D2k Forms 6i ProblemYou want to show number of records pr ...

  3. Oracle EBS Report 输出字符字段前部"0"被Excel自动去掉问题

    Oracle  EBS 提供多种报表的开发和输出形式,由于MS Excel在处理数据方面的优势明显,报表输出用Excel打开是很常见的开发项. 但是正是由于Excel的"过于智能而不智能&q ...

  4. 如何在Report Builder中使用fnd_profile.value

    在EBS的Report开发中,需要根据客户化的一个Profile来控制用户可以访问的数据,可是在开发的过程中发现一直取不到该Profile的值,后来百度才找到了原因. 解决方法: 1.添加用户参数p_ ...

  5. AWR Report 关键参数详细分析

    WORKLOAD REPOSITORY report for DB Name DB Id Instance Inst num Startup Time Release RAC CALLDB 12510 ...

  6. Download Oracle Forms 6i

    To download Oracle Forms Developer 6i from Oracle click this link http://download.oracle.com/otn/nt/ ...

  7. Crystal Report在.net中的两种显示方式

    Crystal Report在.net中的两种显示方式 编写人:CC阿爸 2014-7-29 近来在完成深圳一公司的项目,对方对各方面要求相当严格,一不满意就拒绝签收,为了对修正水晶报表显示及导出的一 ...

  8. How to get the underlying SSRS Report Query, reset query , add your own ranges and execute report [AX2012]

    Below is the small code snippet to get the underlying query of the SSRS report, reset query, prompt ...

  9. 机房收费系统中的Grid++Report报表设计器的应用

    在进行账单查询功能的时候我应用了Grid++Report报表设计器,下面我就为大家介绍一下,还望大家多多指点. 首先,在Grid++Report报表设计器中进行报表界面的设置.在属性编辑窗口中这里对报 ...

随机推荐

  1. android系统各种音量的获取与设置

    获取系统音量 通过程序获取android系统手机的铃声和音量.同样,设置铃声和音量的方法也很简单! 设置音量的方法也很简单,AudioManager提供了方法: publicvoidsetStream ...

  2. concat函数,concat_ws函数,group_concat函数,repeat()函数

    MySQL中concat函数使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串 ...

  3. Learning Note: SQL Server VS Oracle–Database architecture

     http://www.sqlpanda.com/2013/07/learning-note-sql-server-vs.html This is my learning note base on t ...

  4. C#-java RSA加密解密

    using Org.BouncyCastle.Math; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Securi ...

  5. java多线程之Concurrent包

    1.在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题. 2.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的 ...

  6. 【web.xml】报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    今天搭建新的项目,虽然在web.xml中配置了ContextLoaderListener以及IntrospectorCleanupListener 如下: web.xml中部分代码: <!-- ...

  7. appium+python自动化49-yaml管理定位元素

    前言 如何高效管理定位元素,这个是很有学问的问题,也是面试必问的[以下纯属个人观点,勿喷!]. 有的人用xml管理页面定位元素,这种逼格略高,但是小编认为学习成本大,贼麻烦. 有的人提到用excel管 ...

  8. CSS margin-top 属性

    1.margin-top 属性设置元素的上外边距. 注意:允许使用负值. 2.html 文件 <html> <head> <style type="text/c ...

  9. python3将docx转换成pdf,html文件,pdf转doc文件

    直接上代码 # -*- encoding:utf-8 -*- """ author:lgh 简单的doc转pdf,html,pdf转doc脚本 依赖库pdfminer3k ...

  10. 流畅的python第八章对象引用,可变性和垃圾回收

    变量不是盒子 在==和is之间选择 ==比较两个对象的值,而is比较对象的标识 元组的相对不可变姓 元组与多数的python集合(列表,字典,集,等等)一样,保存的是对象的引用.如果引用的元素是可变的 ...