Dec 28 2007

WebADI增加参数列项目

Category: E-Business SuiteZeeno @ 22:11

上次说起过用FNDLOAD移植WebADI。对于FNDLOAD,我们已经不再陌生,它实际上就是将一系列的表操作进行封装,提供一种简便的用户接口。通过对FNDLOAD配置文件的解决,我们可以了解各类数据的基表。

假如我们已经移植了一个WebADI程序,但是业务变更,我们需要对现有的程序稍作扩充,比如要增加一个参数列项目,该怎么做呢?

项目列中的各项目——也就是下载Excel文件后对应的列——存在下面这5张表里:

  1. bne_layout_cols
  2. bne_interface_cols_b
  3. bne_interface_cols_tl
  4. bne_param_list_items
  5. bne_attributes

各逻辑关系如下图所示:

粉色:开始
黄色:依序查询或修改的表
白色:关联字段
灰色:特殊换算关系

依序插入数据到上述5个表后,不要忘记修改WebADI对应的过程。

最后,由于WebADI会被缓存,因此,除非重启应用可以由你决定,否则,对于这种小东西如此大动干戈,非常不划算。建议在做WebADI的时候,各预留10个字符型、数值型和日期型的字段以备后用。

警告:个人研究用,切勿模仿。


Dec 28 2007

EBS Technical Reference Manual

Category: E-Business SuiteZeeno @ 11:48

EBS 11.5.10及之后的TRM均已经转移到Metalink的eTRM上了,这是用pl/sql生成的查询目录。

旧版的TRM则通过Oracle Designer生成,对照看过,明显看到两者有非常大的差别,也就是说旧版的TRM非常详细,详细到解释各字段所存储的代码的含义,而eTRM则只是解释了字段本身的含义,毫无用处。

旧版带有QuickCodes Columns:
Image Hosted by ImageShack.us

看来EBS TRM是我最不乐意升级的东西了 :)


Dec 27 2007

自动创建PO选择核价示意图

Category: Supply ChainZeeno @ 16:32

如果全部自动化,用Oracle做采购订单应该还是比较轻松的。
1,自动生成请购单。
2,自动创建RFQ至供应商。
3,核价后自动从接口创建核价单。
4,自动创建PO时选择对应的核价。

那么,从请购单到采购订单,究竟经过了哪些步骤呢?看下面的示意图:
Image Hosted by ImageShack.us

除了在做采购订单时需要选择供应商产品目录以外,所有过程都有接口表可用,与供应商交互的环节则通过EDI。

当然,这是我们今后的奋斗目标:)


Dec 26 2007

请购单自动创建采购订单

Category: Supply ChainZeeno @ 15:46

EBS 11i采购模块提供两种从请购单创建采购订单的方式:自动创建和手工创建。

自动创建模式根据item, revision, line type, transaction reason, unit of measure , supplier item number将请购单行汇总数量,同时请购行中最低的价格将作为采购订单行的实际价格,系统将根据这些汇总信息自动创建采购订单行。

对于采购订单,每个订单行都产生相应的发运行,在自动创建过程中系统按照need-by date, ship-to location, organization, accrual type, shipment type将之前的汇总信息进行分组。

Image Hosted by ImageShack.us

实际业务中,可能需要一定的余地调整汇总方式,比如要将相隔一个礼拜的需求日期的请购单行合并成一个订单行,该如何做呢?
Continue reading “请购单自动创建采购订单”


Dec 26 2007

Form 中动态创建LOV

Category: E-Business SuiteZeeno @ 11:13

这本是以前写的,文章也不打算要了。但是发现有Google搜索的关键词:“Oracle 动态 LOV” 连接过来了,带错了路:) 于心不忍。重新粘贴一下。

在Form中动态创建LOV和Record Group的例子:

    -- Created on 2007-8-26 by ZEENO
    DECLARE
        l_group_id      recordgroup;
        l_group_errcode NUMBER;
    BEGIN
        -- 检查是否已经存在该 RECORD_GROUP
        l_group_id := find_group(proj_rg_name);

        -- 如果不存在
        IF id_null(l_group_id) THEN
            -- 创建RECORD_GROUP
            l_group_id := create_group_from_query('MY_REC_NAME',
                                                  'SELECT NULL FROM DUAL');
            -- 错误代码
            l_group_errcode := populate_group(l_group_id);
        END IF;

        -- 设置 LOV 的RECORD_GROUP
        set_lov_property('MY_LOV_NAME', group_name, 'MY_REC_NAME');
        -- 设置 Item 的 LOV
        set_item_property('MY_BLOCK.MY_ITEM', lov_name, 'MY_LOV_NAME');
    END;


Dec 24 2007

FNDLOAD 移植 WebADI补遗

Category: E-Business SuiteZeeno @ 20:36

FNDLOAD移植常用程序(功能,菜单,并发程序,值集等)已经使用的非常频繁,也非常成熟。具体的可以参考我之前的文章:《FNDLOAD的用法》

Oracle 也提供了针对WebADI移植的配置文件,不过配置文件路径放在$BNE_TOP/admin/import。对于定义的移植很简单,照下面做就行了:
– Integrators

FNDLOAD apps/apps_pwd 0 Y DOWNLOAD $BNE_TOP/admin/import/bneint.lct GENERAL_170_INTG.ldt BNE_INTEGRATORS INTEGRATOR_ASN="CUX" INTEGRATOR_CODE="GENERAL_170_INTG"
FNDLOAD apps/apps_pwd 0 Y UPLOAD $BNE_TOP/admin/import/bneint.lct GENERAL_170_INTG.ldt

– Layouts

FNDLOAD apps/apps_pwd 0 Y DOWNLOAD $BNE_TOP/admin/import/bnelay.lct CUX_PRE_MTL.ldt BNE_LAYOUTS LAYOUT_ASN="CUX" LAYOUT_CODE="CUX_PRE_MTL"
FNDLOAD apps/apps_pwd 0 Y UPLOAD  $BNE_TOP/admin/import/bnelay.lct CUX_PRE_MTL.ldt

Continue reading “FNDLOAD 移植 WebADI补遗”


Next Page »