• 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 :=…

    [Read more]

  • alther1986 撰写了一篇新 Blog 日志:OAF中CheckBox性能优化以及在12版开发下的修改

    假设有这样的需求,在Table的第一列加入单选框,当用户对table中的某几行打勾后,点击页面按钮(假设提交按钮)。那么对应几行的状态都由New变成Confirm。 如上图,当点击Apply按钮后,打勾的行状态都变成confirm。 实现的方法有: 在点了apply后对所有的行循环一遍后选出打勾的行将状态set一下,但是这样子的方法是很没有效率的(假设有一万行,并且只选了一行)。 打开CHECKBOX上的FireAction,当点了这一行以后马上对该行状态进行处理(set好),当点了apply后就commit就可以了,这里需要注意的就是找到当前行以及点空后的处理。 …

    [Read more]

  • 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…

    [Read more]

  • alther1986 撰写了一篇新 Blog 日志:OAF开发中一些LOV相关技巧

    在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMessageLovInputBean),二是弹出的LOV模式窗口(OAListOfValueBean)。用户选择LOV的按钮就会弹出LOV窗口,用户在LOV窗口查询并选择了值,可以返回到页面上的LOV输入框。在这里就不赘述如何创建LOV,只说一些平时会碰到的应用: 控制LOV的查询结果 LOV相关事件 动态LOV LOV Choice   一,控制LOV的查询结果 1,使用Criteria…

    [Read more]

  • alther1986 撰写了一篇新 Blog 日志:Oracle EBS Form开发小技巧汇总

    本文记录了一些在Form开发过程中积累下来的技巧: Form中提交并发请求 非数据库字段查询处理 控制Form为只查询 控制Item的属性 Trigger的执行层次 按钮处理逻辑 日历相关   1,Form中提交并发请求 在提交请求之前,首先需要验证块,如果某些必填项没有填的话当然不能提交请求。 APP_STANDARD.APP_VALIDATE(BLOCK_SCOPE);
    IF (not FORM_SUCCESS) [...]

    2 years, 8 months ago

  • alther1986 撰写了一篇新 Blog 日志:ODI笔记五 – Essbase数据导出

    本文描述如何从Essbase中导出数据到Oracle数据库中。ODI导出Essbase数据有三种方法,计算脚本(9.3版以上适用),MDX查询以及报表脚本。也就是ODI需要借助Essbase的这三种方式中的任意一种将数据从多维数据库中抽取出来。如果Essbase的数据库是BSO结构的,那么以上三种方式都可以使用。如果是ASO结构的,那么计算脚本是不能使用的。 1.创建数据存储 实际上,在之前的文章中,已经反向过一次Essbase的数据模型,并且拥有Sample_BasicData (Sample_Basic)这个数据存储。 …

    [Read more]

  • alther1986 撰写了一篇新 Blog 日志:ODI笔记四 – 维成员导入Essbase

    本例中,使用一个新的Essbase数据库来作为维成员的最终目标,所以首先需要创建一个新的Essbase数据模型。这个Essbase数据库只有两个维度,一个Product,一个Market。 维成员导入到Essbase中,需要使用Essbase的规则文件来辅助导入。 1.创建数据模型。 2.创建接口 由于目标存储是Essbase,不能作为临时区域,所以我们选中临时区域为Oracle关系数据库。 关系图中,将数据模型中的源数据存储和目标数据存储拖拽到相应区域,完成映射。 3.选择KM 选择IKM SQL to Hyperion…

    [Read more]

  • alther1986 撰写了一篇新 Blog 日志:ODI笔记三 – Essbase维成员导出

    1.创建Oracle数据模型
    切换到Designer,在之前的文档中,已经创建好项目了,相应的知识模块也导入了。接下来需要是创建数据模型。
    为了区分各个技术,可以在我的模型下,创建多个文件夹,右键选中文件夹,选中插入模型,在弹出来的窗口中,定义Tab页,输入名称,选择技术,逻辑架构和操作组。
     
    切换到反向Tab页,选择反向的选项,对于使用JDBC连接的技术,可以直接选择标准。
    掩码实际上就是一个条件,对于Oracle,就是类似查询语句的 LIKE…

    [Read more]

  • alther1986李晶 已经成为好友 2 years, 8 months ago

  • alther1986 撰写了一篇新 Blog 日志:ODI笔记二 – 创建架构

    ODI中所使用的数据模型基础是逻辑架构,而逻辑架构对应了物理架构。物理架构属于数据服务器。
    数据服务器  ____物理架构
                   |
                   ____物理架构 ____逻辑架构(上下文)
                                      |
                                      …

    [Read more]

  • 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…

    [Read more]

  • alther1986 在 Blog 日志 EPM Workspace 11 Integration with OBIEE 中发表了一条评论

    赞~

    2 years, 9 months ago

  • alther1986hansen 已经成为好友 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的个性化工具,点击菜单帮助–诊断–自定义代码–个性化:   一、选择触发器事件以及触发器对象   在打开的个性化窗口中…

    [Read more]

  • 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 …

    [Read more]