ローカル更新では、更新プログラムは要求を処理したのと同じワークプロセスによって実行されます。ダイアログユーザは更新が終了するまで待ってから追加データを入力しなければなりません。データベースへのアクセス量を減らしたいときに、この更新が便利です。ローカル更新のデメリットはその並列性にあります。更新は多くの異なるワークプロセスが処理することができます。非同期更新や同期更新の場合はこれとは異なり、更新ワークプロセスが少ない(おそらく1つしか存在しない)ため、更新はシリアル化されます。

ローカル更新に切り替えるときは、 ABAP 命令 SET UPDATE TASK LOCAL を使用します。この命令で‘ローカル更新切替’が設定されます。この切替が設定されると、 CALL FUNCTION IN UPDATE TASK がローカル更新要求として認識されます。更新は COMMIT WORK を含むダイアログステップと同じワークプロセスで処理されます。トランザクションは更新が終了するまで待ってから処理を続行します。

1つの例として、通常はダイアログモードで実行する非同期更新を使用するプログラムがあるとします。しかし、今度はそのプログラムをバックグラウンドで実行したいとします。プログラムをバックグラウンドで実行するときはシステム応答時間は無関係であり、更新が実際に終了したときはプログラムに処理を続行させたいだけなので、プログラムに SET UPDATE TASK LOCAL スイッチを設定することができます。そのうえでシステム変数を使って、プログラムが現在バックグラウンドで実行中かどうか、実行時にチェックすることができます。

デフォルトでは、ローカル更新スイッチは設定されず、各 COMMIT WORK または ROLLBACK WORK 後にリセットされます。したがって、各 SAP LUW の前に SET UPDATE TASK LOCAL 命令をインクルードする必要があります。

ローカル更新のなかでデータをリセットすると、 ROLLBACK WORK 命令がトランザクションのダイアログ部と更新部の両方に適用されます。なぜならば、新規の SAP LUW がその更新に対して開始されないからです。

参考文献

  ローカル更新

SET UPDATE TASK LOCAL (ローカル更新 )的更多相关文章

  1. ABAP-SET UPDATE TASK LOCAL

    SET UPDATE TASK LOCAL 影响 切换本地更新任务.这意味着当您指定  CALL FUNCTION ... IN UPDATE TASK时,更新数据不会存储在数据库中,而是存储在ABA ...

  2. SET UPDATE TASK LOCAL

    SET Effect Switches on the local update task. This means that when you specify CALL FUNCTION ... IN ...

  3. 关于 IN UPDATE TASK

    [转 http://blog.sina.com.cn/s/blog_6f74e6d50100sq57.html]更新程序必须用一个特殊的FM(update module)来实现. 1.Exportin ...

  4. 配置Windows Update,补丁更新

    配置Windows Update更新下载及安装方式: #NotificationLevel说明: # 0:未配置,不会对当前设置进行更改 # 1:从不检查更新 # 2:检查更新,但是让我选择是否下载和 ...

  5. 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    [转]PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理 只要有人用了: select t.* from ...

  6. ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql

    转: ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql 本文为博主原创,转载请注明出处. 在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时 ...

  7. Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果

    我们在对Oracle数据库进行操作时,有时会在查询完结果后想要对其中的某些数据进行操作,当我们点击编辑(一个锁标志)是,会提示我们上述问题中的错误:这些查询结果不可更新,请使用ROWI或者SELECT ...

  8. ABAP术语-Update Task

    Update Task 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/20/1114184.html Part of an ABAP pro ...

  9. SpringMVC+Hibernate 使用 session.update(obj) 未更新的问题

    1.使用spring控制事务 2.使用session.update(obj)执行更新 spring事务配置: <bean id="transactionBese" class ...

随机推荐

  1. 【分享】Adobe Flash Player各版本安装包官方直接下载地址

    用常规方法下载比较繁琐,先会下个下载器,再下载安装包安装, 这里直接列出了安装包的下载地址,点击进入各版本的下载总页面, 拉到最下方就有各版本的下载地址,这里我直接列出来了: Chrome用的PPAP ...

  2. python UI自动化实战记录一:测试需求与测试思路

    测试需求: 项目包含两个数据展示页面,数据均来自于四个数据源接口. 测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新.需验证页面上的数据与数据源接口数据一 ...

  3. MySQL:数据库入门篇2

    #移除主键时需要先解除递增,才能解除主键 alter table info modify id int null , drop PRIMARY key 一.用户权限 1.创建用户 create use ...

  4. python:常用模块二

    1,hashlib模块---摘要算法 import hashlib md5 = hashlib.md5() md5.update('how to use md5 in python hashlib?' ...

  5. [18/12/05]接口(interface)

    一.定义(类之上的公共标准) 一个特殊的类,用interface关键字来表示.只有全局变量和抽象方法.解决Java中子类只能单继承的问题 [语法] [访问修饰符:public 或 default]  ...

  6. 2018.11.15 Nginx服务器的使用

    Nginx简单教程 1.什么是Nginx? Nginx(engine x)是一款轻量级的Web服务器.反向代理服务器及电子邮件(IMAP/POP3)代理服务器 什么是反向代理服务器? 反向代理方式是指 ...

  7. js通过codeURL画二维码

    一.函数封装 //生成微信二维码 function xyqrcode(options) { var settings = { dom:'', render: 'canvas', //生成二维码的格式还 ...

  8. 八数码(IDA*算法)

    八数码 IDA*就是迭代加深和A*估价的结合 在迭代加深的过程中,用估计函数剪枝优化 并以比较优秀的顺序进行扩展,保证最早搜到最优解 需要空间比较小,有时跑得比A*还要快 #include<io ...

  9. 【luogu P1972 [SDOI2009]HH的项链】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1972 真是不懂为什么要卡莫队! #include <cmath> #include <cs ...

  10. Spring boot中使用servlet filter

    Spring boot中使用servlet filter liuyuhang原创,未经允许请勿转载! 在web项目中经常需要一些场景,如参数过滤防止sql注入,防止页面攻击,空参数矫正等, 也可以做成 ...