Oracle JD Edwards 综合教程
第一部分:什么是 Oracle JD Edwards?
在开始学习之前,我们需要了解 JDE 是什么。

核心定义 Oracle JD Edwards (简称 JDE) 是由美国 J.D. Edwards 公司开发的一套企业级资源规划系统,它被设计用来帮助中型到大型企业整合其核心业务流程,包括财务、供应链、制造、人力资源和客户关系管理等,2004 年,J.D. Edwards 公司被 Oracle 收购,现在是 Oracle Fusion ERP 生态系统中的重要组成部分。
核心特点
- 模块化设计:系统由多个功能模块组成,企业可以根据自身需求选择实施部分或全部模块。
- 平台独立性:JDE 主要运行在 IBM i (AS/400), Windows, Linux, Unix 等多种平台上。
- 高度可配置性:与许多需要大量定制开发的 ERP 不同,JDE 强调通过“配置”而非“编码”来满足业务需求,这大大降低了实施成本和周期。
- 工具驱动开发:JDE 提供了强大的开发工具,使得业务人员和开发人员可以快速构建和修改应用程序。
- 面向世界:其设计天生支持多币种、多语言、多会计准则,适合全球化运营的企业。
第二部分:核心架构与技术栈
理解 JDE 的架构是学习的第一步。
三层架构 JDE 经典的 World (WorldVision/A9.3) 产品线采用三层架构:

- 表示层:用户界面,通常是 SmartClient (一个基于 Java 的胖客户端) 或 HTML Client (基于 Web 的瘦客户端,如jde://,jde://web)。
- 应用层:业务逻辑处理,这是 JDE 的核心,运行在一台或多台应用服务器上。
- 数据层:数据存储,通常是 Oracle 或 Microsoft SQL Server 数据库。
关键技术组件
- 数据库:存储所有业务数据,JDE 使用自己的数据字典来管理数据库表和字段。
- OneWorld / EnterpriseOne (JDEe1) 架构:这是 JDE 的核心,它将系统分解为“企业级” (Enterprise)、“业务单元” (Business Unit) 和 “主组织” (Master Business Unit),允许在单个系统中管理多个独立或关联的业务实体。
- 工具集:JDE 的“瑞士军刀”,是所有开发和配置工作的基础,我们将在下一部分详细介绍。
第三部分:核心开发工具
这是 JDE 开发人员必须掌握的核心技能,JDE 的工具集非常强大,但初学者可能会感到有些不知所措,建议从以下工具开始学习:
开发环境
- EnterpriseOne Tools Release:这是安装在开发者 PC 上的客户端软件,包含了所有开发工具,你需要一个有效的许可证才能使用。
- 版本控制:JDE 使用自己内置的版本控制系统来管理对象(如报表、程序等)的修改历史,这是团队协作开发的基石。
核心工具详解

| 工具名称 | 主要用途 | 学习要点 |
|---|---|---|
| Form Design Aid (FDA) | 设计和修改用户界面(窗口)。 | - 理解 JDE 的“事件驱动”编程模型。 - 掌握字段的属性(数据类型、编辑、帮助等)。 - 学习如何添加子窗格、按钮、菜单项。 |
| Business View Design Aid (BV) | 创建和修改数据查询(Business Views),这是 FDA 的数据源。 | - 理解“业务视图”的概念,它类似于数据库视图,但更强大。 - 学习如何关联物理文件、添加计算字段、设置排序和选择条件。 |
| Report Design Aid (RDA) | 设计和修改报表。 | - 学习不同类型的报表(列表、主从、矩阵等)。 - 掌握公式编辑器,用于创建复杂的计算逻辑。 - 理解报表的“区”(Header, Detail, Footer, Trailer)。 |
| Business Function Workbench (BFW) | 查看和修改核心业务逻辑。 | - 理解“业务函数”是 JDE 的可重用代码块。 - 学习如何调用业务函数、传递参数和获取返回值,这是 FDA 和 RDA 编程的基础。 |
| Development Studio (for EnterpriseOne) | 新一代的集成开发环境,主要用于 Java 和 .NET 的集成开发。 | - 对于传统 RPG/400 开发者,此工具非必需。 - 对于需要与 Web 服务、Java 应用集成的开发者,这是主要工具。 |
| Table Management (TDF) | 管理数据库表结构。 | - 学习如何创建、修改物理表。 - 理解数据字典如何与物理表关联。 |
| Data Dictionary Management (DDM) | 管理数据字典,这是 JDE 的“元数据”中心。 | - 理解“数据项”的概念,它是所有字段定义的基础。 - 学习如何创建数据项、设置其属性(长度、类型、帮助文本等)。 |
第四部分:学习路径建议
对于初学者,建议遵循以下路径,循序渐进:
基础准备 (1-2 周)
- 了解业务:学习 ERP 的基本概念,特别是财务、供应链(采购、销售、库存)的业务流程,不懂业务,很难理解系统设计。
- 熟悉环境:在你的电脑上安装 JDE Tools 环境(通常由公司提供),尝试登录 SmartClient 或 HTML Client,浏览一些标准模块(如采购订单、销售订单)的界面,感受系统的操作。
入门工具与简单开发 (1-2 个月)
- 从 RDA 开始:报表是最直观的切入点,学习使用 RDA 修改一个现有的简单列表报表(如供应商主文件列表),尝试添加一个计算字段(如将电话号码格式化)。
- 学习 FDA 和 BV:选择一个简单的窗口(如物料主文件维护),在 BV 中理解它的数据来源,然后在 FDA 中尝试:
- 修改一个字段的帮助文本。
- 添加一个新的只读字段来显示关联信息(如供应商的信用等级)。
- 添加一个按钮,点击后弹出一个消息框。
- 掌握基础语法:学习 JDE 的公式语言(RDA)和事件处理语言(FDA),包括变量、赋值、IF/ELSE、循环、函数调用等。
核心编程与业务逻辑 (2-3 个月)
- 深入 Business Functions:这是从“配置”走向“开发”的关键,学习如何使用 BFW 查看、调用和修改业务函数。
- 编写自定义业务函数:当标准功能无法满足需求时,你需要编写自己的业务函数,这通常用 RPG/400 (在 IBM i 平台) 或 C (在其他平台) 完成,这是学习的难点,需要一定的编程基础。
- 掌握子程序:学习在 FDA 中如何调用子程序(通常是一个包含业务逻辑的 OCM 或 C/C++ 程序)来处理复杂的业务校验或计算。
- 版本控制与迁移:学习如何使用 JDE 的版本控制工具包对象,并使用 Deployment Manager (DM) 或 Enterprise Server Manager (ESM) 将开发环境中的对象迁移到测试和生产环境。
高级主题与专项
- 系统集成:学习 JDE 与外部系统的集成方式,如:
- Enterprise Server (ES):处理异步任务、报表输出、文件传输。
- Oracle Integration Cloud (OIC):现代云集成平台,用于连接 JDE 和 SaaS 应用。
- Web Services:将 JDE 的业务函数暴露为 Web 服务。
- 性能优化:学习分析慢查询、优化业务视图、合理使用缓存等技巧。
- 升级与迁移:了解 JDE 版本升级的流程和注意事项。
第五部分:学习资源
官方资源
- Oracle Help Center:最权威的文档库,几乎所有工具和功能都有详细的官方指南和参考资料。 https://docs.oracle.com/en/middleware/jde/
- Oracle University:提供官方的培训课程,从基础到高级,适合系统化学习。
- My Oracle Support (MOS):Oracle 的技术支持门户,可以查找知识库文章、提交服务请求,通常需要客户账号才能访问。
社区与论坛
- Oracle JDEdwards Community:官方社区,有博客、论坛和讨论组。
- LinkedIn Groups:加入 "Oracle JDEdwards Users Group" 等群组,可以找到同行,提问并分享经验。
- 第三方论坛:一些专注于 ERP 的论坛也有 JDE 版块。
书籍
- 市面上关于 JDE 的书籍相对较少,且多为旧版,可以搜索 "JDE Edwards Programming", "JDE Edwards Tools Guide" 等关键词,最可靠的学习材料还是官方文档。
实践项目
- 最佳学习方式:找一个小型项目来实践。
- 为某个部门创建一个定制化的报表。
- 为一个业务流程(如费用报销)创建一个简单的维护界面。
- 修改一个现有程序的校验逻辑。
第六部分:常见问题与技巧
-
Q: JDE 和 SAP、Oracle EBS 有什么区别?
- A: JDE 以其易用性、快速实施和较低的总拥有成本著称,特别受中型企业和特定行业(如分销、制造)的青睐,SAP 功能更全面、庞大,适合超大型企业,Oracle EBS (现 Fusion ERP) 则与 Oracle 数据库和中间件结合更紧密。
-
Q: 学习 JDE 需要编程基础吗?
- A: 对于配置(如报表、界面修改),逻辑思维和业务理解更重要,编程要求不高,对于深度开发(如编写业务函数、集成),则需要具备 C/RPG/Java 等编程语言基础。
-
Q: 如何快速上手?
- A: 多看、多问、多练,找一个经验丰富的导师或同事带你,会事半功倍,不要害怕修改系统,但一定要在开发/测试环境中进行,并理解每个修改的后果。
希望这份教程能为你打开 Oracle JD Edwards 的大门,祝学习顺利!
