SAP CDPOS CDHDR ASAPIO

SAP 中修改数据的记录可以通过表 CDPOS CDHDR查到。

这里我也还可以利用CDPOS CDHDR做些其他事情,利用change point做一些额外的动作,比如往消息中间件传输数据。

需要:

1、定义消息类型 Message Type (WE81),定义change point (BD52),激活change point

实现BADI  BDCP_BEFORE_WRITE,

FILTER: EDI_MESTYP, 把定义好的message type放入。这样相关change point 只有该message type才会进入增强中。

在增强中加入如下代码,change_document_positions 其实就CDPOS,change_pointers代表表BDCP2,这样满足条件的表就会记录到BDCP2中,其中PROCESS代表是否有处理。 

   loop at change_pointers assigning field-symbol(<fs_change_pointer>).
      "check new value
      read table change_document_positions assigning field-symbol(<fs_change_document>)
      with key objectid = <fs_change_pointer>-cdobjid
               fname = gc_fname_load_plan_item_status " 'LOAD_PLAN_ITEM_STATUS'
               value_new = gc_status_finalized. "'20'.
      if sy-subrc eq 0.
        continue.
      else.
        delete change_pointers.
      endif.

    endloop.

之前可以利用connection and replication object customizing 去做往消息中间件发送数据的动作。

增加相关配置,配置相关的select(抽取数据)  format(转化数据) FM, 利用STRANS等工具获取并转化数据。这些做完后,就可以利用 /ASADEV/ACI 发送数据了。这个程序会读取这里的配置信息发送数据。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值