




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORACLE ERP学习笔记系统配置1.Forms6i系统配置 在按装好Forms6i后需要在D:orantNET80ADMIN TNSNAMES.ORA文件中加 DEVP= (DESCRIPTION= (ADDRESS= (PROTOCOL=tcp) (HOST=)/主机域名 (PORT=1523)/端口 (CONNECT_DATA= (SID=DEVP)数据库名 ) ) devp= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = ) (PROTOCOL = TCP) (Host = 55) (Port = 1523) ) ) (CONNECT_DATA = (SID = DEVP) ) ) 在 Regedit HKEY_LOCAL_MACHINE SOFTWARE ORACLE FORMS60_PATH 加入client 端存放 Form 及 Library的路径(如图)例如:d:ErpFormLibrary;d:ErpFormForm(建议要加在最前面 )-fnd_request.submit_request调用系统内部请求用法注意:-在Package里面调用只需要传递需要的参数个数,因为它有默认值指示结束;-在form里面则不行,要写满105个,而且我们参数结束之后要用一个chr(0)来表示结束-默认值是chr(0),代表这个参数不用传递给调用的请求; reqid:=fnd_request.submit_request(CUX-应用产品,可以在Applicaation里的System Administrator - Application - Register里面查到 ,CUXVDSITEDUP-应用程序(请求名称) ,NULL-请求说明(可选) ,NULL-RUN时间(可选) ,FALSE-是否立刻提交请求(BOOLEAN) ,l_org_id-参数1(报表中的参数) ,:VENDOR_SITE.VENDOR_ID-参数2 , :VENDOR_SITE.VENDOR_SITE_ID-参数3 ,:VENDOR_SITE.TEXT_VENDOR_SITE-参数4 ,:VENDOR_SITE.TEXT_OU_FROM-参数5 ,:VENDOR_SITE.TEXT_OU_TO,-参数6 chr(0),-用一个chr(0)来表示参数结束 , , , , , , , , ,);IF (reqid = 0 ) THEN-返回0表示请求失败 fnd_message.set_name(FND, CONC-REQUEST SUBMISSION FAILED); fnd_message.error; ELSE commit; fnd_message.set_name(SQLGL, GL_REQUEST_SUBMITTED);-SQLGL总帐管理系统,显示请求号,借用“总帐管理系统”请求 fnd_message.set_token(REQUEST_ID, to_char(reqid), FALSE);-用值替换message的信息中的变量 fnd_message.show; END IF;Oracle EBS 各模块中文名称及英文缩写 财务系统模块:Oracle 总帐管理(GL)Oracle 应付帐管理(AP)Oracle 固定资产管理(FA)Oracle 应收帐管理(AR)Oracle 现金管理(CE)Oracle 项目会计(PA)Oracle 财务分析(OFA)分销系统模块:Oracle 库存管理(INV)Oracle 采购管理(PO)Oracle 销售定单管理(OE)Oracle 销售&采购(OPM)Oracle 销售&市场管理(SM)Oracle 销售补偿管理(SC)Oracle 售后服务管理(SR)Oracle 销售分析(OSA)制造系统模块:Oracle 计划管理(MPS/MRP)Oracle 能力计划管理(CAP)Oracle 制造数据管理(BOM)物料清单Oracle 车间生产管理(WIP)Oracle 成本管理(CST)Oracle 项目制造(PJM)Oracle 质量管理(QM)其他系统模块:Oracle 设备管理(EM)Oracle 人事管理(HR)Oracle 薪金管理(PAYROLL)Oracle 系统管理(SYSTEM ADMIN)Oracle 预警(ALT)Oracle 多维数据分析/商业智能系统 (OLAP/BIS)Oracle 桌面集成(ADI)序号中文名称英文全名英文简写分销系统模块1库存管理InventoryINV2采购管理PurchasingPO3销售管理Order ManagementOM制造系统模块4物料清单管理Bill of MaterialBOM5计划管理PlanningMRP6先进供应链计划Advance Supply Chain PlanningASCP7车间管理Work in ProcessWIP8流式制造Flow ManufactoryFLOW9质量管理QualityQA财务模块10总帐管理General LedgerGL11应付款管理PayableAP12应收款管理ReceivableAR13固定资产管理Fix AssetsFA14成本管理Cost ManagementCST15现金管理Cash ManagementCM值集:1.编辑信息:取上一个值集所选的数据。(值集关联)WHERE BANK_ACCOUNT_ID = :$FLEX$.CE_BANK_ACCOUNT_NUM_NAMEORDER BY STATEMENT_NUMBER其中:$FLEX$.CE_BANK_ACCOUNT_NUM_NAME是取上一个值集所选的数据。CE_BANK_ACCOUNT_NUM_NAME为值集名称2. 编辑信息:取配置文件的值WHERE name not like %低耗% and (exists (select null from hr_operating_units ou where anization_id = fnd_profile.value(org_id) and name like %事业部) or organization_id = fnd_profile.value(org_id)其中fnd_profile.value(org_id)是取配置文件的值。3. 编辑信息:取配置文件的值where book_class=CORPORATE and date_ineffective is null and org_id = :$PROFILES$.org_id order by book_type_code其中:$PROFILES$.org_id是取配置文件的值。注意:fnd_profile.value(org_id)可以在其他地方使用,:$PROFILES$.org_id只能在系统值集中使用。取当前登录的用户的库存组织 Select orgn_code from SY_ORGN_USRwhere user_id=FND_PROFILE.VALUE(USER_ID)试图初始化beginfnd_client_info.set_org_context(102); -其中102代表OU,不同OU查出不同数据end;因为试图有安全性屏蔽数据所以得用上面代来初始化职责初始化select * from fnd_user fur where fur.user_name=CG-SETUP;-登陆IDselect * from FND_RESPONSIBILITY_TL t where t.responsibility_name=职责名称beginfnd_global.APPS_INITIALIZE(1114,50837,101); -登陆id,请求id,责任idend;物料之间单位转换select gmicuom.uom_conversion(物料ID,NULL,数量,吨,件,null) from dual;用在OPM的ic_item_mst_b 吨转成件这个函数单位参数为汉字。 select inv_convert.inv_um_convert(物料ID,小数位数,数量,TUN,EA,null,null) from dual;用在OA 的mtl_system_items_b吨转成件这个函数单位参数为英文。清除被锁定的报表(PL/SQL包)select * from v$ACCESS va where va.OBJECT=cux_ic_inout_pkg- cux_ic_inout_pkg是包名在PL/SQL工具菜单里选TOOLS下的SESSION下找到上面的SQL语句查出的SID对应的数据,在数据上点右键选”KILLED”就可以了。以上只适合PL/SQL报表清除正在运行的并发程序select * from v$session c where c.MODULE =CUX_AP_DEALINGS_ACCOUNT;alter system kill session sid,serial#;AP应付发票解锁 发票被锁了发后可以通过PL/SQL中“工具”菜单下的Session选项,在里面Module中找到被锁了的发票窗口名称,然后Kill掉就可以了。在上面操作之前先找到发票界面对应的名称。PL/SQL Developer 使用技巧小结以下的技巧只针对PL/SQL Developer 6以上版本,版本5只有其中的部分特性。1,右键菜单在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,如SQL Window,Command Window和Porgram Window,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。如下图:对象类型可以是表,视图,同义词,存储过程和函数等。根据对象类型的不同,弹出的菜单也有区别。表和视图有View, Edit, Rename, Drop, Query data 和Edit data等功能。View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等。Query data相当于新打开一个窗口,并执行select * from 表。Edit data相当于新打开一个窗口,并执行select * from 表 for update。存储过程和函数有Test功能,选中后可以进入调试状态。有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型2,Select for Update有时我们需要把一些数据导入数据库中,如果用UE拼Insert语句,会比较麻烦,而且操作性不强。PLD的SQL Window可以查询,新增,修改和删除表的内容。查询自不必说,而新增,删除和修改,只需在select语句后加入for update,对表进行行级锁定,然后点击窗口的锁型图标,即可进入编辑状态。下面介绍一下如何从Excel中提取文本插入到数据库中我们的Excel文件中有三列:在数据库中建立临时表:create table t1 (cino varchar2(100), contno varchar2(100), loanno varchar2(100)然后在SQL Window中输入select t1 for update,并点击锁型鼠标,进入编辑状态:用鼠标点击第一行的输入窗口,这时PLD会死锁几秒钟,然后可以见到光标在第一行的输入框中闪动,用鼠标把CINO, CONTNO, LOANNO选中:进入Excel中,把需要插入数据库的内容选中,然后切换到PLD,按Ctrl + V:点击,然后再点击Commit按钮,则数据提交到表t1中,执行select * from t1可以看到内容:3,PL/SQL BeautifierPLD 6以上版本有对DML代码格式化的功能。在SQL Window或Program Window中选中部分代码(如果不选则对整个窗口的代码操作),在菜单中选Edit PL/SQL Beautifier,得到格式化的代码。对于非法的DML语句或DDL语句,PLD将会在下方状态栏提示PL/SQL Beautifier could not parse text。在缺省的状态下,PLD会把DML语句的每一个字段都排在单独的一行,这样不方便查看。在菜单中选Edit PL/SQL Beautifier Options,进入Preferences窗口,选择Edit,进入配置文件编辑界面:在标签栏选DML,在窗口中部的Select, Insert和Update组框中把Fit选中,然后点击Save,把配置文件保存到PLD的安装目录下,点击Close关闭。在Rules file中输入配置文件所在位置,点击OK,完成配置文件切换。这时再对代码进行格式化,就可以使每一个字段尽可能的在一行上了。4,TNS Names菜单Help Support Info TNS Names,可以查看Oracle的tnsnames.ora。5,Copy to Excel在SQL Window中执行Select语句,在结果出来以后,右键点击下面的数据区,选择Copy to Excel,可以把数据区的记录原样拷贝到Excel中。但有两点需要注意:一,field中不能以=开始,否则Excel会误认为是函数;二,数字不要超过17位,否则后面的位数将会置为0,但可以通过在数字前加来使Excel认为该field是文本,同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示不正常如何查询一张报表在哪个职责下面?SELECT A.RESPONSIBILITY_NAME,B.USER_CONCURRENT_PROGRAM_NAMEFROM FND_RESPONSIBILITY_VL A, - 职责FND_CONCURRENT_PROGRAMS_VL B, - 并发程序FND_REQUEST_GROUP_UNITS C -请求组WHERE A.APPLICATION_ID=C.APPLICATION_IDAND A.REQUEST_GROUP_ID=C.REQUEST_GROUP_IDAND B.CONCURRENT_PROGRAM_ID=C.REQUEST_UNIT_IDAND B.USER_CONCURRENT_PROGRAM_NAME like %CUX表%表名后缀说明_all,基表,保存多组织数据,里面有一个Org_Id字段,一般不直接出现在我们的DML中去掉_all的视图,根据用户环境过滤掉组织,相当于普通的基表,我们直接使用它,就当它是基表_v,视图,给Form和报表用,报表为了安全性,视图有安全性_kfv,启用关键性弹性域的时候动态生成的视图,包含Concact过的字段组合_dfv,启用描述性弹性域的时候动态生成的视图,我们取弹性域子段的描述的时候,需要用用户出口函数。_tl,基表,有language字段,us肯定有,其他的看安装_vl,视图,根据环境设置过滤语种,所以做报表用_vl_s,序列号_API,Package,保证向后兼容_PKG,Package,Program_SV,Package,供Form调用rowid,伪列,指明记录物理位置,文件号+块号等,具体的我也不清楚rownum,伪列,指明符合条件的记录的记录号,需要注意的是这个记录号在Order By之前就已经决定,如果想用Order By之后的记录号,只能再套一层Selectlevel,伪列,指明树状结构记录的层次,以下示例代码可作为Form Tree的数据源 select 1 state, level, CUSTOMER_NAME,null,CUSTOMER_ID from da_customers a start with PARENT_CUSTOMER_ID = -1 connect by priorCUSTOMER_ID =PARENT_CUSTOMER_IDwho,五个记录创建及修改历史的字段,可以通过OA的Help/Record History菜单查看attribute_xxx,描述性弹性域字段ORACLE创建表- Create tableconn CUX/CUXdevp;客户化表在CUX用户下创建DROP TABLE CUX.CUX_PLN_CLDR_DTL_T;create table CUX.CUX_PLN_CLDR_DTL_T( HEADER_ID NUMBER NOT NULL , DTL_ID NUMBER NOT NULL PRIMARY KEY, -主键关键字 LINE_NUMBER NUMBER NOT NULL,-编号 LINE_NAME VARCHAR2(2000),-显示名称 DATE_FROM DATE,-开始日期 DATE_TO DATE,-结束日期 LAST_UPDATE_DATE DATE NOT NULL, LAST_UPDATED_BY NUMBER(15) NOT NULL, CREATION_DATE DATE NOT NULL, CREATED_BY NUMBER(15) NOT NULL, LAST_UPDATE_LOGIN NUMBER(15) NOT NULL, ATTRIBUTE1 VARCHAR2(150), ATTRIBUTE2 VARCHAR2(150), ATTRIBUTE3 VARCHAR2(150), ATTRIBUTE4 VARCHAR2(150), ATTRIBUTE5 VARCHAR2(150), ATTRIBUTE6 VARCHAR2(150), ATTRIBUTE7 VARCHAR2(150), ATTRIBUTE8 VARCHAR2(150), ATTRIBUTE9 VARCHAR2(150), ATTRIBUTE10 VARCHAR2(150), ATTRIBUTE11 VARCHAR2(150), ATTRIBUTE12 VARCHAR2(150), ATTRIBUTE13 VARCHAR2(150), ATTRIBUTE14 VARCHAR2(150), ATTRIBUTE15 VARCHAR2(150), ATTRIBUTE16 VARCHAR2(150), ATTRIBUTE17 VARCHAR2(150), ATTRIBUTE18 VARCHAR2(150), ATTRIBUTE19 VARCHAR2(150), ATTRIBUTE20 VARCHAR2(150), ATTRIBUTE21 VARCHAR2(150), ATTRIBUTE22 VARCHAR2(150), ATTRIBUTE23 VARCHAR2(150), ATTRIBUTE24 VARCHAR2(150), ATTRIBUTE25 VARCHAR2(150), ATTRIBUTE26 VARCHAR2(150), ATTRIBUTE27 VARCHAR2(150), ATTRIBUTE28 VARCHAR2(150), ATTRIBUTE29 VARCHAR2(150), ATTRIBUTE30 VARCHAR2(150), Structure_id NUMBER, Context VARCHAR2(150), Attribute_category_code VARCHAR2(150);- Grant/Revoke object privileges grant select, insert, update, delete, references, alter, index on CUX.CUX_PLN_CLDR_DTL_T to APPS;分配操作权限给APPS用户conn APPS/APPSdevp;create synonym CUX_PLN_CLDR_DTL_T for CUX.CUX_PLN_CLDR_DTL_T;给表创建同意词conn CUX/CUXdevp;create sequence CUX.CUX_PLN_CLDR_DTL_S 创建序列start with 1increment by 1;conn APPS/APPSdevp;create synonym CUX_PLN_CLDR_DTL_S for CUX.CUX_PLN_CLDR_DTL_S;给序列创建同意词1. 序列sequence:create sequence donny.seq- donny也是属于某个用户的,以下参数均可省略,使用默认值。increment by 1-指定序列之间的间隔,正负整数;默认,正为升序,负为降序。start with 1-第一个序列号,默认=minvaluenomaxvalue-设置最大值,此处表示默认10的27次幂。maxvalue 10nominvalue-设置最小值,此处表示默认-10的26次幂。minvalue 1nocycle-或者cycle;表示序列达到最大或者最小(降序)后,要不要从头开始cache 10;-默认cache 20,事先分配多少序列号放在内存中,提高速度。访问序列:oracle为序列提供了两个伪列,可以看作其属性。nextval: 根据increment by得到的一个新的序列值。每次执行都会得到一个新值。currval: current value,当前值,已经被取得的值。select seq.nextval from dual;select seq.currval from dual;使用序列:insert into t values(seq.nextval);修改序列:alter sequence seq .重新指定各个参数不能修改start with;除非删除重建删除序列:drop sequence seq;定义上传附件功能AttachementsOracle的附件给我们提供了一个方便的功能,只要定义定义,不需要任何代码就可以实现附件功能,比弹性域还方便(当然功能没有弹性域强)定义Attachements比较容易,遵循115devg中的Attachements章节即可完成。fnd_attached_*系列的表保存我们在开发员职责里面的附件定义fnd_documents_*系列的表保存最终用户的具体的附件业务数据,file类型的附件存储在fnd_lobs表中fnd_documents_tl.media_id可以关联到fnd_lobs.file_id、fnd_documents_long_text.media_id、fnd_documents_shot_text.media_id取得相应的附件内容定义过程如下1、定义Entity实体,其实就是表,必须的 Table 输入表名即可 Entity ID 输入表名即可,如果在同一个标定义多个实体,可以用“表名_N”的形式,随便 Entity Name 输入一个比较友好的名字,这个名字要显示给用户看 Prompt 没什么用 Application 就是我们的应用;如果是定义在Oracle标准表上,最好也用我们自己的应用名,否则升级的时候会丢失2、定义Document Categories,其实就是定义一个类别或者说一个标志,可以直接用系统的Miscellaneous这个类别,可选的 Category 输入任意一个名字即可 Default Datatype 随便选一个,最好选会应用这个Category最常用的类型,比如文件 Effective Date 默认,不填即可 Assinments按钮 这里不用管3、定义Attachement Function,必须的 Type 一个Form可能关联几个Function(进一步关联几个菜单),如果附件在不同的Function下可能不同,比如Category不同(从而可以过滤附件,这就是所谓的安全性),这里选Function;如果附件不需要区分Function,这里就选Form Name Form或者Function的名字 User Name 自动出来 Session Context 我没用它 Enabled 打勾4、点击Category按钮,为上面定义的Attachement Function选择刚才定义的Category,或者选择Miscellaneous,可以选择任意个,必须的*Category的工作原理:Category本身仅仅是一个标志,就像我们部门字典表一样;一个Form(或者其Function)会关联到一个或多个Category(就是在这里定义);最终用户在把一个附件添加到这个Form上的一条记录上时,必定会指定属于某个Category,可选范围就是这里定义的;到这里Category还没有显示出什么作用,也就是如果仅仅一个地方会用到这个附件,Category就没什么用。如果同一个实体的附件会在其他Form上出现,就像115devg文档所说的,一个Product的附件可以在Order Line上被显示出来,假如用户上传了一个图片作为附件,并分配Category为xxxxx,如果Order Form的Category没有包含xxxxx,在Order Line上将看不到那个附件。按我的理解,就这样。5、定义Attachement Function Block,定义我们Form上包含附件的数据块,每个块都可以定义,必须的 Block Name 输入块名,不要告诉我你不知道! Method 一般Base Entity选Allow Change,如果是引用的选Query Only Secured By 这个可以进一步限制安全性,可以不定;这里我不多说,如果不清楚再找我 6、定义Block-Entity关系,必须的 Entity 选择上面定义的实体,一行一个 Display Method 基础实体选择Main Window,引用实体选择Related Window Include in Indicator 基础实体打勾,引用实体不选;这个选项其实就是用来初始化工具栏上的图标,选不选都不影响功能 Indicator in View 我没选 操作许可 分别定义Query/Insert/Update/Delete,基础实体一般允许全部操作,引用对象不能有Insert,其他的看需要 定义条件 根据条件更加灵活的定义“操作许可”范围;这里我不多说,如果不清楚再找我7、定义关键字段,一般是主键,这里指块上的Item而非表里面的,所以需要用“块名.Item名”,必须的 按顺序定义,如果基础块的实体不定义主键,仍然可以工作,但在引用块将看不到,这是我碰到的问题8、定义SQL Statement,附加的限制条件,就像我们在Form开发时定义的Where Clause一样,一般没用,可选的使用过程如下1、打开我们的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物资现场奖罚管理办法
- 特殊定点药店管理办法
- 特殊群体超市管理办法
- 特种材料供应管理办法
- 独山物业租赁管理办法
- 玉米试验示范管理办法
- 环保异常处理管理办法
- 环卫临时用工管理办法
- 环境复原提升管理办法
- 现代牧业薪酬管理办法
- 山西晋中教师职称考试试题及答案
- 法人变更交接协议书
- 自愿顶名协议书范本
- 老年人多重用药评估与管理中国专家共识(2024)解读课件
- 2025-2030中国别嘌醇片行业市场发展分析及发展趋势与投资战略研究报告
- 2025年上海中考复习必背英语考纲词汇表默写(汉英互译)
- 委托投标合同协议书范本
- 车库洗车日常管理制度
- 医院质量与安全管理委员会制度职责及工作流程
- 旅行社安全管理制度
- 宿管面试试题及答案
评论
0/150
提交评论