[翻]Why call it Apps and not Oracle ERP ?
2012-06-29 17:31
423 查看
Why call it Apps and not Oracle ERP ?
以前就很想知道为什么人们常常把Oracle E-Business Suite称作"Apps"?就因为Apps是Oracle Applications的缩写么?也许是。其实这个问题给了我一个很好地理由来解释APPS schema的进化史。九年前我开始从事Oracle Financials的工作,那时每一个模块都有它自己database schema(当然现在还有,比如po,inv,wip,ar...),对于一个做采购的用户(EBS 10.6版本前),想要查看数据,就要使用po的Schema来查看。同样,如果一个AR模块的report或者form想要访问PO_HEADERS_ALL,他们就需要加上前缀'PO',PO.PO_HEADERS_ALL。但是EBS里有很多的数据库Schema(一般情况下一个模块一个Schema),每一个表都有它所对应的schema,这样我们写SQL或者在写代码的时候,经常要加一个Schema前缀到表的前面,这就比较讨厌。
所以后来,Oracle引入了一个新的schema--"APPS",其他schema下的数据,在apps下都能看到,这样我们就不用每次都要加前缀才能查看其他模块的数据了,用户可以轻松的访问任何模块的表数据。同样,如果想要增加一个新的表到系统中,我们需要做以下几件事情:
Step 1. Connect to po/po@XX_DEVDB
Create table PO_HEADERS_ALL ( ...all columns here )
Step2. Grant all on po_headers_all to apps ;
Step 3. connect to apps/apps@XX_DEVDB
Create or replace synonym PO_HEADERS_ALL for PO.PO_HEADERS_ALL
通过以上的几步,你就会发现,APPS schema不用加前缀(po.po_headers_all)就可以访问PO_HEADERS_ALL了。
现在在Oracle ERP里,我们已经有超过100个schema了,比如:po, ar, ap, gl...,Form,Report,workflow里我们只需要连接到apps schema下即可所有模块的数据,ALL ROADS LEAD TO ROME,这里ALL Schema Lead to APPS.因此假设你想关联ap_invoices_all table( AP schema) 和PO_HEADERS_ALL table( AP schema),你只需要简单的连上APPS,然后写:
Selelct 'x’ from po_headers_all p, ap_invoices_all a where a.po_Id = p.po_Id
在10.6版本前你不得不这么写:
Selelct 'x’ from PO.po_headers_all p, AP.ap_invoices_all a where a.po_Id = p.po_Id
Moral of the Story is:
所有的PL/SQL Package要在APPS Schema下创建
所有的View要在APPS Schema下创建
对于每一个独立Schema下的表数据,在Apps schema下要同样有一个synonym存在
不是在Apps Schema下创建表
对于客户化来说,至少应该有一个custom schema来用于客户化表的创建
原文:http://getappstraining.blogspot.com/2006/10/why-call-it-apps-and-not-oracle-erp.html
转载请注明出处:/article/1397717.html
======EOF======
相关文章推荐
- [翻]Why call it Apps and not Oracle ERP ?
- 【iOS】Swift3:执行save()的时候出现:Call can throw, but it is not marked with 'try' and the error is not handl
- Swift Call can throw, but it is not marked with 'try' and the error is not handled
- Swift:Call can throw, but it is not marked with 'try' and the error is not handled
- Call can throw, but it is not marked with 'try' and the error is not handled
- A class file was not written. The project may be inconsistent, if so try refreshing this project and building it. eclipse提示错误
- its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
- Kworker, what is it and why is it hogging so much CPU?
- 运行ant脚本进行打包无法创建路径(and the archive is probably corrupt but I could not delete it)解决办法
- 100.In which situations does the Oracle Data Pump use external tables and not the direct path load w
- Oracle execute and call
- Why I Don't Call It “GNU/Linux”
- Problem creating zip: Execution exce ption (and the archive is probably corrupt but I could not delete it): Java heap space -> [Help 1]
- 【html】What is href=“#” and why is it used?
- PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath s
- 翻译 Scribe : a way to aggregate data and why not, to directly fill the HDFS?
- 《What is deep learning and why is it getting so much attention?》,译名:深度学习的定义及其备受关注的原因
- FAQ: Why is file and line information available for some warnings in FxCop but not for others?
- 520万Oracle ERP项目失败之谜-看IT行业潜规则 推荐
- Why Blink and Why not Blink