开发配置
了解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 |
控制器 |