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

    Unix/Linux 系统上 Perl 安装步骤如下: 通过浏览器打开 http://www.perl.org/get.html. 下载适用于 Unix/Linux 的源码包. 下载 perl-5.x ...

  2. 设计模式——工厂模式(Factory Method)

    工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪个类.工厂方法使一个类的实例化延迟到其子类. UML图: 运算基类: package com.cnblog.clarck; /** * 数据 ...

  3. 【BZOJ3495】PA2010 Riddle

    题目大意 有\(n\)个城镇被分成了\(k\)个郡,有\(m\)条连接城镇的无向边.要求给每个郡选择一个城镇作为首都,满足每条边至少有一个端点是首都. 题目分析 每条边至少有一个端点是首都,每个郡至多 ...

  4. BZOJ1820:[JSOI2010]Express Service 快递服务(DP)

    Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...

  5. LA 4015 树形背包

    题目链接:https://vjudge.net/contest/164840#problem/D 题意: 给一棵树,每条边上有一些权值,求 长度不超过 x ,最多能走多少个点: 分析: 考虑每一个节点 ...

  6. Uva 10534 波浪子序列

    题目链接:https://vjudge.net/contest/160916#problem/C 题意: 求一个奇数长的子序列,前一半严格递增,后一半严格递减:O(nlogn) 分析: 再次复习一下L ...

  7. 解决Sublime Text乱码问题

    第一步:安装Package Control 大家如果是在官网下载的Sublime Text 3,那么首先需要安装一个 Package Control包,这是一个用来安装其他插件的包,不管装什么插件,首 ...

  8. qbxt Day 5 图论一些基础知识

    就是一些感觉比较容易忘的知识 假设根为第0层, 在二叉树的i层上至多有2i个结点,整颗二叉树(深度为k)最多有\(2^{k+1}-1\)个节点 对于任何一棵非空二叉树,如果叶结点个数为\(n_0\), ...

  9. 【luogu P3884 [JLOI2009]二叉树问题】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3884 对方不想和你说话并向你扔了一个lca模板. #include <cstdio> #incl ...

  10. 【题解】洛谷P3200 [HNOI2009] 有趣的数列(卡特兰数+质因数分解)

    洛谷P3200:https://www.luogu.org/problemnew/show/P3200 思路 这题明显是卡特兰数的题型咯 一看精度有点大 如果递推卡特兰数公式要到O(n2) 可以证明得 ...