ERP开发培训ppt课件_第1页
ERP开发培训ppt课件_第2页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、ERP开发技术培训培训顾问:刘天来.我们的目的想让我们看到什么、怎样去看我们看到的怎样去用我们怎样去开发怎样样处理问题掌握数据流而反掌握业务流程.主 要 内 容ERP客户化开发的内容和工具ERP客户化开发的架构概述开发规范SQL言语FORM开发技术PLSQLDev开发技术心得领会.ERP客户化开发的内容和工具内容:包含了前台显示的FORM、后台恳求。其中恳求包含了: PKG、PROCEDURE、FUNCTION、SQL*PLUS。FORM:它是开发可视化界面,开发前台处置界面,如:数据维护 、方案输入、指示产生等等。PLSQLDEV:它是一种后台处置工具,主要是操作数据库和开 发、 PKG、P

2、ROCEDURE、FUNCTION、 SQL*PLUS , 如报表、后台恳求处置等等。其中地数据库操作语 言都是规范的SQL。.ERP客户化开发的构架概述FROM 开发是基于B/S构造,分为客户端、运用效力器、数据库效力器。它们的关系如以下图。开发人员需求把开发的FORM上传到运用效力器指定的目录里,经过TELNET远程编译,才干生效运用。目前我们开发环境的目录为:/u03/dev/appdev/devappl/xxmfg/11.5.0/forms/ZHS在开发FORM过程需求本地编译检查错误,那么FORM就只需求衔接数据库就行了。 PLSQL开发是基于数据库的开发,因此只需衔接数据库,直接在

3、数据库服务器上开发。 数据库效力器.开发 规范 ERP是一个融入先进管理理念的企业级系统,可它毕竟是一个计算机软件系统,一样存在客户化、维护、晋级。为了在客户化过程中能团队开发、程序易读可维护、好管理可晋级,必需有一套可行的开发规范。经过公司开发人员几年实施ERP的心得,我们得出了具有长安特征的ERP开发规范,见附件。.SQL言语DML语句:SelectInsertUpdateDeleteDDL语句:CREATEALTERMODIFYDROP事务处置语句:COMMITROLLBACK.SELECTSELECT语句主要用于查询、显示、跟踪、分析数据,获得数据制定报表,它的格式: Select c

4、ol sum(col) from table/view where condition group by col having condition order by asc/desc例如:.SELECT例子 select t.attribute2,count(t.attribute2),sum(t.quantity) from rcv_transactions t where anization_id=176 and t.attribute2 is not null group by t.po_header_id,t.attribute2 having count(t.attribu

5、te2)1 .INSERTINSERT语句主要用于向一个表里添加数据,它的格式: insert into table(col) values(value) 或insert into table(col) select语句 例如: .INSERT例子 客户Example1: insert into hb_exp_emp(emp_id,emp_name,dep_id,salary)values(hb_exp_emp_s.nextval,刘天来,10,2500)Example2: insert into hb_exp_empselect *from hb_exp_emp_copy .UPDATE 客

6、户UPDATE语句主要用于更新一个表的数据,它的格式: update table set col=value where condition .UPDATE例子 客户Example: update hb_exp_emp set dep_id=20 where dep_id=10 .DELETEDELETE语句主要用于删除一个表得数据,它的格式: delete from table where condition .DELETE例子Example: delete from hb_exp_emp where dep_id=20 .CREATECREATE语句主要用于创建数据库对象,它的格式: cr

7、eate table name(col datatype, ) tablespace TABLESPACE -XXMFGD storage ( ); alter table XXMFG.HB_EXP_EMP add constraint HB_EXP_EMP_U1 primary key (EMP_ID); create view name as select 语句; .CREATEcreate view name as select 语句; create synonym name for ; create sequence name minvalue value ma

8、xvalue value start with value increment by value nocache cycle;.CREATE例子Example1:create table HB_EXP_EM( EMP_ID NUMBER not null, EMP_NMAE VARCHAR2(80), DEP_ID NUMBER, SALARY NUMBER) tablespace XXMFGD pctfree 10 pctused 40 initrans 1 maxtrans 255 storage (initial 64K minextents 1 maxextents unlimited

9、);alter table HB_EXP_EMP add constraint HB_EXP_EMP_U1 primary key (EMP_ID); .CREATE例子Example2:create or replace view HB_EXP_EMp_v as select t.emp_name,t.salary from hb_exp_emp t;Example3: create synonym hb_exp_emp for xxmfg.hb_exp_emp;Example4: create sequence XXMFG.HB_EXP_EMP_Sminvalue 1maxvalue 99

10、9999start with 227021increment by 1nocachecycle;.DROPDORP语句主要用于删除数据库对象,它的格式: drop table/view/synonym/ sequence name .DROP例子Example: drop table hb_exp_emp .事务处置语句Transaction control:commit /rollback; Example:银行转帐begin:account1 2000 -account2 3000 | | 2000-1000 3000 | |( rollback) 1000 3000+1000 | | 1

11、000 4000 (commit/rollback) .FROM开发技术 FROM(表单)的开发是可视化开发,其主要内容:衔接数据库Windows(窗口)Canvas(画布)Block(数据块)Item(数据项)Trigger(触发器)Lovs(下拉列表选值)FORM例子上传编译,定义表单、功能、菜单.衔接数据库配置数据库衔接别名:查询form的home目录。找到设置衔接文件ORACLE_HOMEnet80admintnsnames.txt。输入设置值:DEV = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =

12、 3)(PORT = 1524) ) (CONNECT_DATA = (SERVICE_NAME = DEV) ) )4.衔接格式:apps/passworddev.WINDOWS它是一个组件容器,表单的入口处,一个FORM里必需至少有一个WINDOW,一个WINDOW至少要关联一个CANVAS。它的属性主要是限定FORM界面的大小、显示位置、提示信息等等。 .CANVAS它是也一个组件容器,它装载一切ITEM物理属性,一个FORM里必需至少有一个CANVAS,它必需关联一个WINDOWS,它和WINDOWS一同成为FORM真正的显示界面。 .BLOCKBlock(数据块)主要

13、用于衔接数据对象和装载item,一个block只能衔接一个数据对象,数据对象要操作的数据列赋值给item,其中衔接view的 block普通只能显示,假设要做添加、更新、删除动作,那么要写block级trigger。Block的属性主要是设置数据操作和显示属性.ITEMItem(数据项)包含了一切详细的操作组件,如:button、text、list等等,这些组件承继了不同的类。它必需包含在一个canvas和一个block里。.TRIGGERTrigger(触发器)就是事务触发器,它是指在什么情况想干什么,如:在text输入完数量后,想验证数量能否超出规定数量,那就需求在此text加上when_

14、validate_item触发器: if :text规定数量 then 报警处置; end if; trigger分为form级、block级、item级。 Form级trigger是对整个form控制,如:PRE_FORM触发器 FND_STANDARD.FORM_INFO($Revision: 115.11$, XXINF502, XXMFG, $Date: 2005/03/08 17:20$, $Author: 邓世杰$); app_standard.event(PRE-FORM); app_window.set_window_position(XXINF502, FIRST_WINDO

15、W); FND_ORG.CHOOSE_ORG; .TRIGGERblock级trigger只对数据对象控制,如:WHEN-NEW-BLOCK-INSTANCE触发器IF :XXINF502_MAIN.SOURCE_TYPE = PO THENSET_ITEM_PROPERTY(WIP_SEGMENT, UPDATE_ALLOWED, PROPERTY_FALSE);SET_ITEM_PROPERTY(CLASS_CODE_T, UPDATE_ALLOWED, PROPERTY_FALSE);ELSIF :XXINF502_MAIN.SOURCE_TYPE = WIP THENSET_ITEM_

16、PROPERTY(PO_SEGMENT_T, UPDATE_ALLOWED, PROPERTY_FALSE);ELSIF :XXINF502_MAIN.SOURCE_TYPE = MANUAL THENSET_ITEM_PROPERTY(PO_SEGMENT_T, UPDATE_ALLOWED, PROPERTY_FALSE);SET_ITEM_PROPERTY(WIP_SEGMENT, UPDATE_ALLOWED, PROPERTY_FALSE);SET_ITEM_PROPERTY(CLASS_CODE_T, UPDATE_ALLOWED, PROPERTY_FALSE);END IF;.

17、TRIGGERitem级只对数据项控制,如:WHEN-VALIDATE-ITEM触发器IF :QUERY.CARD_NUMBER IS NOT NULL THENBEGIN SELECT t.card_id into :QUERY.CARD_ID FROM XXINV_MATERIAL_CARDS T WHERE T.CARD_NUMBER=:QUERY.CARD_NUMBER;EXCEPTION WHEN NO_DATA_FOUND THEN FND_MESSAGE.DEBUG(物料卡不正确,请输入正确的物料卡!); return; end ;end if; .LOVSLOVS(列表选择值)

18、:它不同list,list值都是人为输入的固定值,而lovs它的列表值来源于数据库的数据对象,用select语句获得,它是动态的值。它的前往值必需前往给item。如: Select pha.segment1,pha.po_header_id From po_headers_all pha where pha.type_lookup_code in (BLANKET,STANDARD).程序单元可以在form内部调用的一些程序,它包含:PKG、PROCEDUER、FUNCTION. .DB LinksOracle DB数据仓库开发FORM例子 1、翻开form模版。途径ORACLE_HOMEFO

19、RMS60TEMPLATE.fmb。2、新增windows 其属性设置:称号为W_TEST,属性类为WINDOW3、新增canvas其属性设置:称号为C_TEST,属性类为CANVAS,窗口为W_TEST。4、新增手工block其属性设置:称号为B_TEST,属性类为BLOCK,显示的记录数为15。5、根据数据块导游衔接数据对象,并选择要取的数据,同时自动新增ITEM。6、设置ITEM属性:属性类为TEXT_ITEM,画布为C_TEST。7、新增手工block其属性设置:称号为OPERATION,属性类为BLOCK,显示的记录数为1。8、新增ITEM其属性设置:称号为PUSH_TEST,项类型

20、为按钮,属性类为BUTTON,画布为C_TEST。9、添加参数:ORG_ID为数据型、长度为5,ORG_CODE为字符型、长度为40,ORG_NAME为字符型、长度为80。 .DB LinksOracle DB数据仓库开发FORM例子 10、写form的PRE-FORM触发器: FND_STANDARD.FORM_INFO($Revision: 115.11$, XXINF502, XXMFG, $Date: 2005/03/09 17:20$, $Author: 信息中心 刘天来$); app_standard.event(PRE-FORM); app_window.set_window_p

21、osition(XXINF001_TEST, FIRST_WINDOW); FND_ORG.CHOOSE_ORG;11、写form的WHEN-NEW-FORM-INSTANCE触发器 APP_STANDARD.EVENT(WHEN-NEW-FORM-INSTANCE); APP_WINDOW.SET_TITLE(W_TEST,:PARAMETER.ORG_code); .DB LinksOracle DB数据仓库开发FORM例子 12、修正程序单元里的APP_CUSTOM*包体 if (wnd = ) then app_window.close_first_window; elsif (wnd

22、 = ) then -defer relations -close related windows null; elsif (wnd = ) then -defer relations -close related null; end if; 改为: if wnd = W_TEST then app_window.close_first_window; end if;13、在按钮 PUSH_TEST 的WHEN-BUTTON-PRESSED触发器里: go_block(B_TEST); execute_query; .DB LinksOracle DB数据仓库上传编译,定义表单、功能、菜单 上

23、传IP:用户/密码:appdev/appdev88上传目录:/u03/dev/appdev/devappl/xxmfg/11.5.0/forms/ZHStelnet ip:用户/密码:appdev/appdev88编译目录:/u03/dev/appdev/devappl/xxmfg/11.5.0/forms/ZHS编译命令:ft name(f60gen apps/password module=name)定义表单、功能、菜单: 表单功能菜单 .PLSQLDEV开发技术PROCEDUREFUNCTIONPKG编写reports定义后台恳求FORM调用恳求.PROC

24、EDUREProcedure格式:CREATE OR REPLACE PROCEDURE name (parameter name out datatype, parameter name in datatype, ) is variable datatype; Begin 操作;End name;例如: .PROCEDURE例子Create or replace procedure first (p_display out number, p_organization_id in number, p_material_card in varchar2) is x_transaction_ty

25、pe varchar2(80):=RECEIVE;Create or replace procedure firstBegin select sum(transaction_quantity) into p_display from rcv_transactions t where aniztion_id= p_organization_id and t.attribute2= p_material_card and t.transaction_type= x_transaction_type ;End first; .FUNCTIONFUNCTION格式:CREATE OR REPLACE FUNCTION fun_name( p_id NUMBER, p_unit VARCHAR2, p_name VARCHAR2) RET

温馨提示

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

评论

0/150

提交评论