【SAP ABAP 获取采购申请首次审批时间】

本篇将从SAP前台和后台数据库表两个方面介绍如何获取到采购申请的首次审批时间


前台查看

使用采购申请相关事务码,这里我用的是ME29N审批采购申请
选中采购申请行项目点击上方环境-》项目更改
在这里插入图片描述

可以看到采购申请所有的更改记录
在这里插入图片描述
采购申请首次审批的时间就是批准标识旧值为X新值为R的第一条记录
在这里插入图片描述

从后台数据库抓取数据

这里介绍两个记录凭证更改信息的数据库表:CDHDR和CDPOS
CDHDR存储变更操作的基本信息,用户在某个时间对某个对象如采购申请、采购订单等做了某个操作。
CDPOS存储具体字段的变更细节如哪些字段被修改,旧值和新值是什么。

se16n输入CDPOS表,在对象值字段输入需要查询的凭证编号,对字段进行过滤,只查找字段名称为FRGKZ审批标识,旧值为X的数据
在这里插入图片描述
可以发现同样的数据出现了两次,这是因为采购申请的行项目有两条
在这里插入图片描述
再根据文档编号去CDHDR表查找这条变更记录的时间
在这里插入图片描述
在abap程序中可以这样取值:

 SELECT p~objectid ,                  " 采购申请号
             MIN( c~udate ) AS firstappro " 取最早的审批日期
        FROM cdpos AS p
  INNER JOIN cdhdr AS c                   " 关联变更记录抬头表
          ON p~objectid   = c~objectid         " 采购申请号一致
         AND p~changenr   = c~changenr         " 变更号一致
       WHERE p~objectclas = 'BANF'
         AND p~tabname = 'EBAN'                " 采购申请表
         AND p~fname = 'FRGKZ'                 " 审批状态字段
         AND p~value_old = 'X'                 " 旧值为 'X'(表示已审批)
         AND p~objectid IN ( SELECT t~objectid FROM @lt_cdpos AS t )
         GROUP BY p~objectid                     " 按采购申请号分组
         INTO TABLE @DATA(lt_cdpos2).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值