2024年6月15日发(作者:)

89002-Oracle Applications

Express扩展Oracle电子商务套件的快速方法

Oracle Applications

Express(APEX)已成为一种出色的工具,可用于开发具有许多基本内置功能(例如会话)的基于Web的应用程序状态管理,页面模板和导航控件。

使用APEX,您可以使用表单和报告向导以快速创建功能齐全的Web应用程序,电子表格向导可让您将电子表格数据上传到数据库。

最后,您可以通过合并PL/SQL,几乎以任何方式扩展APEX应用程序的功能SQL和JavaScript。

本文介绍如何将APEX应用程序与E-Business Suite 11i集成在一起和R12。

应用程序开发人员可以使用许多工具来扩展电子商务套件, 但是开发人员通常并不知道APEX可以与电子商务套件紧密集成。

可以将APEX表单和报告添加到E-Business Suite菜单中,并且可以将电子表格数据添加到已上传到电子商务套件应用程序中。

为电子商务套件开发APEX应用程序,APEX是开发可与之并用或集成到其中的小型应用程序的理想选择。

OracleEBS与使用APEX相比,APEX提供了更健壮和可扩展的解决方案, 电子表格和比表单和报表更快的开发。

APEX的一些例子, 可以为电子商务套件开发的应用程序是:

·定义警报和异常。

·审核和管理报告和图表。

·上传人员数据。

·创建和维护弹性域层次结构。

·管理工作流响应。

并非所有APEX应用程序都需要紧密集成的应用程序,用户可以在其中移动从Oracle应用产品无缝过渡到APEX。

但集成了以下部分或全部功能可能的任务:

·使用APEX向导基于E-Business Suite表开发表单和报告。

·使用电子商务套件安全性,允许用户使用其电子商务登录APEX

套件用户名和密码:

·使用电子商务套件菜单直接链接到APEX报告和表格。

·使用APEX直接调用E-Business Suite API。

·在APEX表单和报告中将链接添加到E-Business Suite表单。

·将电子商务套件职责与APEX一起使用,以便使用不同的APEX功能可用,并且根据职责将不同的数据返回给用户。

共享电子商务套件基础架构

APEX完全驻留在Oracle数据库中,最简单的选择是APEX共享电子商务套件的数据库。

如果数据库中尚未安装APEX,则APEX可以从下载并安装在数据库中。

APEX是完全免费的,因此不需要其他许可证,并且随电子商务一起安装了Oracle数据库Suite具有APEX的所有先决条件。

可通过Web浏览器通过Oracle HTTP服务器(Apache)和mod_plsql访问APEX。

如果APEX与E-Business Suite 11i一起使用,则E-Business Suite应用服务器可以用于运行APEX应用程序。

但是,Apache需要一些小的更改组态。

这些正在创建一个单独的DAD以访问APEX应用程序并创建一个别名以映射到APEX图像目录。

如果APEX与E-Business Suite R12一起使用,则必须使用单独的Oracle HTTP服务器之所以使用它,是因为R12应用程序服务器不支持mod_plsql。

Oracle HTTP服务器可以下载与Oracle Database 11g或Oracle Application Server

10g一起分发的发行版,如APEX安装指南中所述将其安装在单独的Oracle Home中。

入门

所有APEX应用程序都保存在一个工作区中,因此在开始开发APEX之前应用程序,您需要以APEX管理员身份登录并为您创建一个工作区应用程序。

工作区应与E-Business Suite APPS数据库架构关联。

这确实由于APEX应用程序保存在APEX表中,因此请勿更改APPS模式中的任何内容但为APEX应用程序开发人员提供了对电子商务套件表,view和Bean

创建你的应用

表单和报告向导是APEX的最有用的功能之一,并允许开发人员基于Oracle数据库表快速创建APEX页面。

然而APEX表格和报告应永远不会直接创建到EBS。您的EBS安装将不会安装更新表。

您的第一步应该是定义供APEX使用访问EBS的view。 (如下列)

CREATE OR REPLACE VIEW apex_fnd_flex_values

(flex_value_set_id

, flex_value_id

, flex_value

, flex_value_set_name

, description

, CONSTRAINT apex_fnd_flex_values_pk

PRIMARY KEY (flex_value_id)

RELY DISABLE NOVALIDATE

) AS

SELECT _value_set_id

, _value_id

, _value_set_name

, _value

, ption

FROM fnd_flex_value_sets ffvs

, fnd_flex_values_vl ffv

WHERE _value_set_id =

_value_set_id

WITH READ ONLY

这些VIEW可以包括DB_LINK和安全条件, 隐藏APEX应用程序中电子商务套件表结构的复杂性。

可以在视图定义中使用限制WITH READ ONLY来防止APEX更改基础表中的数据。

一些APEX向导期望定义主键和外键,用于打开表单时, 获取用户在报表中选择的记录。

因此对在APEX视图中定义主键和外键约束,以便向导了解基础表中的元数据。

使用这些视图,在选择时,向导创建的表单和报表将正确读取EBS表中的数据。

但是,对于插入,更新和删除,您必须使用EBSAPI,而不是直接通过APEX更改表。

可以修改APEX行处理以调用所需的E-Business Suite API,以达到更新表的目的。

在数据加载很复杂的地方,APEX可以将数据直接加载到前台表中,然后提交一个E-Business Suite并发请求,以将数据从前台表传输到EBS中。

对于简单的数据加载, 更简单的选择是创建INSTEAD OF触发器, 用于调用EBSAPI。

通过这种方法, APEX自动行处理不需要任何修改。

什么时候APEX插入,更新和从视图中删除INSTEAD OF触发器是触发了API的调用更改表中的数据。(参见下图。)

CREATE OR REPLACE TRIGGER apex_fnd_flex_values_tr

INSTEAD OF INSERT OR UPDATE ON apex_fnd_flex_values

DECLARE

v_storage_value VARCHAR2(32000);

BEGIN

IF INSERTING THEN

fnd_flex_val__independent_vset_value

(p_flex_value_set_name=>:_value_set_name,

p_flex_value=>:_value,

p_description=>:ption,

x_storage_value => v_storage_value);

ELSIF UPDATING THEN

fnd_flex_val__independent_vset_value

(p_flex_value_set_name=>:_value_set_name,

p_flex_value=>:_value,

p_description=>:ption,

x_storage_value => v_storage_value);

END IF;

END;

众多电子商务套件API需要会话来初始化为电子商务套件用户和责任。