-
alther1986 和 孙志茹 已经成为好友 2 years, 7 months ago
-
alther1986 撰写了一篇新 Blog 日志:使用DBMS_LOCK控制程序并发
在调用并发的程序时,假设两个人同时提交了某一个并发请求,并且传入了同样的参数,假设在程序中使用了对状态的控制,例如在刚进入main函数的时候马上就将状态update了,那么其中某一个人就会查不到该条数据最后请求没有执行。 也可以使用另外一种方法,使用lock,将提交的并发锁住,其他提交的只能排队。 — lock
l_lockname VARCHAR2(100);
l_lockhandle VARCHAR2(200);
l_lock_output NUMBER;
l_locked BOOLEAN :=… -
alther1986 撰写了一篇新 Blog 日志:OAF中CheckBox性能优化以及在12版开发下的修改
假设有这样的需求,在Table的第一列加入单选框,当用户对table中的某几行打勾后,点击页面按钮(假设提交按钮)。那么对应几行的状态都由New变成Confirm。 如上图,当点击Apply按钮后,打勾的行状态都变成confirm。 实现的方法有: 在点了apply后对所有的行循环一遍后选出打勾的行将状态set一下,但是这样子的方法是很没有效率的(假设有一万行,并且只选了一行)。 打开CHECKBOX上的FireAction,当点了这一行以后马上对该行状态进行处理(set好),当点了apply后就commit就可以了,这里需要注意的就是找到当前行以及点空后的处理。 …
-
alther1986 撰写了一篇新 Blog 日志:使用Enumeration检查页面PPR事件
在OAF的页面中,有很多隐藏的页面事件,例如LOV中的lovUpdate、lovValidate,当我们点击LOV或者是按Tab键切换出LOV的时候,通过pageContext.getParameter(EVENT_PARAM)可以捕捉到。 只要页面上存在着PPR事件,那么就会有很多隐藏的参数,可能对我们开发的时候很有帮助,这里介绍一种方法来查看页面事件。 import java.util.Enumeration;
Enumeration parms = pageContext.getParameterNames();
String name = “”;
while… -
alther1986 撰写了一篇新 Blog 日志:OAF开发中一些LOV相关技巧
在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMessageLovInputBean),二是弹出的LOV模式窗口(OAListOfValueBean)。用户选择LOV的按钮就会弹出LOV窗口,用户在LOV窗口查询并选择了值,可以返回到页面上的LOV输入框。在这里就不赘述如何创建LOV,只说一些平时会碰到的应用: 控制LOV的查询结果 LOV相关事件 动态LOV LOV Choice 一,控制LOV的查询结果 1,使用Criteria…
-
alther1986 撰写了一篇新 Blog 日志:Oracle EBS Form开发小技巧汇总
本文记录了一些在Form开发过程中积累下来的技巧: Form中提交并发请求 非数据库字段查询处理 控制Form为只查询 控制Item的属性 Trigger的执行层次 按钮处理逻辑 日历相关 1,Form中提交并发请求 在提交请求之前,首先需要验证块,如果某些必填项没有填的话当然不能提交请求。 APP_STANDARD.APP_VALIDATE(BLOCK_SCOPE);
IF (not FORM_SUCCESS) [...] -
alther1986 撰写了一篇新 Blog 日志:ODI笔记五 – Essbase数据导出
本文描述如何从Essbase中导出数据到Oracle数据库中。ODI导出Essbase数据有三种方法,计算脚本(9.3版以上适用),MDX查询以及报表脚本。也就是ODI需要借助Essbase的这三种方式中的任意一种将数据从多维数据库中抽取出来。如果Essbase的数据库是BSO结构的,那么以上三种方式都可以使用。如果是ASO结构的,那么计算脚本是不能使用的。 1.创建数据存储 实际上,在之前的文章中,已经反向过一次Essbase的数据模型,并且拥有Sample_BasicData (Sample_Basic)这个数据存储。 …
-
alther1986 撰写了一篇新 Blog 日志:ODI笔记四 – 维成员导入Essbase
本例中,使用一个新的Essbase数据库来作为维成员的最终目标,所以首先需要创建一个新的Essbase数据模型。这个Essbase数据库只有两个维度,一个Product,一个Market。 维成员导入到Essbase中,需要使用Essbase的规则文件来辅助导入。 1.创建数据模型。 2.创建接口 由于目标存储是Essbase,不能作为临时区域,所以我们选中临时区域为Oracle关系数据库。 关系图中,将数据模型中的源数据存储和目标数据存储拖拽到相应区域,完成映射。 3.选择KM 选择IKM SQL to Hyperion…
-
alther1986 撰写了一篇新 Blog 日志:ODI笔记三 – Essbase维成员导出
1.创建Oracle数据模型
切换到Designer,在之前的文档中,已经创建好项目了,相应的知识模块也导入了。接下来需要是创建数据模型。
为了区分各个技术,可以在我的模型下,创建多个文件夹,右键选中文件夹,选中插入模型,在弹出来的窗口中,定义Tab页,输入名称,选择技术,逻辑架构和操作组。
切换到反向Tab页,选择反向的选项,对于使用JDBC连接的技术,可以直接选择标准。
掩码实际上就是一个条件,对于Oracle,就是类似查询语句的 LIKE… -
alther1986 和 李晶 已经成为好友 2 years, 8 months ago
-
alther1986 撰写了一篇新 Blog 日志:ODI笔记二 – 创建架构
ODI中所使用的数据模型基础是逻辑架构,而逻辑架构对应了物理架构。物理架构属于数据服务器。
数据服务器 ____物理架构
|
____物理架构 ____逻辑架构(上下文)
|
… -
alther1986 撰写了一篇新 Blog 日志:ODI笔记一 – 创建存储库
进入ODI之前,首先创建数据库用户,必须为主存储库以及工作存储库各创建一个用户,如下脚本:
CREATE TABLESPACE D_ODI_DATA DATAFILE ‘C:ORACLEDBPRODUCT10.2.0ORADATAHYPORCLD01_ODI_DATA’ SIZE 300M REUSE AUTOEXTEND OFF;
CREATE USER odi IDENTIFIED BY odi DEFAULT TABLESPACE D_ODI_DATA;
GRANT CONNECT, RESOURCE TO odi;
CREATE USER odi_work01 IDENTIFIED BY… -
-
alther1986 和 Derek.Jaa 已经成为好友 2 years, 10 months ago
-
alther1986 和 aronezhang 已经成为好友 2 years, 10 months ago
-
alther1986 和 steven.gu 已经成为好友 2 years, 10 months ago
-
alther1986 和 Eleven.Xu 已经成为好友 2 years, 10 months ago
-
alther1986 和 hansen 已经成为好友 2 years, 10 months ago
-
alther1986 撰写了一篇新 Blog 日志:使用Form个性化修改标准Form的LOV
在之前的文章 使用Custom.pll修改标准Form的LOV 中描述了如何使用Custom.pll修改LOV,现在介绍另外一种不需要修改fmb文件修改Form LOV的方法,使用Form的个性化工具。 本文结合一个简单的Form做描述,这是没有个性化之前的LOV,LOV取自表FND_USER,没有做任何条件限制。 首先打开Form的个性化工具,点击菜单帮助–诊断–自定义代码–个性化: 一、选择触发器事件以及触发器对象 在打开的个性化窗口中…
-
alther1986 撰写了一篇新 Blog 日志:使用Custom.pll修改标准Form的LOV
在开发过程中,经常碰到需要修改标准Form中LOV的需求,一般来说都是做一些条件限制。在不修改标准Form的fmb文件的前提下,可以通过Custom.pll来实现。 一、Custom.pll的工作机制 在EBS中大部分Form都是在TEMPLATE.fmb的基础上创建的,另外还有一些HR模块的Form是在HRTEMPLT.fmb的基础上创建的,这些模板Form在form级的触发器中会去调用custom.pll 这些Form级的触发器为: ZOOM WHEN-NEW-FORM-INSTANCE WHEN-NEW-BLOCK-INSTANCE …