Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发

开发配置

了解EBS服务器目录

$JAVA_TOP

JSP中可以引用标准Java类库,也可以引用其他Java类库,客户化开发的类库统一放在$JAVA_TOP下,按目录组织。OAF开发的文件都放在这里。

$OA_HTML

$OA_HTML是所有EBS Web文件所在目录,最常见的是HTML文件、图片文件、JSP文件、Applet对应的Jar文件。
我们开发的jsp等相关文件要用ftp上传到这里;通常我们会再创建一个客户化文件夹,比如cux,方便文件管理。

$COMMON_TOP/_pages/_oa__html

第一次运行,Jserv自动将JSP转成Servlet,然后Cache到内存。
首先是转成Java源文件,然后编译成Class文件,都放在$COMMON_TOP/_pages/_oa__html下,当然如果jsp放在$OA_HTML的子目录下,这里也有子目录。
一个执行过的jsp文件会对应这里的一个java文件和一个class文件,有时候查错会把这里的java文件拿下来看,因为如果报错,出错行指的是java文件的行,而不是jsp文件的行。

$OA_MEDIA

$OA_MEDIA通常存放图片。

设置开发环境

设置Windows环境变量JDEV_USER_HOME

N: 我的电脑/右键/属性/高级/环境变量/用户变量的新建
变量名:JDEV_USER_HOME
变量值:随意(JDeveloper主目录\jdevhome\jdev)

下载DBC文件

从服务器$FND_TOP/secure,下载<DB_Host_Name>_.dbc到本地<JDEV_USER_HOME>\dbc_files\secure下。

创建EBS用户和职责

创建EBS用户如HAND_工号,并创建一个职责用于挂OAF功能。

额外设置

设置默认字符集

N: Tools/Preferences/Environment
要根据EBS字符集修改;这里我改成UTF-8。我们新建的jsp页面,头部的charset将默认取这个值,如<%@ page contentType=“text/html;charset=GB2312”%>。

设置默认Project属性:调试信息

N: Project/Default Project Settings…/Common/Oracle Applications/Run Options
添加OA Diagnostic、OADeveloperMode

设置默认Project属性:Forgive Duplicate Directive Attributes

N: Project/Default Project Settings…/Configurations/Development/Compiler/JSP
如果JSP页面包含另外一个JSP页面,这两个页面中都Import了某个相同的类,则Build该JSP页面会报“Error(XXX): 错误, 属性定义了两次: language”。解决办法是选中Forgive Duplicate Directive Attributes (Helps JSP 1.1 Compatability)。

需求概述

表数据

OAF的实体表,必须要有5个Who字段,主表SQL:

create table cux.cux_oaf_employee(
  emp_id             NUMBER        NOT NULL,
  emp_code           VARCHAR2(240) NOT NULL,
  emp_name           VARCHAR2(240) NOT NULL,
  sex                VARCHAR2(2),
  phone              NUMBER,
  email              VARCHAR2(240),
  address            VARCHAR2(240),
  CREATION_DATE      DATE DEFAULT SYSDATE NOT NULL,
  CREATED_BY         NUMBER DEFAULT -1 NOT NULL,
  LAST_UPDATED_BY    NUMBER DEFAULT -1 NOT NULL,
  LAST_UPDATE_DATE   DATE DEFAULT SYSDATE NOT NULL,
  LAST_UPDATE_LOGIN  NUMBER,
  ATTRIBUTE_CATEGORY VARCHAR2(30),
  ATTRIBUTE1         VARCHAR2(240),
  ATTRIBUTE2         VARCHAR2(240),
  ATTRIBUTE3         VARCHAR2(240),
  ATTRIBUTE4         VARCHAR2(240),
  ATTRIBUTE5         VARCHAR2(240),
  ATTRIBUTE6         VARCHAR2(240),
  ATTRIBUTE7         VARCHAR2(240),
  ATTRIBUTE8         VARCHAR2(240),
  ATTRIBUTE9         VARCHAR2(240),
  ATTRIBUTE10        VARCHAR2(240),
  ATTRIBUTE11        VARCHAR2(240),
  ATTRIBUTE12        VARCHAR2(240),
  ATTRIBUTE13        VARCHAR2(240),
  ATTRIBUTE14        VARCHAR2(240),
  ATTRIBUTE15        VARCHAR2(240)
);

create unique index cux.cux_oaf_employee_u1 on cux.cux_oaf_employee(emp_id);
create sequence cux.cux_oaf_employee_s start with 10000;
create synonym  cux_oaf_employee_s for cux.cux_oaf_employee_s;
create synonym  cux_oaf_employee for cux.cux_oaf_employee;

Lov

Sex 来自如下SQL:

select t.LOOKUP_CODE,t.MEANING from fnd_lookup_values_vl t where t.LOOKUP_TYPE = 'SEX'

效果图

查询/修改入口(Update)/删除界面
在这里插入图片描述
修改界面:
在这里插入图片描述

基础:创建项目框架

创建基于OA的项目

参考下表完成:

参数
默认目录 <JDEV_USER_HOME>\myprojects
Workspace DEMO.jws
Project DEMO.jpr
Default Package demo.oracle.apps.cux.emp
DBC File <JDEV_USER_HOME>\dbc_files\secure\VIS.dbc
用户/密码 HAND_11175/handhand
应用/职责简称 CUX/HAND
Database Connection Syfdemo.ml.com

创建BC4J Package

BC4J包需要遵循如下格式要求:

对象 类型
实体对象 <mycompany>.oracle.apps.<appshortname>.[<modulename>].schema.server
视图对象 <mycompany>.oracle.apps.<appshortname>.<modulename>.server
LOV视图对象 <mycompany>.oracle.apps.<appshortname>.<modulename>.lov.server
页面 <mycompany>.oracle.apps.<appshortname>.<modulename>.webui.XxxxPG
控制器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值