HAND-深入浅出Oracle EBS之Discoverer HAND-深入浅出Oracle EBS之Discoverer_第1页
HAND-深入浅出Oracle EBS之Discoverer HAND-深入浅出Oracle EBS之Discoverer_第2页
HAND-深入浅出Oracle EBS之Discoverer HAND-深入浅出Oracle EBS之Discoverer_第3页
HAND-深入浅出Oracle EBS之Discoverer HAND-深入浅出Oracle EBS之Discoverer_第4页
HAND-深入浅出Oracle EBS之Discoverer HAND-深入浅出Oracle EBS之Discoverer_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OracleERP最佳技术实践E-BUSINESSSUITEXX100–应用技术rAuthor:黄建华Jianhua.HuangMSN:huajhua@CreationDate:October16,2005LastUpdated:December06DocumentRef:<DocumentReferenceNumber>Version:DRAFT1Aals <Approver <Approver2>CopyNumber_____47DateDateAuthorVersionChangeReference16-Oct-05Jianhua.HuangDraft1aNoPreviousDocumentNameitionCopyNo.NameLocation1LibraryMasterProjectLibrary2ProjectManager34Ifyoureceiveanelectroniccopyofthisdocumentandprintitout,pleasewriteyournameontheequivalentofthecoverpage,fordocumentcontrolpurposes.Ifyoureceiveahardcopyofthisdocument,pleasewriteyournameonthefrontcover,fordocumentcontrolpurposes.tentsumentControl 1.OracleDiscoverer 41.1.总体说明 41.2.Discoverer概念层次 41.3.必要设置 51.4.先睹为快:一个简单例子.管理员端配置 51.5.先睹为快:一个简单例子.桌面端做报表 181.6.其他设置和功能浏览 231.7.ItemClass和条件的LOV 311.8.Discoverer权限模型 341.9.Discoverer发布 371.10.其他有用的Topics 411.11.WebDiscoverer4i设置 452.OpenandClosedIssuesforthisDeliverable 47 ClosedIssues 471.OracleDiscoverer意1.1.总体说明OracleDiscoverer最初是OracleBIS的前端展现工具,现在越来越多的被用在ERP中。求不高的报表。实施人员:用Discoverer来做报表效率很高,写完SQL报表也就出来了,可以关注核心最终用户:不但可以将报表直接导出成Excel(进一步分析、作为数据源送给其它系统甚至反灌回ERP等等),而且还可以像在Excel里面一样自己调整报表(增加减少列、添加条件、增加汇总列等等),还可以直接在Discoverer里面做DrillUp/DrillDown1、参数只能作用在最外层SQL,所以无法直接限制View中内层的SQL以提高性能2、参数没有ID/Value之分,所以只能用Value 1.2.Discoverer概念层次EUL:EndUserLayer,是个容器;存储元数据,相当于数据字典;和DB由SYS拥有数据字典一样,EUL也必须由某个用户(Owner)拥有;不同的是每个数据库用户都一个EUL,只要数据库权限足够大。BA:BusinessArea,业务主题;一个EUL下可配置多个BA,比如PO主题、GL主题Folder:就是表或者视图,当然也可以是一段SQL,一个BA下可配置多个Folder。ItemFolder置多个Item。上面这4个在DiscovererAdministration里面设置。DiscovererPlus里面做的就是报表,不过不叫Report,而是借用Excel的名字:Workbook,还分Sheet。1.3.必要设置不用WebDiscoverer的话,客户端安装完毕,配好tnsnames就可以用了。不过我们是EBS安装http:///technology/software/products/discoverer/index.htmlDiscoverer(4.1.37)目前还不支持Multi-Home安装,所以安装的时候需要在DefaultHome,其他Home不行。安装时选英文,其他语言据说有问题。如果先装6i,后装Discoverer,需要备份bin目录下的UIW60.DLL,装完之后把UIW60.DLL拷贝回来;否则FormBuilder起不来,需要重新安装或从别人那里拷贝UIW60.DLL。管理员工具和客户端安装分DiscovererAdministration和DiscovererPlus。实施人员两个都装,最终用户仅装DiscovererPlus;比较消耗客户端资源。Web版的DiscovererPlus叫DiscovererViewer,不用装客户端,用IE就可以了,不过按照往常步骤配置tnsnames和hosts。tnsnames就可以,协议的基本配置文件,而不同公司的sqlnet.ora可能会不一样;所以把这两个文件全部Note:25197前要以application身份登录,需要安装Patch,其实就一个登录验证文件fndpu115.dll,拷贝到安装目录的DISCVR4目录下;否则报FailedtoconnecttoDatabase-ORA-01017:invalidusername/password:logondenied。1.4.先睹为快:一个简单例子.管理员端配置以查看系统PODocumentType为例,先用APPS登录数据库,创建一个View:CREATEORREPLACEVIEWscf_po_document_types_vvASSELECT*FROMpo_document_typesN:DiscovererAdministration先Cancel。录方式N:DiscovererAdministration/Tools/Option选择Connecttobothstandardandapplications。意思是登录的时候可以选择用数据BSGatewayUserID和FoundationName放空。N:DiscovererAdministration/File/Connect最好用system登录,这样可以创建新用户。下面的OracleApplicationsUser不选。就是说system这个用户目前自己没有EUL,也没有人授权EUL给它,所以系统提示没法使用Discoverer,除非创建新的EUL。开始创建EULN:选择“CreateanEUL”。创建EUL01N:首先要选择Createanewuser,因为我们通常希望有一个“干净”的用户作为EUL的Owner,不希望用某个应用数据库用户如PO或者APPS,更不希望用System。其次选择NewEULisforusedbyOracleApplicationsusers…。然后是输入新用户和密码,假定都是disadmin。Next。创建EUL02N:选择包含EBS的用户,当然是APPS了。这个其实可理解为默认的Scheme,这样在创建自定义的Folder时可不需要给表或者视创建EUL03N:表空间了,数据统一放在APPS_TS_TX_DATA下。也遵循这个标准:DefaultTablespace选择APPS_TS_TX_DATA,TemporaryTablespace选择TEMP。实际中最好先新建一个表空间,专门给DiscovererFinish,开始创建用户和EUL。创建EUL04N:创建完有兴趣的话可以去看看Disadmin这个用户,它下面有很多EUL4开头的对象。前面是用system登录,这里问要不要换成EUL的Owner也就是刚才新建的disadmin登N:我们不用disadmin这个用户创建BA,我们仅用它来装EUL就行了。这里选择“Cancel”。N:DiscovererAdministration/Tools/Privileges我们规划一个EBS用户,以后专门用来维护Discoverer,也可以用它来创建DiscovererHuajhuaPrivilege注意这个Huajhua是Application用户。折点2:切换用户N:DiscovererAdministration/File/Connect用上面的Huajhua登录,并且选择用Application方式:我们选择PurchasingSuperUser。“OK”上面的提示。如下图,实际是“101-安徽佳通-MFG-生产计划员(炼胶)”:而在Discoverer10g没有这个问题。创建BA01N:选择数据源DBLink和用户N:DiscovererAdministration/File/New点击CreateanewbusinessareaNext创建BA02Next如图,选择APPSNext创建BA03N:documenttypesvv创建BA04N:一些对将要生成的Folder的设置,唯一需要注意的是Defaultaggregateon…一般改为Detail(默认是Sum),理由很简单,我们做的View基本上就是最终要的数据了,不需要在Discoverer中做集合运算了,要做我们在View里面就做掉了。Next创建BA05N:Finish系统开始创建BA完成之后,可以查看创建的BA1.5.先睹为快:一个简单例子.桌面端做报表N:DiscovererPlusel录方式N:DiscovererPlus/Tools/Option选择Connecttobothstandardandapplications。意思是登录的时候可以选择用数据BSGatewayUserID和FoundationName放空。N:DiscovererPlus/File/Connect我们选择PurchasingSuperUserN:DiscovererPlus/File/NewableCrosstabN:DiscovererPlus/File/SaveN:选择字段,因为只有一个,默认已经选中我们前面建的POBusinessArea。我们随便m简单起见,我们直接Finish。N:至此一个简单的Discoverer报表就出来了。Workbook文件,也可以保存到数据库。他用户就可以打开该报表。我们先选择MyComputer,然后点Save起个名字PODocumentTypes.DIS。之后我们在通过菜单Saveas到Database:掉DIS后缀。是看用户需求了!1.6.其他设置和功能浏览创建EUL基本都是做一次,即一个系统通常建一个EUL,像系统中的Application一样,一个就够了创建BA通常也是做一次,即一个EUL下建一个BA;BA的目的是用来划分功能建多个FolderWorkbook根据需要做,通常一个报表对应一个Folderscoverer需要调研,创建数据库V,创建Folder,创建Workbook,ShareWorkbookN:Admin/右键BA可以建立基于View的Folder,也可以直接在Folder中输入SQL代码。一个字段N:Admin/File/Refresh比如客户要求在报表中新增一个字段,而这个字段我们在创建View的时候并没有包首先当然是更新数据库脚本,把视图改好;接下来在DiscovererAdmin中,选中要改的Folder,通过N:Admin/File/Refresh刷新即可。PlusConnect就可以看到新增的字段了。N:Plus/Sheet/…ExcelWorkbookSheetSheet个报表,我们可以把相关性比较强、类似或者需要做对比的报表放在同一个Workbook里面。通过Sheet菜单,可以New一个Sheet,也可以重新运行向导Edit当前的Sheet,也可以Copy一个Sheet。通过EditTitle菜单,我们可以给生硬的Discoverer报表加一个合适的表头,可以设置默认情况下,报表仅显示100行,和PL/SQLDeveloper类似,可以选择查看下一批或者全部记录。前者通过报表最后一行的按钮来实现,后者就是通过这里的RetrieveAllRows。另外,CountAllRows就是算出记录数,和Forms上的F12类似。N:Plus/View/PageItemsPageItems相当于Excel中的筛选,当然这里的功能要弱一些。如图,我们把DocumentTypeCode这一列拉到PateItems区域,就可以过滤了,如选择PO那么下面N:Plus/Format/…置Sheet的背景图片。Exception型为PO时用红色显示:N:Plus/Tools/Calculations和Reports中的计算列类似,增加一列,值等于某个公式算出来,比如=Item1+序和分组N:Plus/Tools/Sort的同时还可以指定是否分组、N:Plus/Tools/Totals可以对某一列进行求和、计数、求平均等;而且可以分组计算。如下图对OrgId进行N:Plus/Tools/Percentages以是全部记录。N:Plus/Tools/Parameter和N:Plus/Tools/ConditionsN:Plus/File/ExportN:Plus/Graph/NewGraphN:Discoverer是个BIS前端展现工具,所以支持BIS基本的上钻下钻分析方法。上钻下钻分析的前提是建立数据的层次结构(Hierarchy),比如最容易理解的就是日期:年包含Discoverer中的Hierarchy在Admin中维护,系统已经有默认的日期层次模型,所以对于日期字段,创建Folder的时候会让我们选择是否使用默认的层次模型,通常就是Yes了,所以观察我们的Folder,每个日期字段都会比我们的视图多4字段,如XXXXWorkbook一个XXXXQuarter字段:现在可以看到,字段的Heading上有个箭头,表示可以“钻”了。右键选择Drill:可以看到,可以选择上钻到Year,或者下钻到月等,我们选择Year:N:Admin可以使用默认的日期层次结构:Year/Quarter/Month/DayN:Discoverer支持矩阵报表。Folder间的连接基于SQL的Folder查看Sheet的最终SQL和执行PlanSchedule一个Discoverer报表删除EUL/BA/Folder1.7.ItemClass和条件的LOVAdmin端设置N:Admin/ItemClassTab页/<BA>/RightClick/NewItemClass前面的参数只能自己输入,用户无法选择,也就是没有LOV。这个要通过ItemClass来LOVFolderView择该列的Distinct值作为LOV。所以,虽然这里可以选择本Folder的列,如果碰到特别复杂或者需要较长运行时间的View,就要考虑新建一个小View,然后要它来做Folder;这样在这里就可以选择这个“小”Folder的列作为LOV数据的来源列。Next:这里选择要使用该ItemClass的字段,我们仍然选DocumentTypeCode,注意可以选起个名字后Finish:N:Plus/Tools/Parameter注:首先要通过File菜单重新Connect以获得Admin端的变化。Discoverer限模型这是DiscovererEUL的权限,和数据库权限以及EBS系统权限是两码事。可以对一个EBS用户授权,也可以对一个职责授权,看实际需要;不过,和Oracle的并所以简单来说,要让一个最终用户看到我们做的报表,就要牢记在心:这3个东西都要EUL授权N:Admin/Tools/Privileges如果EUL没有授权,用户就选不到我们的EUL,后面的事就免谈。这个很关键,决定了用户的操作权限:是否可以修改报表、是否可以创建BA等等都在这里统一控制。上面的例子我们把EUL的全部授权给HUAJHUA,因为准备用它来开发。这里我们给PurchasingSuperUser这个职责授予DiscovererPlus的所有权限。BA授权N:Admin/Tools/Security。如果没有授权BA,用户打开报表就会报找不到Item。上面的例子之所以没有问题是因uajhuaBA权有两种方式:BA到User和Users到BA,结果一样,看哪个操作方便了。这里我们通过BA到Users方式把POBusinessArea授权给PurchasingSuperUser这个职N:Desktop/File/ManageWorkbook/Share如果没有授权Workbook(系统里面其实叫共享)用户就看不到报表。同样,上面的例之所以没有问题是因为Huajhua自己创建自己看。同样有两种方式。这里我们把刚才做的报表授权给PurchasingSuperUser这个职责。。至此,任何用PurchasingSuperUser这个职责登录的用户都可以运行上面这个报表overersProductionDiscoverer环境做完也要挂到Production环境。Discoverer发布包括2个方面:EUL发布(严格讲是BA发布)和Workbook发布。注意导入导出也要用Application登录方式。EUL发布.导出N:Admin/File/Export(先要选中要发布的BA)BA件的名字。点保存,系统将执行导出:EUL发布.导入N:Admin/File/Import首先要在目标系统按照前面例子中的步骤先建好EUL,其次要把数据库脚本(主要就是BA中Folder基于的View的脚本)更新到目标系统。Production如果有问题,首先检查视图脚本确实执行了,然后看看现在的EUL里面是不是有同名的BA和Folder。BA导入导出一般适用于上线和新BA。对于增量更新(比如若干时间后在原来的BA中新增一个Folder),则可以采取直接在Production环境中手工创建Folder。如果仅仅是增减字段,也可以通过RefreshFolder的方法来处理。库打开最新的Workbook,一一另存到本地。然后登录目标系统,从本地打开Workbook,一一另存到数据库,再一一Share给需要如果有问题,请检查上面的权限设置、检查BA是否更新过来了、进一步检查BA是否有问题(比如少字段)、进一步检查Folder基于的View是否正确更新了。Workbook导出,但我用下来速度很慢,只好一个个手工发布了。1.10.其他有用的Topics存和重新连接Discoverer采用缓存技术,只要登录了,那么其他人在Discoverer中的改动几乎都不会影响当前操作;只有重新连接(File/Connect)了,才能反映出来。多EUL问题和选不到BA或者Workbook一个数据库可以有很多个EUL,这个好理解,因为每个权限足够大的数据库用户都可一个EUL。首先当然要确定一下是否用同一种登录方式(比如都用Application用户)登录,剩下用户登录Discoverer之后,他只能操作一个EUL的东西。那么如果我们建立了多个EUL(因为测试用或者因为没有沟通好),并且都授权给了某一用户,比如上面的huajhua或者SYSADMIN,那么我用huajhua登录Discoverer之EULN:Tools/Option/EULTab页(Admin和Plus一样)选择想要的EUL,然后重新Connect。如果数据库中有人新建EUL,很可能会导致其他人的默认EUL发生改变。Discover会把NLS语言信息写在dis文件中(可以用二进制编辑软件打开查看),在不如果在注册表中把NLS_LANG设为zhs16gbk,然后再开发report,可以同时满足简体Workbook数字用Numeric格式显示有问题,需要改用Customize格式。开始以为是因原因是Admin端的FormatMask默认是错的!N:Admin/选择某个数字类型的Item,右键,属性:可惜,客户端的报表不会自动更新成正确的,要么重新创建Workbook,要么删除数字Folder就如表或者视图,它们之间同样可以建立各种连接关系,这个在Admin中定verererSQLPlus的菜单View/SQLInspector查看。然而,通常我们都是一个Folder对应一个数据库View(可能很复杂),一个Workbook对应一个Folder,不希望使用Folder间的连接。原因如下:一对一,这样维护方便,可以放心的修改一个Folder报表的字段都在一个Folder中,如果用户要自己做点小调整也比较方便Discoverer的性能本来就不高,我们希望由我们自己控制连接条件会报InvalidFunction。EULOwner需要的数据库权限上面我们采用System用户创建新用户的办法来创建EUL,这样系统自动给该新用户授如果要用现有的用户创建EUL,比如让DBA建个用户给我们用,那么需要给用户授予如下权限,不然会报“不能给自己Grant或Revoke权限”:SELECT*FROMdba_sys_privsWHEREgrantee='DISADMIN'DISADMINALTERANYSNAPSHOTNODISADMINANALYZEANYNODISADMINCREATEANYSNAPSHOTNODISADMINCREATEPROCEDURENODISADMINCREATETABLENODISADMINCREATETYPENODISADMINCREATEVIEWNODISADMINDROPANYSNAPSHOTNODISADMINENQUEUEANYQUEUENODISADMINEXECUTEANYINDEXTYPENODISADMINEXECUTEANYLIBRARYNODISADMINEXECUTEANYOPERATORNODISADMINEXECUTEANYPROCEDURENODISADMINEXECUTEANYTYPENODISADMINEXTENDSANYTYPENODISADMINGLOBALQUERYREWRITEYESDISADMINSELECTANYSEQUENCENODISADMINSELECTANYTABLENODISADMINUNLIMITEDTABLESPACENO:SELECT*FROMdba_sys_privsWHEREgrantee='DISMFG'DISMFGANALYZEANYNODISMFGCREATEROLENODISMFGCREATEVIEWNODISMFGCREATETABLENODISMFGCREATESESSIONNODISMFGCREATESEQUENCENODISMFGCREATEPROCEDURENODISMFGDROPANYSNAPSHOTNODISMFGALTERANYSNAPSHOTNODISMFGCREATEANYSNAPSHOTNODISMFGGLOBALQUERYREWRITENO11.5.10AuthenticationMethod和ORA-01017EBS11.5.10默认的Authentication模式是SECURE,这样就需要Discoverer目录下有合法的DBC文件(OAF也是这样),否则打了前面讲的补丁也会报ORA-01017错误。处理办法之一就是更改AuthenticationMethod为Off:打开$APPL_TOP/admin/<SID>_<hostname>.xml,把里面的s_appserverid_authentication从SECURE改为OFF,adautocfg一下。gadautocfg其他彻底的解决办法就是升级Discoverer,详细的解决方法见Note:294260.1。这个一1.11.WebDiscoverer4i设置Arone.Zhang提供。修改文件[806_HOME]/discwb4/discwb.sh设置IP_ADDR="9"#原值为空修改<ORACLE_806_HOME>/discwb4/util/pref.txt中的DefaultUserTypeIsApps值为1//显示一个checkboxShowUserTypeChoice值为1//假设username是application的用户运行<ORACLE_806_HOME>/discwb4/util/applypreferences.sh使其生效重起discoverer服务./unregistercollector.sh./unregisterpreference.sh./unregistersession.sh./stopall.sh./stopgatekeeper.sh./startall.sh./startgatekeeper.sh./registerall.sh./applypreferences.sh./checkdiscoverer.sh在IBMAIX环境下运行Discoverer检查脚本$ORACLE_HOME/discwb4/util/checkdiscoverer.sh时报错:Unabletoinitializethreads:cannotfindclassjava/lang/ThreadCouldnotc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论