设为首页 收藏本站
查看: 1192|回复: 0

[经验分享] SAP change_document

[复制链接]

尚未签到

发表于 2015-9-19 14:31:37 | 显示全部楼层 |阅读模式
     SAP change_document
1、通过TCODE:SCDO 创建一个change document object。
1)输入TCODE:SCDO
  change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />


2)为change document object命名
  Namespace(名字空间)可以不填;
  注意:Customers changedocument object必须以Z或Y开始。
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

3)为change document object指定一个application table;然后插入条目;
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

4)返回到如下界面,将光标放在更改对象上,点击生成更新程序;
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

5)出现如下界面,在功能组栏输入一个function group 名称。
  此function group名称如果在b步中指定的package中不存在,则会自动创建一个新的function group。直接点击“生成”;
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

6)出现如下将要生成的清单;
change_document"  TITLE="SAP change_document" />

7)点击“保存”按钮。
change_document"  TITLE="SAP change_document" />

8)查看生成的代码:
change_document"  TITLE="SAP change_document" />


  
  至此, 成功创建了一个你所指定的application table的change document object,
  

  
2、如何记录数据库字段
1)对需要修改的字段,数据元素—更改文档打钩
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

2)调用程序更新change document
  分别有两种方式:
  方式一:通过上面介绍的4个包含程序;
  先为FZLM_TEST001CDF和FZLM_TEST001CDV中定义的变量赋值.然后使用perform语法去调用FZLM_TEST001CDC这个include中的form 程序;
  方式二:程序中直接调用
  CALL FUNCTION 'ZBP_TEST_WRITE_DOCUMENT' IN UPDATE TASK
  
  因为方式一perform的那个form实际做的也是call 这个functionmodule.
  下面详述下这种方式的步骤:
  Ø 先为Document header的管理数据等全局变量赋值;
  Object Id:是document key的一部分,所以需要考虑好起什么样的object id,以便今后搜索方便。一种方式是把changed record的KEY作为objectid;
  global fieldstcode,utime,udate,username输入当前的transaction code,change time anddate以及改变数据的username即可.
  UPD_<application table’sname>   = 'U ' 表示做的是更新;
  UPD_<application table’sname>   = 'I ' 表示做的是创建;
  UPD_<application table’sname>   = 'D ' 表示做的是删除;
  &Oslash; 封装程序修改之前的数据和修改之后的数据。通过与表结构一样的结构体去封装;
  &Oslash; 在同一个SAP LUW中去做application table的更新和change document的更新;
  &Oslash; 提交事务。
  
  程序demo如下:
change_document"  TITLE="SAP change_document" />

  执行结果:
change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

  
  

3、查看 changedocument
  通过TCODE:RSSCD100
   change_document"  TITLE="SAP change_document" />

change_document"  TITLE="SAP change_document" />

附录:
1、命名规则和功能简介:
  1更新函数模块:它是自动创建的,命名规则是:<change documentobject’name>_WRITE_DOCUMENT;
  在这个例子中就为ZLM_TEST001_WRITE_DOCUMENT;
  通过调用这个functionmodule,按照它的要求去传参数就能实现我们的记录表的更新的作用;该方法是update V1 模式的。
  2)四个包含程序:命名规则分别是:
  F<change documentobject’name>CDT 对应 FZLM_TEST001CDT
  F<change documentobject’name>CDF 对应 FZLM_TEST001CDF
  F<change documentobject’name>CDV 对应 FZLM_TEST001CDV
  F<change documentobject’name>CDC 对应 FZLM_TEST001CDC
  分别打开四个包含程序,可以看到:
  a)  FZLM_TEST001CDT内容是:
  include fzlm_test001cdf.
include fzlm_test001cdv.
  b)  FZLM_TEST001CDF内容是:
  一些全局变量的定义,任何一个change documentobject的创建都会有这些,与具体的application table无关;
  c)  FZLM_TEST001CDV内容是:
  一些与该change documentobject对应的applicationtable相关的变量定义;
  d)  FZLM_TEST001CDC内容是:
  一个form 程序。参数是:FZLM_TEST001CDF和FZLM_TEST001CDV定义的变量。
  这个form 程序所做的工作就是:
  CALL FUNCTION 'ZLM_TEST001_WRITE_DOCUMENT' IN UPDATE TASK
  ……
  注意:要加上IN UPDATE TASK.
  
2、各种模式的测试:

change_document"  TITLE="SAP change_document" />
1)当插入使用‘I’模式时,能体现记录情况,没有插入的新旧值记录

2)删除使用‘D’模式,显示删除记录,没有记录删除的新旧值变化

3)在插入时使用‘U’模式:体现了插入的新值变化

4)删除时使用’U’,没有操作记录,所有删除不能使用U模式


  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-115919-1-1.html 上篇帖子: HDU 4292 Food (SAP | Dinic ) 下篇帖子: SAP Sales and Distribution Processing Document Flow
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表