




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ERP开发技术培训 培训顾问 刘天来 1 我们的目标 想让我们看到什么 怎么去看我们看到的怎么去用我们怎么去开发怎么样解决问题掌握数据流而反掌握业务流程 2 主要内容 ERP客户化开发的内容和工具ERP客户化开发的架构概述开发标准SQL语言FORM开发技术PLSQLDev开发技术心得体会 3 ERP客户化开发的内容和工具 内容 包含了前台显示的FORM 后台请求 其中请求包含了 PKG PROCEDURE FUNCTION SQL PLUS FORM 它是开发可视化界面 开发前台处理界面 如 数据维护 计划输入 指示产生等等 PLSQLDEV 它是一种后台处理工具 主要是操作数据库和开发 PKG PROCEDURE FUNCTION SQL PLUS 如报表 后台请求处理等等 其中地数据库操作语言都是标准的SQL 4 ERP客户化开发的构架概述 FROM开发是基于B S结构 分为客户端 应用服务器 数据库服务器 它们的关系如下图 开发人员需要把开发的FORM上传到应用服务器指定的目录里 通过TELNET远程编译 才能生效使用 目前我们开发环境的目录为 u03 dev appdev devappl xxmfg 11 5 0 forms ZHS在开发FORM过程需要本地编译检查错误 则FORM就只需要连接数据库就行了 PLSQL开发是基于数据库的开发 因此只需连接数据库 直接在数据库服务器上开发 5 开发标准 ERP是一个融入先进管理理念的企业级系统 可它毕竟是一个计算机软件系统 一样存在客户化 维护 升级 为了在客户化过程中能团队开发 程序易读可维护 好管理可升级 必须有一套可行的开发标准 经过公司开发人员几年实施ERP的心得 我们得出了具有长安特色的ERP开发标准 见附件 6 SQL语言 DML语句 SelectInsertUpdateDeleteDDL语句 CREATEALTERMODIFYDROP事务处理语句 COMMITROLLBACK 7 SELECT SELECT语句主要用于查询 显示 跟踪 分析数据 取得数据制定报表 它的格式 Selectcolsum col fromtable viewwhereconditiongroupbycolhavingconditionorderbyasc desc例如 8 SELECT例子 selectt attribute2 count t attribute2 sum t quantity fromrcv transactionstwheret organization id 176andt attribute2isnotnullgroupbyt po header id t attribute2havingcount t attribute2 1 9 INSERT INSERT语句主要用于向一个表里添加数据 它的格式 insertintotable col values value 或insertintotable col select语句例如 10 INSERT例子 客户 Example1 insertintohb exp emp emp id emp name dep id salary values hb exp emp s nextval 刘天来 10 2500 Example2 insertintohb exp empselect fromhb exp emp copy 11 UPDATE 客户 UPDATE语句主要用于更新一个表的数据 它的格式 updatetablesetcol valuewherecondition 12 UPDATE例子 客户 Example updatehb exp empsetdep id 20wheredep id 10 13 DELETE DELETE语句主要用于删除一个表得数据 它的格式 deletefromtablewherecondition 14 DELETE例子 Example deletefromhb exp empwheredep id 20 15 CREATE CREATE语句主要用于创建数据库对象 它的格式 createtablename coldatatype tablespaceTABLESPACE XXMFGD storage altertableXXMFG HB EXP EMPaddconstraintHB EXP EMP U1primarykey EMP ID createviewnameasselect语句 16 CREATE createviewnameasselect语句 createsynonymnameforschema name createsequencenameminvaluevaluemaxvaluevaluestartwithvalueincrementbyvaluenocachecycle 17 CREATE例子 Example1 createtableHB EXP EM EMP IDNUMBERnotnull EMP NMAEVARCHAR2 80 DEP IDNUMBER SALARYNUMBER tablespaceXXMFGDpctfree10pctused40initrans1maxtrans255storage initial64Kminextents1maxextentsunlimited altertableHB EXP EMPaddconstraintHB EXP EMP U1primarykey EMP ID 18 CREATE例子 Example2 createorreplaceviewHB EXP EMp vasselectt emp name t salaryfromhb exp empt Example3 createsynonymhb exp empforxxmfg hb exp emp Example4 createsequenceXXMFG HB EXP EMP Sminvalue1maxvalue999999startwith227021incrementby1nocachecycle 19 DROP DORP语句主要用于删除数据库对象 它的格式 droptable view synonym sequencename 20 DROP例子 Example droptablehb exp emp 21 事务处理语句 Transactioncontrol commit rollback Example 银行转帐begin account12000 account23000 2000 10003000 rollback 10003000 1000 10004000 commit rollback 22 FROM开发技术 FROM 表单 的开发是可视化开发 其主要内容 连接数据库Windows 窗口 Canvas 画布 Block 数据块 Item 数据项 Trigger 触发器 Lovs 下拉列表选值 FORM例子上传编译 定义表单 功能 菜单 23 连接数据库 配置数据库连接别名 查询form的home目录 找到设置连接文件ORACLE HOME net80 admin tnsnames txt 输入设置值 DEV DESCRIPTION ADDRESS LIST ADDRESS PROTOCOL TCP HOST 10 0 2 13 PORT 1524 CONNECT DATA SERVICE NAME DEV 4 连接格式 apps password dev 24 WINDOWS 它是一个组件容器 表单的入口处 一个FORM里必须至少有一个WINDOW 一个WINDOW至少要关联一个CANVAS 它的属性主要是限定FORM界面的大小 显示位置 提示信息等等 25 CANVAS 它是也一个组件容器 它装载所有ITEM物理属性 一个FORM里必须至少有一个CANVAS 它必须关联一个WINDOWS 它和WINDOWS一起成为FORM真正的显示界面 26 BLOCK Block 数据块 主要用于连接数据对象和装载item 一个block只能连接一个数据对象 数据对象要操作的数据列赋值给item 其中连接view的block一般只能显示 若要做添加 更新 删除动作 则要写block级trigger Block的属性主要是设置数据操作和显示属性 27 ITEM Item 数据项 包含了所有具体的操作组件 如 button text list等等 这些组件继承了不同的类 它必须包含在一个canvas和一个block里 28 TRIGGER Trigger 触发器 就是事务触发器 它是指在什么情况想干什么 如 在text输入完数量后 想验证数量是否超出规定数量 那就需要在此text加上when validate item触发器 if text 规定数量then报警处理 endif trigger分为form级 block级 item级 Form级trigger是对整个form控制 如 PRE FORM触发器FND STANDARD FORM INFO Revision 115 11 XXINF502 XXMFG Date 2005 03 0817 20 Author 邓世杰 app standard event PRE FORM app window set window position XXINF502 FIRST WINDOW FND ORG CHOOSE ORG 29 TRIGGER block级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 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 ENDIF 30 TRIGGER item级只对数据项控制 如 WHEN VALIDATE ITEM触发器IF QUERY CARD NUMBERISNOTNULLTHENBEGINSELECTt card idinto QUERY CARD IDFROMXXINV MATERIAL CARDSTWHERET CARD NUMBER QUERY CARD NUMBER EXCEPTIONWHENNO DATA FOUNDTHENFND MESSAGE DEBUG 物料卡不正确 请输入正确的物料卡 return end endif 31 LOVS LOVS 列表选择值 它不同list list值都是人为输入的固定值 而lovs它的列表值来源于数据库的数据对象 用select语句取得 它是动态的值 它的返回值必须返回给item 如 Selectpha segment1 pha po header idFrompo headers allphawherepha type lookup codein BLANKET STANDARD 32 程序单元 可以在form内部调用的一些程序 它包含 PKG PROCEDUER FUNCTION 33 DBLinks OracleDB数据仓库 开发FORM例子 o K 1 打开form模版 路径ORACLE HOME FORMS60 TEMPLATE 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 项类型为按钮 属性类为BUTTON 画布为C TEST 9 添加参数 ORG ID为数据型 长度为5 ORG CODE为字符型 长度为40 ORG NAME为字符型 长度为80 34 DBLinks OracleDB数据仓库 开发FORM例子 o K 10 写form的PRE FORM触发器 FND STANDARD FORM INFO Revision 115 11 XXINF502 XXMFG Date 2005 03 0917 20 Author 信息中心刘天来 app standard event PRE FORM app window set window position 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 35 DBLinks OracleDB数据仓库 开发FORM例子 o K 12 修改程序单元里的APP CUSTOM 包体if wnd thenapp window close first window elsif wnd then deferrelations closerelatedwindowsnull elsif wnd then deferrelations closerelatednull endif 改为 ifwnd W TEST thenapp window close first window endif 13 在按钮 PUSH TEST 的WHEN BUTTON PRESSED触发器里 go block B TEST execute query 36 DBLinks OracleDB数据仓库 上传编译 定义表单 功能 菜单 o K 上传IP 10 0 2 5用户 密码 appdev appdev88上传目录 u03 dev appdev devappl xxmfg 11 5 0 forms ZHStelnetip 10 0 2 5用户 密码 appdev appdev88编译目录 u03 dev appdev devappl xxmfg 11 5 0 forms ZHS编译命令 ftname f60genapps passwordmodule name 定义表单 功能 菜单 表单 功能 菜单 37 PLSQLDEV开发技术 PROCEDUREFUNCTIONPKG编写reports定义后台请求FORM调用请求 38 PROCEDURE Procedure格式 CREATEORREPLACEPROCEDUREname parameternameoutdatatype parameternameindatatype isvariabledatatype Begin操作 Endname 例如 39 PROCEDURE例子 Createorreplaceprocedurefirst p displayoutnumber p organization idinnumber p material cardinvarchar2 isx transaction typevarchar2 80 RECEIVE CreateorreplaceprocedurefirstBeginselectsum transaction quantity intop displayfromrcv transactionstwheret organiztion id p organization idandt attribute2 p material cardandt transaction type x transaction type Endfirst 40 FUNCTION FUNCTION格式 CREATEORREPLACEFUNCTIONfun name p idNUMBER p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个体化治疗与神经保护-洞察及研究
- 老年教育需求增长与老年教育师资队伍建设研究报告
- 项目管理视角下施工现场沟通技巧
- 宁夏短期用工劳动合同范文
- 稀土阻尼材料优化-洞察及研究
- 高中物理选修课知识点及习题解析
- 大型购物中心市场定位与运营管理案例研究
- 生物活性成分分离-洞察及研究
- 项目经理批评与自我批评会议方案设计
- 政务服务流程优化与标准化
- 土壤学-土壤矿物质
- DL-T-5161.17-2018电气装置安装工程质量检验及评定规程第17部分:电气照明装置施工质量检验
- 2022年国防军工计量检定人员考试附有答案
- 【小学低年级学生课堂行为问题与对策探究-以N实验小学为例10000字(论文)】
- 2024年河北石家庄市体育局选聘事业单位体育专业人才11人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 玉溪实验中学初一招生考试数学试卷答案
- 30题解决方案工程师岗位常见面试问题含HR问题考察点及参考回答
- 《海上风电场工程测量规程》(NB-T 10104-2018)
- 云计算技术的分布式计算技术
- 设备技改方案范文
- 2024年石油石化技能考试-甲醇装置操作工笔试历年真题荟萃含答案
评论
0/150
提交评论