ローカル更新では、更新プログラムは要求を処理したのと同じワークプロセスによって実行されます。ダイアログユーザは更新が終了するまで待ってから追加データを入力しなければなりません。データベースへのアクセス量を減らしたいときに、この更新が便利です。ローカル更新のデメリットはその並列性にあります。更新は多くの異なるワークプロセスが処理することができます。非同期更新や同期更新の場合はこれとは異なり、更新ワークプロセスが少ない(おそらく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. php xml字符串转数组

    function xmltoarr($path){//xml字符串转数组 $xmlfile = file_get_contents($path);//提取xml文档中的内容以字符串格式赋给变量 $ob ...

  2. 『看球笔记』20140208利物浦VS阿森纳,十字重剑与蜜蜂飞舞

      红圈位置42%对58%的控球率,是不是觉得比分很不符?我们卖个关子,最后再说这个.   十字重剑     第一次任意球防守,俩后卫盯俩后卫,负责斯科特尔的是科斯切尔尼,而默特萨克盯图雷.     ...

  3. POJ 3321 DFS序

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 30636   Accepted: 9162 Descr ...

  4. 从OC和C#中找乐趣:相同又不同的delegate

    不想说话,本来第一段打了一大堆废话,结果浏览器崩溃了...直接进入正题吧.看Demo: C#里面也有delegate,我今天的目的就是模仿着OC里面的写法来写一个网络请求模拟类.先建一个“Protoc ...

  5. 【luogu P1082 同余方程】 题解

    最近一直在学习数论,讲得很快,害怕落实的不好,所以做一道luogu的同余方程练练手. 关于x的同余方程 ax ≡ 1 mod m 那么x其实就是求a关于m的乘法逆元 ax + my = 1 对于这个不 ...

  6. Mysql之inner join,left join,right join详解

    首先借用官方的解释下: inner join(等值连接):只返回两个表中联结字段相等的行: left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录: right join(右 ...

  7. Swift_控制流

    Swift_控制流 点击查看源码 for-in 循环 //for-in 循环 fileprivate func testForIn() { //直接循环提取内部数据 //[1,5] for index ...

  8. JS中常见算法问题

    JS中常见算法问题 1. 阐述JS中的变量提升(声明提前) 答:将所有的变量提升当当前作用域的顶部,赋值留在原地.意味着我们可以在某个变量声明前就使用该变量. 虽然JS会进行变量提升,但并不会执行真正 ...

  9. A^B Mod C (51Nod - 1046 )(快速幂)

    给出3个正整数A B C,求A^B Mod C.   例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^ ...

  10. SAP ABAP 日期,时间 相关函数

    获的两个日期之间的分钟数 data min TYPE i. CALL FUNCTION 'DELTA_TIME_DAY_HOUR' EXPORTING T1 = ' T2 = ' D1 = ' D2 ...