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

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. python基础之封装与绑定方法

    封装 1.什么是封装: 封:属性对外隐藏,但对内开放 装:申请一个名称空间,往里装入一系列名字/属性 2.为什么要封装: 封装数据属性:不让外部使用者直接使用数据,需要类内部开辟一个接口,让外部通过接 ...

  2. 浅析HashMap和Hashtable的区别

    HashMap和Hashtable两个类都实现了Map接口,二者保存键值对(key-value对): HashMap和HashTable区别 第一,继承的父类不同.HashMap继承自Abstract ...

  3. Codeforces Beta Round #3 C. Tic-tac-toe 模拟题

    C. Tic-tac-toe 题目连接: http://www.codeforces.com/contest/3/problem/C Description Certainly, everyone i ...

  4. 基于tiny4412的Linux内核移植 -- PWM子系统学习(七)

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  5. Objective-C]入门 (xcode helloworld程序 创建类

    一:objective-c简介 Objective-C是进行iPhone软件开发的语言 Objective-C语言是C语言的一个扩展集 Objective-C是一种面向对象的语言 大小写敏感 程序语句 ...

  6. 网络工程师岗位基础面试题【适用于CCNA/CCNP基础】

    网络工程师岗位基础面试题[适用于CCNA/CCNP基础] 1: 交换机是如何转发数据包的?交换机通过学习数据帧中的源MAC地址生成交换机的MAC地址表,交换机查看数据帧的目标MAC地址,根据MAC地址 ...

  7. 简单nginx+tomca负载均衡

    Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 ...

  8. Enyim Memached 客户端 执行GET 总是返回NULL

    排查: 1. ping 远程Linux 服务器 正常 2.11211 端口正常 3. ps aux | grep memcached 显示正常 4. 使用另外一个客户端 memcachedClient ...

  9. URLScan参数说明

    本文分步说明如何配置 URLScan 工具以防止 Web 服务器受到攻击和利用. 修改 URLScan.ini 文件 URLScan 的所有配置都是通过 URLScan.ini 文件执行的,此文件位于 ...

  10. 2017.12.11SimpleDateFormat的线程安全性讨论

    转载来自:http://blog.csdn.net/zxh87/article/details/19414885 1.结论 DateFormat和SimpleDateFormat都不是线程安全的.在多 ...