货铺QQ群号:834508274
群里有人问相关问题,看群友回答,有点眼熟,但是自己想不起来了,然后翻看了记录才找到。
这里再发一遍,嗯,温故而知新。
用户提出个需求,在POP2 的时候,发现没记录是谁修改了什么,想把操作记录 记下来,方便查询。
一般标准操作都是有change log的,可以查操作记录。
POP2 操作
POP2 还真没有找到 对应的change document object
所以需要自己建,也简单。
先查看下想记录的这些内容在哪些表里。方法有很多,st05啊获取就靠f1啊之类的都行,只要找到对应的表就行了。过程这里不赘述。
其实仅仅记录PACKPO表就够了,这些字段都在这个表里有。
新建change document object:
SCDO
new 一个之后,点information,然后根据提示的内容生成代码激活即可。
具体细节这里不粘贴了,不会的童鞋可以参考我几年前的新浪博客(http://blog.sina.com.cn/s/blog_c0978c9b0101g2xq.html)
然后就是增强位置:
BADI:PL_PACK_INSTR_BADI
interface Method:PACK_INSTR_BEFORE_SAVE
se19创建实例即可
具体代码就不粘贴了,就是针对增删改调用生成的 wait_document函数
保存激活后,POP2 修改,然后
TCODE:RSSCD100
执行
做了U 更新,旧值180,改为了80.
当然也可以自己开发报表来展示,一般客户也要求,按规定的条件来查询修改记录
就是change document 的日志表:
FROM CDHDR INNER JOIN CDPOS ON ( CDPOS~OBJECTCLAS = CDHDR~OBJECTCLAS AND
CDPOS~OBJECTID = CDHDR~OBJECTID AND
CDPOS~CHANGENR = CDHDR~CHANGENR )