Chinaunix首页 | 论坛 | 博客
  • 博客访问: 586682
  • 博文数量: 154
  • 博客积分: 10208
  • 博客等级: 上将
  • 技术积分: 2225
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-16 14:02
文章分类

全部博文(154)

文章存档

2012年(4)

2011年(44)

2010年(50)

2009年(4)

2008年(52)

我的朋友

分类:

2010-08-05 10:03:27

本架构借鉴change document的更新机制,在更新前通过change document函数changedocument_prepare_tables 比较新旧数据之间的差异,即比较本文中所称的X结构(xdata)Y结构(ydata)X结构存储的是老的数据,Y结构存储着进行更新后的数据。在比较之前我们需要准备这两个结构的数据,本框架首先基于该机制构建两个结构,在SE11中构建X结构和Y结构,所有待更新的表结构都挂这两个结构下。

使用该框架的程序执行时首先取到已有的旧数据到XY结构中,界面上所有待更新的字段都参考Y结构创建,界面字段更新时Y结构中的内容同步更新。保存前通过前文提到的function module逐个表判断X结构和Y结构中数据的差异,该FM会自动标识哪些记录是新增、修改、删除的记录,然后根据标识分别存放到三个内表中,最后通过判断三个内表是否为空分别进行更新,共同提交事务完成更新。

         本框架的优点在于:当需要添加表字段时,我们只需要在SE11中修改相应表结构,然后在程序界面上参考Y结构添加相应的字段即可,更新逻辑会自动完成,无需做其他任何程序上的修改。当然如果需要添加检查逻辑的话,还是需要添加相应的程序逻辑的。另外,无需我们开发人员来判断是新增还是修改亦或删除,通过复用change documentFM来完成。第三,本框架使用起来简单,我们只需要明白X结构、Y结构的功用,基本可以构建自己的程序结构,完成易于阅读、易于修改的程序。

阅读(693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~