oracle ebs 数据源,Oracle EBS环境下查找数据源(Form篇)

关于在Oracle EBS环境下如何查找数据源的文章几年前就已经开始整理,但是其中关于OAF方面的一直没有整理,导致这份文档一直残缺不全,

有很多次同事都向我索要相关文档都未能如愿以偿,新的一届培训工作再次启动,为了自己也能够“一劳永逸”,将相关内容整理发出。

在Oracle E-Business Suite 环境下进行二次开发,要求技术顾问对EBS系统的结构和实现有一定的了解,同时熟悉系统的关键流程,进而掌握后台的表结构设计,查找数据源需要达到的两个目的是:

到对应的数据库对象:视图或表

找到界面中字段对应后台的表列

本文先介绍如何查找Form界面对应的数据源,快速找出FOrm界面后台对应的表/视图以及对应的列,

Form本身特有的特点,致使查找Form界面所对应的后台数据源变得相对简单方便。

一、使用“查看—> 历史记录”功能

“历史纪录”可以找出数据块对应的后台数据库对象,并不能找出字段所对应的数据库列。

适用场合:适用于基于数据库块的数据源查找

前提:光标停留在需要查询数据源的数据块中,并按某个条件查询出数据

步骤:

选择菜单:Help –> Record History(帮助 –> 历史纪录)

查看弹出窗口中Table Name的值,这个值便是光标所在数据块对应的后台数据库视图或数据库表

实例(查找用户所对应的后台数据库对象):

光标定位于User Name字段

执行查询,查询出SYSADMIN用户信息

0818b9ca8b590ca3270a3433284dd417.png

选择菜单:Help –> Record History

0818b9ca8b590ca3270a3433284dd417.png

弹出如下窗口,其中Table Name的值:FND_USER,既是后台数据库对象

0818b9ca8b590ca3270a3433284dd417.png

限制:历史纪录”的方式只适用于基于数据库块的查询;而对于非数据库块的后台查询没有办法使用,不能使用的地方会弹出如下的消息:

0818b9ca8b590ca3270a3433284dd417.png

二、使用“查看 —> 诊断 –> 检查”

通过检查功能可以查找出字段对应后台数据库列信息,因此使用此方法的需要先找出对应的数据库视图或者表

步骤:

光标停留在Form界面中的一个字段

选择菜单:Help —> Diagnostics –> Examine

在弹出的窗口中输入数据库用户APPS的密码,确定

弹出窗口中Field对应的值既是Form所对应的字段,一般情况下,此值既是数据列的列名

实例(查找出User Name字段所对应的后台数据库列):

光标停留在User Name字段中

选择菜单:HelpàDiagnosticsàExamine

弹出如下窗口,输入数据库用户APPS的密码,确定

0818b9ca8b590ca3270a3433284dd417.png

弹出如下窗口,Filed的值:USER_NAME就是User Name字段所对应的后台数据库列,因此本字段为:fnd_user.user_name

0818b9ca8b590ca3270a3433284dd417.png

注意事项:使用此方法来查找数据列时,我们得到的只是Form字段的名称,很多使用Form字段的名称和所对应的数据源列一致,但是在少数情况下,Form字段名称和后台数据库列名存在差异,这个使用此方法就无法100%适用,而需要通过名称等进一步推测确认。

三、使用”Last Query”功能

使用最后查询可以找出在Form中最后执行查询的SQL语句,从而得知对应的数据源以及相关数据库列信息

适用场合:同时适用于基于数据库块和非数据库块的数据源查找

步骤:

在Form中进行数据查询

光标停留在Form界面中的一个字段上

选择菜单:Help –> Diagnostics –> Examine

在弹出的窗口中输入数据库用户APPS的密码,确定

弹出窗口中,选择Block为:SYSTEM,Field为:LAST_QUERY

Value中的SQL语句既是Form中最后查询的语句

实例(找出并发管理器对应的后台数据源):

进入并发管理器界面,并进行查询(自动查询),使用“历史纪录”方法无法得到表

0818b9ca8b590ca3270a3433284dd417.png

选择菜单:Help –> Diagnostics –> Examine,在弹出的窗口中输入APPS用户密码

弹出窗口中,选择Block为:SYSTEM,Field为:LAST_QUERY0818b9ca8b590ca3270a3433284dd417.png

取得Value为:

SELECT ROWID,

row_id,

concurrent_queue_name,

user_concurrent_queue_name,

target_node,

max_processes,

application_id,

concurrent_queue_id,

control_code,

manager_type

FROM fnd_concurrent_queues_vl

WHERE enabled_flag = 'Y'

ORDER BY decode(application_id, 0, decode(concurrent_queue_id, 1, 1, 4, 2)),

sign(max_processes) DESC,

concurrent_queue_name,

application_id

这样可以取得数据库视图:FND_CONCURRENT_QUEUES_VL

限制:由于Last Query中查询到的SQL语句是Form中最后一次查询的语句,因此如果需要查找像主从关系中主块数据源就没有办法适用

四、使用SQL Trace功能

使用SQL Trace功能,可以知道在Form操作过程中,对数据库系统进行了哪些查询、DML和DDL操作,可以全面的查看与数据库有关的操作和性能统计信息。

此方法是这些方法中功能最强大,同时也是最复杂的一个,而且它经常成为性能调试中的一个得力工具。

步骤:

启动Trace模式

在Form中进行操作,并保证操作有查询、插入、更新或删除动作

关闭Trace模式

登陆数据库服务器

使用Tkprof工具格式化Trace结果文件输出

查看被格式化过的Trace文件

推测验证数据源

实例(定义一个用户时,找到后台所进行的DML操作,进而找到后台数据源):

打开Form界面进入输入状态,还是以上面使用的User界面为例

选择菜单:Help –> Diagnostics –> Trace –> (Regular Trace, Trace with Binds, Trace with Waits, Trace with Binds and Waits)

0818b9ca8b590ca3270a3433284dd417.png

记下Trace文件路径及名称

0818b9ca8b590ca3270a3433284dd417.png

在界面上操作,输入信息,保存

选择菜单:Help –> Diagnostics –> Trace –> No Trace,失效Trace功能

使用数据库操作系统用户Telnet到数据库服务器,切换到$ORACLE_HOME/admin/_/udump(上面所显示的路径)

使用Tkprof命令格式化Trace输出:tkprof demo_ora_21088_SYSADMIN.trc demo_ora_21088.out

五、查看Form源代码

对于Form应用来说,如果上面的方法还不足以满足需求的话,可能就需要采用最彻底的办法了,直接查看Form的源代码,我想这个方法是最能够解决问题的方法了,但是由于需要查看源代码,对于查看的人员就需要熟悉Form的开发,因此一般情况下不先推荐使用它,但是对于如果希望完全搞清楚Form应用后台逻辑的情况下,也只能采用这种方式。

此方法在此就不做介绍了,此方法可以说只适合Form开发人员使用。

上面的方法是Oracle EBS二次开发中最常用最有效的方法,在Form相关的开发和应用中,掌握的以上的方法基本上能够解决绝大多数的问题。

后续将放出Oracle EBS环境下查找数据源的OAF篇。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 实用指令

通过init 来制定/切换不同的运行指令 查看linux 系统下,电脑的运行级别 vim /etc/inittab 如何找回丢失的root密码? 进入到单用户模式,然后修改root密码 进入到单用户模式,root不需要密码也可以登录 如果开机就是init 0 办法&…

chrome控制台如何把vw显示成px_【CSS】rem,em,px的区别和使用场景

前端潮咖点击上面蓝字,关注我们!关注关注前端潮咖,每日精选好文作者:大前端小菜鸟来源:cnblogs.com/hyns/p/12380944.html作rem布局原理深度理解(以及em/vw/vh)一、前言我们h5项目终端适配采用的是淘宝那套《Flexible实…

php7对象转换成数组,php 如何把对象转换成数组对象

php把对象转换成数组对象的方法:首先打开相应的PHP代码文件;然后通过“function array_to_object($arr){...}”方法把对象转换成数组即可。本文操作环境:windows7系统、PHP7.1版,DELL G3电脑php-对象(object) 与 数组(array) 的转…

建模:建模清单

ylbtech-建模:建模清单1.返回顶部 2.返回顶部3.返回顶部4.返回顶部5.返回顶部 6.返回顶部作者:ylbtech出处:http://ylbtech.cnblogs.com/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明&#xf…

获得picker选项的当前年月值_如果你用OPPO手机!千万记得开启开发者选项,手机性能大幅度提升...

如果你用OPPO手机!千万记得开启开发者选项,手机性能大幅度提升用过OPPO手机的用户都知道,手机使用1-2年都会出现卡顿的情况。这也是安卓手机的通病,但也有很多朋友手机使用3年也不会出现卡顿的现象,都是因为打开了手机…

Django运维后台的搭建之四:用bootstrap模板让运维前台变得更漂亮

我对于PHP和ajax是属于二把刀的水平,所以做网页前端肯定是比上天还难,但是我又想把网页做的漂亮可爱,怎么办呢?我就只好去download别人的模板,在这里我使用了bootstrap框架做的模板。各位可以去https://wrapbootstrap.…

联想m7400pro更换墨粉盒怎么清零_佳能打印机怎么换墨水 佳能打印机换墨水注意事项【详解】...

佳能打印机是我们办公室用品中比较常见的一个品牌,作为国际知名品牌,其质量也是非常有保障的。在使用的时候打印机没有墨是经常会遇见的。这时候我们就需要更换墨水盒了。但很多不知道具体步骤,或者没有注意相关细节,导致换墨水盒…

MySQL Workbench导出数据库

步骤: 1. 打开mysql workbench,进入需要导出的数据库,点击左侧栏的【Management】tab键。 2. 点选要输出的数据库 点击【Data Export】选在要输出的数据库选择是否输出存储过程和函数,事件,触发器 点击Start Export3. …

软链接与硬链接

文件引用模型 在linux中,一切皆文件,而文件包含元数据(metedata)和用户数据(user data)。元数据中的inode号是系统标识和获取用户数据的唯一凭证,而文件名仅是为了方便用户记忆和使用。为了管理…

c++ 数组的输入遇到特定字符停止输入_C语言 第4章-字符串和格式化输入/输出

#include 用数组name储存字符串,name数组有40个字节,每个字节储存一个字符值。在scanf()函数中,输入字符串name没有&前缀。C预处理器把字符常量DENSITY定义为62.4。strlen()获取字符串长度。1. 字符串1.1. char类型数组双引号标记字符串&…

Python基础 day2

Python基础 一、Python的数据类型 1、int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为…

gym101808 E

提问:我是什么品种的傻逼? 哇看到积水兴高采烈啊。然后就走上了一条不归路。 为什么不归呢,因为我这个法子就是不对的,我总是在想很多很多点围成的一块区域,然后求这一块区域的面积。 然后尝试了各种扫描方法&#xff…

【站点部署】解析二级域名并部署站点

开设原因 : 近期在学健身, 上一份工作辞掉后, 在北京找了家私人教练培训学校, 进行为期四个月的健身培训, 这个比在健身房找私教专业多了, 被健身房私人教练坑慘了, 说多了都是泪, 已经培训了将近一个半月, 学习了基础私教, 普拉提, 这在学习康复课程, 之后还有功能性 和 综合格…

恶意软件伪装“正规军”,撕开Booster Cleaner“画皮”下的真相

经常使用手机浏览器阅读小说的用户都知道,在浏览器页面经常会出现一些推广游戏应用、手机清理应用等应用的弹窗广告。有时出于方便,我们也会选择直接点开这些弹窗广告进行应用下载。但这种行为并不安全,部分恶意应用会先伪装成“正规军”诱导…

python初学者代码示例_python基础示例

7、写代码 (1)实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!_name "seven"_pwd "123"name input("username:").strip() pwd input("password:").strip()if name _…

Lucene 基础理论 (zhuan)

http://www.blogjava.net/hoojo/archive/2012/09/06/387140.html**************************************** 1. 全文检索系统与Lucene简介 1.1 什么是全文检索与全文检索系统 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引&#xff0…

div固定大小文字溢出自动缩小_【高并发】高并发环境下如何防止Tomcat内存溢出?看完我懂了!!

写在前面随着系统并发量越来越高,Tomcat所占用的内存就会越来越大,如果对Tomcat的内存管理不当,则可能会引发Tomcat内存溢出的问题,那么,如何防止Tomcat内存溢出呢?我们今天就来一起探讨下这个问题。防止To…

linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口

默认情况下, SSH 侦听端口 22 。 更改默认 SSH 端口可以降低被自动攻击的风险,从而为服务器增加额外的安全层。和更改默认端口相比,将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和安全。本教程介绍如何更改 Linux 中的默认 SSH 端口…

linux gnome启动命令,如何在Gnome Shell上自动启动程序

登录Gnome Shell时自动打开应用程序是提前设置工作区的好方法。在Gnome Shell上自动启动程序的最简单方法是使用Tweaks应用程序。在本指南中,我们将介绍如何安装Gnome Tweaks应用程序以轻松配置自动程序启动。让我们开始吧!通过GUI自动启动程序默认情况下…

php 动态加载html内容_ThinkPHP5.1+Swoole实现的开源内容管理框架

一款支持Swoole的开源内容管理框架,基于ThinkPHP5.1开发,同时支持PHP-FPM和Swoole双模式,让WEB开发更快!主要特性更改框架协议为MIT,让你更自由地飞基于ThinkPHP 5.1重构,但核心代码兼容5.0版本,保证老用户最小升级成本…