You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置OpenEdge Progress审计功能以记录ERP业务事件?

如何在OpenEdge Progress中审计ERP业务事件(如删除客户)

嘿,我来帮你一步步搞定这个事儿——要把业务事件(比如删除客户)记录到_aud-audit-data-value表,你需要针对业务实体配置字段级审计,毕竟默认的系统审计只覆盖登录、策略变更这类系统操作,业务事件得手动开启对应的审计规则。下面是具体操作步骤:

1. 先确认基础审计配置没问题

  • 首先确保全局审计已经启用(你说已经开了默认策略,这步大概率没问题,但可以再确认下):打开PROENV命令行工具,运行 proutil <你的数据库名> -C enableauditing,如果提示审计已启用就OK。
  • 检查默认策略的审计级别:可以用SQL查询_aud-audit-policy表,看看_aud-audit-level字段是否包含field——默认可能只有system,得调整成包含字段级审计的模式。

2. 为目标业务表配置字段级审计

这里以客户表(假设表名是Customer)为例,给你两种配置方式:

  • 方式一:用图形界面(Progress Developer Studio)
    • 连接上你的数据库,找到Customer表,右键选Properties。
    • 在弹出的窗口切换到Audit标签页,勾选你需要审计的操作(比如Delete,如果需要新增、修改也可以一起选),然后选择要审计的字段(嫌麻烦直接选「All Fields」就行)。
    • 保存配置后,系统会自动把这个规则关联到你的默认审计策略。
  • 方式二:用ABL代码手动配置
    如果你习惯写代码,执行下面的ABL语句就能搞定:
    DEFINE VARIABLE hPolicy AS HANDLE NO-UNDO.
    /* 获取默认审计策略 */
    FIND _aud-audit-policy WHERE _aud-audit-policy._aud-policy-name = "Default" NO-LOCK.
    CREATE hPolicy FROM _aud-audit-policy.
    /* 配置Customer表的Delete操作审计,?表示审计所有字段,也可以指定字段如"Name,CustID" */
    hPolicy:SET-AUDIT-FOR-TABLE("Customer", "Delete", ?).
    hPolicy:SAVE().
    
    执行完记得重启应用服务,让配置生效。

3. 验证审计效果

  • 手动执行一次删除客户的操作,然后去查_aud-audit-data表,会看到一条类型为Table Delete的记录;再关联_aud-audit-data-value表,就能看到被删除客户的具体字段值了。
  • 用SQL查询验证的话,可以跑这段:
    SELECT d._aud-event-id, d._aud-event-type, v._aud-field-name, v._aud-old-value
    FROM _aud-audit-data d
    JOIN _aud-audit-data-value v ON d._aud-event-id = v._aud-event-id
    WHERE d._aud-event-type = 'Table Delete' AND d._aud-table-name = 'Customer';
    

4. 结合你正在读的文档的小提示

你看的《Developing an Audit-enabled OpenEdge Application》是核心指南,重点啃这几个章节:

  • Configuring Field-Level Auditing:详细讲表和字段的审计配置逻辑
  • Audit Data Tables Reference:搞懂_aud-audit-data和_aud-audit-data-value的字段含义,方便后续查审计记录
  • Testing Audit Configurations:教你怎么快速验证配置是否生效

内容的提问来源于stack exchange,提问作者Ezequiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 05:42:49