1、Oracle之APEX深入开发指南 Oracle ERP APEX开发指南 Author: 刘俊杰 Creation Date: April 10, 2023 Last Updated: November 29, 2023 Document Ref: Version: 1.0 Approvals: Document Control Change Record 4 Date Author Version Change Reference 10-Apr-13 Junjie.liu 1.0 No Previous Document Reviewers Name Position Distributi
2、on Copy No. Name Location 1 2 3 4 Note To Holders: If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes. If you receive a hard copy of this document, please write your name on the front cover, f
3、or document control purposes. Contents Document Control ii 1. APEX之系统探究 2 1.1. APEX简介 2 1.2. 环境搭建 3 1.3. APEX账户管理 6 1.4. 待定 8 2. APEX 开发 9 2.1. 开发概要 9 2.2. 页面布局、美化 10 2.3. APEX控件 13 2.4. Report常用增删改 16 2.5. 文件上传下载 19 2.6. 使用CSS与JS 25 2.7. 图表、报表 28 2.8. Application Express Free Plugins 35 2.9. APEX部署
4、 37 3. APEX之调试、常用技巧、API 39 4. APEXEBS集成 40 4.1. EBS中配置APEX页面调用 40 5. Reference 43 6. Open and Closed Issues for this Deliverable 44 Open Issues 44 Closed Issues 44 1. APEX之系统探究 1.1. APEX简介 1.1.1. 概述 1) Oracle Application Express是基于Web浏览器的网络即时开发、部署、运行。 2) Oracle Application Express所有页面都是存储于数据库,类似于EBS
5、的Form个性化。 3) Oracle ApplicationExpress具有易用性、灵活性及Web的平安性、集成性、可伸缩。 1.1.2. 体系结构 Application Express使用用户计算机上的Web浏览器通过Web监听程序与Oracle数据库通信。开发,部署或运行时不需要浏览器之外的任何其他客户机软件。 Application Express页使用浏览器中的HTML来呈现。页请求和提交发送到Oracle数据库中的Application Express引擎。 1.1.3. 运行环境 1) 浏览器要求 Web浏览器必须支持Java脚本和HTML4.0和CSS1.0标准。Oracl
6、e Application Express建议使用以下浏览器进行开发或查看应用程序: l 微软Internet Explorer7.0或更高版本 l Mozilla Firefox 3.6或更高版本 l 谷歌Chrome4.0或更高版本 l 苹果Safari4.0或更高版本 2) 数据库及 效劳器要求 1) Oracle Database 11g release 1or 2,自带pl/sql网关配置比较简单,能够直接提供 效劳器的功能。 2) Oracle Database 10g,必须使用mod_plsql插件或是Oracle Application Express监听器来连接专业的 效劳器
7、。 1.1.4. 运行机制 Application Express完全驻留在Oracle的数据库中,它是由存储在数据表中的数据和大量的pl/sql对象组成.对于客户浏览器发送的URL请求解析成pl/sql调用,数据库处理pl/sql调用,并将结果以HTML形式返回浏览器(sys.htp.p)。每个页面的结果都在新的会话中,因此当Application Express引擎处理或者呈现一个页面的时候才会消耗数据库资源 Application Express引擎包括: 1) 异步会话状态管理 2) 认证效劳 3) 授权效劳 4) 页面流控制 5) 验证处理 6) 页面渲染和处理 1.1.5. 学习根
8、底 1) SQL、PL/SQL根底(必须) 2) HTML根底 深入开发的时候对html,javascript,css还是蛮重要的。 1.2. 环境搭建 1.2.1. 环境准备 操作系统、数据库、安装文件 我这边使用的是RedHat 4.2.1 + Oracle 11g + Vmware8.0 安装文件使用最新的Apex_4.2.5.zip可在网上下载 安装方式可以采用嵌入式SQL网关来监听或使用APEX Listener基于Apatch的mod_plsql来安装。 本文使用嵌入式SQL风关来安装。安装OK后当需要关闭虚拟机时把虚拟机的状态置为挂起状态,这样下次再翻开时就不需要再重新去配置参数
9、。 下面的安装都是使用系统的DB用户操作 安装有问题可联系作者jjl.softgmail 1.2.2. Oracle Application Express安装step by step 1) 由于oracle 11g自带Apex3.0,因此在本次安装的时候我们首先要卸载掉3.0版本 2) 上一步全部运行OK后,在apex目录下执行rm rf x.x 创立一个TableSpace:Apex01, CREATE TABLESPACE apex01 DATAFILE /d01/oracle/SID/db/apps_st/data/apex01.dbf SIZE 100M AUTOEXTEND ON
10、NEXT 100M MAXSIZE 1000M; 3) 把之前下载的Apex4.2.5安装文件上传至$ORACLE_HOME下,然后解压至/apex目录下 4) 开始安装 5) 更改Admin用户,并解锁APEX_PUBLIC_USER,其中Admin用户密码要设置得比较复杂,必须包含大写、小写字母+特殊的符号+数字 ALTER USER ANONYMOUS ACCOUNT UNLOCK; 6) 上述步骤全部OK后,可选安装中文语言 7) 配置嵌入式pl/sql网关 8) Grant connect privileges to any host for the APEX_040200 data
11、base user 9) 更改参数值 10) 以上全部OK后,APEX安装完成,可通过 :/server:8888/apex/apex_admin来管理,假设出现 404错误后,请执行如下命令,假设没开那么把它启起来 11) 成功后那么可访问访URL :/server:8888/apex :/server:8888/apex/apex_admin 安装到此,貌似都解决了,翻开管理员网址,输入用户名、密码:ADMIN/.后发现无法通过授权认证,怎么解决呢?难道密码不对,于是再次更改ADMIN的密码,重启数据库,发现问题依旧,这样排除了ADMIN密码不对的可能,APEX授权的连接只有APEX_04
12、002,这个也是没有问题的,也就是说本次的安装都是OK的,毕竟系统都启起来了,这时候联想到是不是这个授权验证是否还走的是之前的3.0版本的校验,执行了如下这段SQL发现确实还存在之前3.0版本的遗留用户,果断的把这些用户全部drop掉。后面不小心把APEX_04002也drop了,因此只好又重装,重装后一切OK。 Drop user cascade; 1.3. APEX账户管理 1.3.1. APEX账户关系图 1.3.2. ADMIN 1) ADMIN是Oracle Application Express的超级管理员 2) ADMIN可以创立、删除、修改WorkSpace及Workspace
13、的管理员 创立一个WorkSpace名为jjl,Schema为oracle ebs的apps,同时创立该workspace的管理员名为jjl 1.3.3. WorkSpace的Admin,Developer,AppEndUser 1) 使用刚创立好的WorkSpace【jjl】以管理员jjl 2) 之后为该workspace创立开发用户与app最终用户 3) 后续就可以用使用developerworkspace【jjl】进行开发 1.4. 待定 1.4.1. 待定 2. APEX 开发 2.1. 开发概要 2.1.1. 理解WorkSpace、Application WorkSpace:工作空
14、间,一个WorkSpace对应Oracle数据库的一个Schema,形象的理解我们可以认为它就是一个工程,这个工程里面有很多的子工程Application.在与EBS的集成开发中,我们认为每个Application可以类似于EBS中的一个Form,该Form里包含多个窗口. 本文有些截图是基于Oracle Application Express 4.2.5版本。在APEX中的页面布局、各种OBJECT的属性控制都是可以通过配置来解决的,对于这种声明式的开发(不需要编译)它需要的是少量的Coding,主要是偏向于pl/sal编程. Oracle Application Express可以创立Da
15、tabase Applications,Websheet Applications,Packaged Application 本文对应的开发都是Database Application. 2.1.2. Application授权机制 每个Application都可以为其设置平安认证,创立Application的时候会让你三选一。 后期创立好后我们是可以对其机制进行修改。具体的APEX自带的授权机制有7种。 在目前的开发中我们可以选择Application Express Accounts与 Header Variable. 前者必须输入APEX用户名密码才可,后者 2.1.3. Page0 P
16、age0是该Application的一个全局页,比方某些全局变量,全局常量都可以在该页去设置,为了方便管理我们把不同类型的变量放在不同的区域,这些区域是不显示在界面上的类似于HTML的HIDDEN. 2.1.4. 待定 2.2. 页面布局、美化 Application Express 提供了 20 个主题。每个主题由定义应用程序外观的组件模板组成。Oracle Application Express 4.0 提供的这些现代化主题都符合 XHTML 和 CSS 标准。XHTML 页面可移植性更强、呈现时间更短。在工程上开发的使用的是APEX4.1.1版本,在网页布局这块比较郁闷,创立Region的Column属性是在某个 Body内是全局的,在APEX4