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

如何检查ABAP交货单抬头的文档变更?已尝试CHANGEDOCUMENT_READ_HEADERS函数

检查交货单抬头文档变更的方法

首先,你用CHANGEDOCUMENT_READ_HEADERS这个函数的方向完全正确!这是SAP标准体系里读取变更文档抬头信息的核心函数,针对交货单(LIEFERUNG是正确的对象类)的场景完全适用。

接下来给你补充一些关键细节和优化建议:

  • 参数验证要点:

    • objectid必须传入10位格式的交货单编号(VBELN),注意要补前导零到10位(比如交货单是1234的话,要转成0000001234),否则可能查不到对应变更记录。
    • 如果不需要限制时间范围或操作用户,对应的参数可以直接传空值,你当前的写法也没问题,但不用特意赋值为空字符串。
  • 获取具体变更字段明细:
    如果你不仅需要抬头的基础变更信息(比如谁改的、什么时候改的),还想知道具体修改了哪些字段,建议配合使用CHANGEDOCUMENT_READ_POSITIONS函数。传入从CHANGEDOCUMENT_READ_HEADERS得到的CDHDR表中的OBJECTID和CHANGENR,就能拿到字段的前后变更值(比如交货单抬头的送达方、交货日期等内容)。

  • 归档变更记录的处理:
    如果有些旧的变更记录已经被系统归档,CHANGEDOCUMENT_READ_HEADERS可能读不到数据,这时候可以用CHANGEDOCUMENT_READ_HEADERS_ARCHIVE函数来读取归档中的变更文档。

  • 权限注意事项:
    确保当前用户拥有读取变更文档的权限(比如事务码S_TABU_DIS对应的权限对象,或相关变更文档权限),否则函数可能返回空结果。

给你一个包含抬头和明细读取的完整示例代码片段:

DATA: lt_cdhdr TYPE STANDARD TABLE OF cdhdr,
      ls_cdhdr TYPE cdhdr,
      lt_cdpos TYPE STANDARD TABLE OF cdpos,
      l_cdobjid TYPE cdhdr-objectid VALUE '0000001234'. " 替换为你的实际交货单编号

" 读取变更文档抬头信息
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
  EXPORTING
    objectclass    = 'LIEFERUNG'
    objectid       = l_cdobjid
    date_of_change = p_datfr
    time_of_change = p_timfr
    date_until     = p_datto
    time_until     = p_timto
    username       = ''
  TABLES
    i_cdhdr        = lt_cdhdr
  EXCEPTIONS
    OTHERS         = 4.

IF sy-subrc = 0.
  " 循环读取每条抬头对应的变更明细
  LOOP AT lt_cdhdr INTO ls_cdhdr.
    CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
      EXPORTING
        objectclass = 'LIEFERUNG'
        objectid    = ls_cdhdr-objectid
        changenr    = ls_cdhdr-changenr
      TABLES
        i_cdpos     = lt_cdpos
      EXCEPTIONS
        OTHERS      = 4.

    IF sy-subrc = 0.
      " 处理并输出变更明细数据
      LOOP AT lt_cdpos INTO DATA(ls_cdpos).
        WRITE: / '字段名:', ls_cdpos-fname, '旧值:', ls_cdpos-value_old, '新值:', ls_cdpos-value_new.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
ENDIF.

另外,你也可以通过事务码VL03N里的「环境->变更文档」,或者直接用事务码CDHDR、CDPOS手动查询,来验证你的函数调用结果是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:39:38