update module (更新模块)

【转自http://blog.csdn.net/zhongguomao/article/details/6712568】

function module:
更新程序必须用一个特殊的FM(update module)来实现。

1.Exporting Exception参数被忽略

UPDATE MODULE和其他的FM一样,有传输参数的接口,但是只能有IMPORTING和TABLES,并且类型只能用参考或者结构,EXPORTING和EXCEPTION参数在UPDATE MODULE里是被忽略的。

2.Commit work or Roll back work 时才执行
UPDATE MODULE里包含实际的数据库更新语句。
使用这样写法的FM不会立即执行,而是写进LOG TABLE,作为一个执行请求,一个SAP LUW下的更新请求存储在同一个UPDATE KEY下对一个SAP LUW来说UPDATE KEY是一个唯一的世界范围的识别码,意思就是一个SAP LUW的

UPDATE KEY是唯一的,不会和另外的SAP LUW的UPDATE KEY重复 。
只有当程序执行到COMMIT WORK的时候,才会为这些请求创建一个抬头条目LOG HEADER,表示以上这些同样UPDATE KEY的属于同一个包,然后系统关闭这个LUW。
当LOG HEADER创建以后,系统通知DISPATCHER有一个更新包已经准备好可以处理了。

COMMIT WORK [AND WAIT(同步)].
如果使用AND WAIT选项,那么在程序继续执行以前,它要等到更新任务的结束(等待更新数据库表的过程)。如果更新是成功的,SY-SUBRC 就设置为0。如果 SY-SUBRC 返回一个非零值,就没有成功的存储所作的更改。

时间: 2024-10-25 06:26:33

update module (更新模块)的相关文章

SAP系统更新模块

SAP 系统中,一些单据保存到数据库用的是 update mudule function. 命名是ME_UPDATE_* (业务说明) 例:PR save module: ME_UPDATE_REQUISITION ME_UPDATE_INFORECORD   更新采购主记录数据 ME_UPDATE_AGREEMENT_PO更新采购凭证 ME_UPDATE_SCHEDULE_EKPO计划协议下达 ME_UPDATE_DELIVERY       更新采购凭证 ??? 一些增强如果可以在单据保存时

Module Zero模块 [X-Admin&ABP框架开发-RBAC]

在业务系统需求规划过程中,通常对于诸如组织机构.用户和角色等这种基础功能,通常是将这部分功能规划到通用子域中,这也说明了,对于这部分功能来讲,是系统的基石,整个业务体系是建立于这部分基石之上的,当然,还有诸如多语言.设置管理.认证和授权等.对于这部分功能,ABP中存在这些概念,并且通过Module Zero模块完成了这些概念. 一.角色访问控制之RBAC RBAC:Role Based Access Control,基于角色的访问控制,这在目前大多数软件中来讲已经算得上是普遍应用了,最常见的结构

安装Visual Studio 2013 update 2 更新包记录和新功能简单体验

昨天下载了进4个小时,将visual studio 2013 update 2 更新包和visual studio 2013 完整安装包(包含UPDATE2)的下载完成,今天抽出时间体验一下,昨天在网上看了一下英文翻译的说明,增加了一些支持和改进,我只是针对于我所看到的来操作使用一下,看看有啥变化吧.将ISO文件加载到虚拟光驱,然后开始安装更新包,界面弹出后告诉我需要大概3个多G的硬盘空间,嗨真是大啊.点击安装开始继续安装,我截个图如下 剩下是就是等着安装完成了,整个安装过程还是比较慢的,安装的

module.inc 模块

/**  *加载所有已经在系统表被启用的模块.  *@参数$bootstrap  *是否加载在"引导模式"缓存页面加载的模块只减少集.见bootstrap.inc文件.  *@return  *如果$bootstrap为NULL,则返回一个布尔值,指示是否所有的模块已加载.  */ function module_load_all($bootstrap = FALSE) /*  *返回当前激活的模块的列表.  *  *通常情况下,这将返回所有启用的模块的列表.当在引导称为早期,它会返回

《JavaScript设计模式》深入学习 —— Module(模块)模式

模块是任何强大因工程需架构中不可或缺的一部分,它通常能够帮助我们清晰地分离和组织项目中的代码单元. (1) 对象字面量 var myObject = { variableKey : 'variableValue', functionkey : function () { // ... } }; 对象字面量不需要用new运算符来进行实例化,但不能用在一个语句的开头,因为开始可能被解读为一个块的开始.在对象的外部,新成员可以使用如下赋值语句来添加到对象字面量上: myObject.array = '

security update 补丁更新失败

安装卡在了7月的某一个补丁 windows\windowsupdate.log  找到如下错误 2014-08-03 16:02:45:665 1284 2264 PT +++++++++++  PT: Synchronizing server updates  +++++++++++2014-08-03 16:02:45:665 1284 2264 PT  + ServiceId = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}, Server URL = ht

mssql sql高效关联子查询的update 批量更新

/* 使用带关联子查询的Update更新     --1.创建测试表 create TABLE Table1     (     a varchar(10),     b varchar(10),     c varchar(10),     CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED     (     a ASC     )     ) ON [PRIMARY] create TABLE Table2     (     a varchar(10

Microsoft Update客户端更新

?? 大家好, 微软Microsoft Update产品组官方博客于昨天宣布了有关最新的Windows Update客户端更新的消息.根据这则博客,微软从当日开始逐渐向所有Windows 7, Windows Server 2008, Windows 8, Windows RT和Windows Server 2012用户推送新的Microsoft Update和Windows Update客户端.此项客户端更新的主要目的是加强MU/WU客户端的安全性,以及使MU/WU客户端与服务器的通讯更为安全

Windows 8.1 Update 2更新了什么?

Windows 8.1的第二个更新将于8月12日(周二补丁日)发布,官方命名是“8月更新”(August Update).但是之前我们已经知道Windows 8.1 Update 2不可能重新提供开始菜单,那么它究竟为大家带来了什么更新? 据知情人士透露,微软对于这个“8月更新”并不是十分重视,它并非累积性更新,只是包含一些小的设计改变,并没有重大的新功能.也就是说,这次的系统更新会带来界面上的改善,但也都是些细节处的变化. 微软原本的计划并非如此,Windows团队最初希望将它打造为另一个如同