Oracle ERP 技术架构全览(PPT).ppt
,1,目 录,Oracle ERP系统开发工具及开发过程,3,开放式接口/应用编程接口(API),5,如何在系统中注册表单,4,如何在系统中注册报表,6,其它,2,Oracle ERP系统结构,1.三层逻辑体系结构,User Interface,Application logic,Database logic,客户端,应用服务器,数据库服务器,客户端,Use a web browserNetscapeInternet ExplorerOn WindowsMacintoshTo displayJavaHTML,应用服务器层,Application Server 9i 1.0.2.2.2,数据库服务器层:,8i9i9iR2,StoredProcedures,PL/SQL 运行原理,应用服务器,数据库服务器,WebApplicationsDictionary,Listener,Data,Browser,PL/SQLGateway,客户端,Workflow,Java code downloaded as neededApplet cached on client,Forms Network Traffic,Browser running Forms java applet,Data Server,Forms Server,系统灵活性,历史记录和诊断、检查用户可以看到当前记录来源于哪个表(视图)、哪个字段和最后一查询的SQL语句等其它的信息。这对客户化开发有极大的帮助。Custom.pll开发人员只需客户化此文件,而不需要修改Oracle 的标准程序来达到客户化的目的。用户自已在FORM中定义字段,来保存其它的附加信息。弹性域用户自已在FORM中定义字段,来保存其它的附加信息。,附件对每一记录能附上文件、文本信息或Web Page的大容量信息.修改Forms 界面的文件功能或Show隐藏字段用户能显示自已想要显示的字段,并能调整顺序Export用户能用export功能从Form 中export数据到文件中。通常用来转换到Excel文件中。,2.Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow(See Following)-PL/SQL-FSG(Financial Statement Generator),Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow-PL/SQL-FSG(Financial Statement Generator),实例:,3.如何在系统中注册表单编译表单登记表单注册功能挂上菜单(子菜单-菜单)分配菜单到职责分配职责到用户,Compiler Forms,.fmb文件上传到ServerTelnet 连接到Server,Login In切换到$AU_TOP/forms/US,Compiler Form,4.Compiler Form,f60gen apps/f60gen Module=BD_TEST.fmb userid=apps/apps output_file=/u21/oracle/visappl/po/11.5.0/forms/US/BD_TEST.fmx,Compiler Form,4.Compiler Form,f60gen apps/,Compiler Form,5.Compiler 成功,Create.fmx 文件,用户权限控制结构,1,2,3,4,5,2、登记表单,3、注册功能,4.1、挂上菜单(子菜单),4.2、挂上菜单(子系统菜单),4.3、挂上菜单(系统菜单),5、分配菜单到职责,6、分配职责到用户,客户化表单的界面,表单的数据来源(数据表),表单的数据来源(字段),Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow-PL/SQL-FSG(Financial Statement Generator),4.如何在系统中注册报表注册可执行并发程序注册并发程序挂上请求组,1、注册可执行并发程序,2、注册并发程序,3、挂上请求组,运行报表,报表结果,Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow-PL/SQL-FSG(Financial Statement Generator),Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow(See Following)-PL/SQL-FSG(Financial Statement Generator),Workflow:,系统中的Workflow:,Oracle 开发工具及开发过程-Form(See AVI File)-Report(See AVI File)-Discoverer(See AVI File)-Workflow(See Following)-PL/SQL-FSG(Financial Statement Generator),5.Oracle 开放式接口/应用编程接口(API),开放式接口、应用编程接口(API)原理,Excel File,Table,Open Interface Table,Package API,Build in Process,Oracle ERP,Oracle ERP系统,系统接口数据表和应用编程接口(API)程序,6.Oracle使用的其它相关工具-ADI(Application Desktop Integrator)-Dataload()-Sql loader-Fndload-Toad-SQL Developer-etc,Oracle 数据字典,全部数据字典在如下三个组-DBA_OBJECTS-DBA_TABLES-DBA_VIEWS-ALL_OBJECTS-ALL_TABLES-ALL_VIEWS-USER_OBJECTS-USER_TABLES-USER_VIEWS系统登录用户 由系统来定义、分配和控制数据库用户只用 APPS,Oracle 系统命名的标准规则,Oracle 系统 数据库触发器,CREATE OR REPLACE TRIGGER ar_customer_profiles_bru/*$Header:arplt26.sql 70.4 96/10/29 15:04:58 porting ship$*/BEFORE UPDATE ON AR.AR_CUSTOMER_PROFILESFOR EACH ROWDECLARE CreditHold varchar2(1):=null;RiskCode varchar2(30):=null;CreditRating varchar2(30):=null;ChangesMade varchar2(1):=N;BEGIN IF(:new.credit_hold!=:old.credit_hold)OR(:new.credit_hold is null and:old.credit_hold is not null)OR(:new.credit_hold is not null and:old.credit_hold is null)THEN CreditHold:=:old.credit_hold;/*IF FIELD VALUE OF credit_hold IS CHANGED THEN SET*/*THE VALUE OF THIS VARIABLE TO Y*/ChangesMade:=Y;END IF;IF(:new.risk_code!=:old.risk_code)OR(:new.risk_code is null and:old.risk_code is not null)OR(:new.risk_code is not null and:old.risk_code is null)THEN RiskCode:=:old.risk_code;ChangesMade:=Y;END IF;,IF(:new.credit_rating!=:old.credit_rating)OR(:new.credit_rating is null and:old.credit_rating is not null)OR(:new.credit_rating is not null and:old.credit_rating is null)THEN CreditRating:=:old.credit_rating;ChangesMade:=Y;END IF;IF ChangesMade=Y THEN INSERT INTO ar_credit_histories(credit_history_id,last_updated_by,last_update_date,created_by,creation_date,customer_id,on_hold,hold_date,credit_rating,risk_code,site_use_id)VALUES(ar_credit_histories_s.nextval,:old.last_updated_by,:old.last_update_date,:old.last_updated_by,:old.last_update_date,:old.customer_id,CreditHold,decode(CreditHold,Y,:old.last_update_date,null),CreditRating,RiskCode,:old.site_use_id);END IF;END;,Oracle Application Stored Procedure,Client,Server,Oracle,S1S2S3S4,S1S2S3S4,Oracle,Abc(S1,S2,S3,S4),Abc,Q&A,