跳转至

Extension 开发资源

Infor Extension 开发框架资源汇总,支持 M3(XtendM3)和 LN Extension Modeler。


🔧 Infor M3 - XtendM3

官方资源

资源名称 简介 链接
XtendM3 (GitHub) M3 云扩展开发框架,安全、现代、高可用 GitHub
XtendM3 示例仓库 官方扩展示例集合 GitHub
XtendM3 Java SDK XtendM3 Java SDK GitHub
XtendM3 Maven 插件 XtendM3 Maven 构建插件 GitHub
XtendM3 官方文档 安装、配置、开发指南 文档
XtendM3 - Infor Developer Portal 开发者门户中的 XtendM3 导入指南 访问
Acme Corp Extensions 版本控制示例仓库(公开模板) GitHub

XtendM3 扩展示例

// XtendM3 示例:在 M3 中创建扩展
// 文件:extensions/ExampleExtension.js

const { Extension, Before } = require('@infor/xtendm3');

class ExampleExtension extends Extension {
  @Before('M3API', 'MMS001MI', 'AddItem')
  async beforeAddItem(context) {
    const { request, session } = context;

    // 自定义验证逻辑
    if (request.data.ITNO.length < 5) {
      throw new Error('Item number must be at least 5 characters');
    }

    // 修改请求数据
    request.data.ITNO = request.data.ITNO.toUpperCase();

    return request;
  }
}

module.exports = ExampleExtension;

🔧 Infor LN - Extension Modeler

官方资源

资源名称 简介 链接
Infor LN Extension Modeler 指南 使用 Extension Modeler 扩展 LN 功能 查看文档
LN Extension 开发实战 Extension 开发实战指南 查看
LN 4GL 开发技巧 DAL2 / Extension / Public Interfaces 查看

LN Extension 示例

| LN Extension 示例:在采购订单行保存前验证
| 文件:ln-extension/po-line-validate.ext

function extern short before.save.po.line()
{
  | 获取当前行数据
  string item = whinp001.item
  double qty = whinp001.qty.ordered

  | 自定义验证:检查最小订购量
  if qty < 1.0 then
    message.error("订购数量必须大于等于 1")
    retval = -1  | 阻止保存
    return(retval)
  endif

  | 调用自定义 DAL 函数
  long result = dal.call.function("custom.validate.item", item)
  if result != 0 then
    message.error("物料验证失败:" + dal.get.error.message())
    retval = -1
    return(retval)
  endif

  retval = 0  | 允许保存
  return(retval)
}

📖 开发指南

M3 Extension 开发流程

  1. 安装 XtendM3 SDK
  2. 参考:Installation instructions XtendM3 SDK and Github

  3. 创建扩展项目

    xtendm3 create my-extension
    cd my-extension
    npm install
    

  4. 编写扩展逻辑

  5. 使用 JavaScript/TypeScript
  6. 支持 Before/After 钩子
  7. 支持 M3 API 调用

  8. 测试和部署

  9. 本地测试:使用 M3 H5 SDK
  10. 部署:通过 Infor OS Portal

LN Extension 开发流程

  1. 打开 LN Extension Modeler
  2. 工具路径:LN → 开发工具 → Extension Modeler

  3. 创建扩展

  4. 选择目标 Session 或 Report
  5. 选择扩展点(Before/After/Save/Delete 等)

  6. 编写 4GL 代码

  7. 使用标准 4GL 语法
  8. 可以调用 DAL 函数和 Public Interfaces

  9. 部署扩展

  10. 打包为 .pac 文件
  11. 使用 LN Package Manager 安装

🔗 相关资源


欢迎提交更多 Extension 开发资源!请查看 资源提交规范

最后更新:2026-05-11