oracleerp报表开发开发培训教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

内部资料NO.ERP0002创建时间:2005-2-2820:31:00作者:lisr公司:KudonetPage1of28南京多茂科技发展有限公司OracleERP报表开发培训教程内部资料NO.ERP0002创建时间:2005-2-2820:31:00作者:lisr公司:KudonetPage2of28报表开发的总体步骤,及一些工具包的简单介绍……………………………………………………………………………………………….1Pl/sql语法及pl/sql函数、数组、记录、游标、视图、基表、临时表、异常…………………………………..4HTML技术和CSS修饰………………………………………………………………………………………………………………………………………………..10查找数据的方法及OracleApplication表命名的规律……………………………………………………………………………..11可执行、并发程序、请求组和值集的定义……………….…………………………………………………………………………………………….12一个报表开发的实例……………………………………………………………………………………………………………………………………………..…..15系统中部分表的介绍……………………………………………………………………………………………………………………………………………..…..21开发分页报表(套打)的步骤…………………………………………………………………………………………………………………………..…..22开发规范………………………………………………………………………………………………………………………………………………………………...…..24附:记录和数组使用范例…………………………………………………………………………………………………………………………………...…..28内部资料NO.ERP0002创建时间:2005-2-2820:31:00作者:lisr公司:KudonetPage3of28所谓报表开发就是按照用户的需求,根据用户提供的样表,运用编程的手段,从ERP系统中取出数据展现在页面上的一个理解需求、查找数据、展现结果的过程。目前开发报表的方法及工具有很多种,有专门针对报表需求定制的报表系统,通过对sql语句的改写能实现特别的报表需求,这样的系统有很强的针对性和限制性;还有运用报表开发工具根据用户需求临时开发报表,具有很强的灵活性和应用性。本文档只关注运用Oracle在DB中提供的一些开发工具包,及WEB技术开发报表的过程和方法。Oracle博大精深,如果在实际开发过程中遇到困难可以通过网上论坛和oracle网站获得技术帮助。根据实际的开发过程,本文档从以下几个方面来说明:一.报表开发的总体步骤,及一些工具包的简单介绍开发步骤1分析客户提供的样表2向客户或者顾问征询报表中每个值的意思,务必理解所需开发报表的意向3需要客户在ERP指明数据的取处4自己动手在测试环境中做一遍,梳理一下流程5清楚报表的参数是什么6以包的形式组织数据,在包里面实现各种功能7在ERP中定义可执行,从而使ERP和DB建立联系8在ERP中定义并发程序,定义了报表的输出文件的类型和参数9在相应的请求组中加入已定义好的并发程序名称工具包介绍1FND_PROFILERetrieveuserprofilevaluesforthecurrentrun-timeenvironmentSetuserprofilevaluesforthecurrentrun-timeenvironmentFnd_profile.value(‘ORG_ID’)取配置文件的值2DBMS_OUTPUTThispackageenablesyoutosendmessagesfromstoredprocedures,packages,andtriggersDbms_output.put_line在sqlwindow中输出结果3FND_GLOBALFnd_global.APPS_INITIALIZE(user_id,resp_id,resp_appl_id)模拟环境其中user_id,resp_id,resp_appl_id可以通过这种方法获得:帮助-诊断-检查,在块中选择$PROFILES,在字段选择USER_ID可以获得USER_ID,同样方法可以获得RESP_ID,RESP_APPL_ID(可能有时你需要在OracleApplications环境外运行一些PL/SQL语句,但是这些语句中需要访问系统相关的环境变量,例如view,这样你可以使用上述方法达到你的目的)Fnd_global.User_name得到当前用户的名称Fnd_global.User_id得到当前用户的id4UTL_FILETheUTL_FILEpackageletsyourPL/SQLprogramsreadandwriteoperatingsystem(OS)textfiles.ItprovidesarestrictedversionofstandardOSstreamfileinput/output(I/O).ThefileI/OcapabilitiesaresimilartothoseofthestandardoperatingsystemstreamfileI/O(OPEN,GET,PUT,CLOSE),withsomelimitations.Forexample,calltheFOPENfunctiontoreturnafilehandle,whichyouthenuseinsubsequentcallstoGET_LINEorPUTtoperformstreamI/Otoafile.WhenyouaredoneperformingI/Oonthefile,callFCLOSEtocompleteanyoutputandtofreeanyresourcesassociatedwiththefile.UTL_FILE.FILE_TYPE定义文件指针utl_file.fopen(dir,name,mode)Opensafileforinputoroutputwiththedefaultlinesize内部资料NO.ERP0002创建时间:2005-2-2820:31:00作者:lisr公司:KudonetPage4of28utl_file.put_line(,)Writesalinetoafile向文件中写数据utl_file.fclose_allClosesallopenfilehandles关闭所有已打开的文件指针5FJ_FUNC客户化的函数包,定义了一些在实际开发过程中用到一些方法和变量在实际开发过程中,如果需要一些方法时可以在这个包中查找,如果通用性比较强的过程也可以加到这个包里详细可以参阅这个包6FJ_OUTPUT客户化的报表格式生成包,封装了html语法详细可以参阅这个包二.Pl/sql语法及pl/sql函数、数组、记录、游标、视图、基表、临时表、异常、Pl/sql基本元素的使用SelectTheSELECTstatementallowsyoutoretrieverecordsfromoneormoretablesinyourdatabase.ThesyntaxfortheSELECTstatementis:SELECTcolumnsFROMtablesWHEREpredicatesDistinctTheDISTINCTclauseallowsyoutoremoveduplicatesfromtheresultset.TheDISTINCTclausecanonlybeusedwithselectstatementsThesyntaxfortheDISTINCTclauseis:SELECTDISTINCTcolumnsFROMtablesWHEREpredicatesEXISTSTheEXISTSconditionisconsideredtobemetifthesubqueryreturnsatleastonerowTheEXISTSconditioncanbeusedinanyvalidSQLstatement-select,insert,update,ordelete.Example#1ThefollowingisanSQLstatementthatusestheEXISTScondition:SELECT*FROMsuppliersWHEREEXISTS(select*fromorderswheresuppliers.supplier_id=orders.supplier_id);Thisselectstatementwillreturnallrecordsfromthesupplierstablewherethereisatleastonerecordintheorderstableiththesamesupplier_id.Example#2-NOTEXISTSTheEXISTSconditioncanalsobecombinedwiththeNOToperator.Forexample,SELECT*FROMsuppliersWHEREnotexists(select*fromordersWheresuppliers.supplier_id=orders.supplier_id);Thiswillreturnallrecordsfromthesupplierstablewheretherearenorecordsintheorderstableforthegivensupplier_idInTheINfunctionhelpsreducetheneedtousemultipleORconditionsTheINfunctioncanbeusedinanyvalidSQLstatement-select,insert,update,ordelete.Example#1ThefollowingisanSQLstatementthatusestheINfunction:内部资料NO.ERP0002创建时间:2005-2-2820:31:00作者:lisr公司:KudonetPage5of28SELECT*FROMsupplierWHEREsupplier_namein('IBM','HewlettPackard','Microsoft');Thiswouldreturnallrowswherethesupplier_nameiseitherIBM,HewlettPackard,orMicrosoft.Becausethe*isusedintheselect,allfieldsfromthesuppliertablewouldappearintheresultset.Example#2NOTINTheINfunctioncanalsobecombinedwiththeNOToperator.Forexample,SELECT*FROMsupplierWHEREsupplier_namenotin('IBM','HewlettPackard','Microsoft');Thiswouldreturnallrowswherethesupplier_nameisneitherIBM,HewlettPackard,orMicrosoft.Sometimes,itismoreefficienttolistthevaluesthatyoudonotwant,asopposedtothevaluesthatyoudowant.LikeTheLIKEconditionallowsyoutousewildcardsinthewhereclauseofanSQLstatement.Thisallowsyoutoperformpatternmatching.TheLIKEcond

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功