当前位置: 首页 > news >正文

Apex 批处理将 account owner 转移,同时实现关联的 opp 和 case 转移

实现和 mass transfer account 一样的功能:

在这里插入图片描述


global class AccountBatchScript implements Database.Batchable<sObject>,Schedulable{String query;Id oldOwnerId = 'xxxxxxxxxxxx';Id newOwnerId = 'yyyyyyyyyyyy';List<Id> AccountIds = new List<Id>();List<String> AccountNames = new List<String>{'TestAccount241112','TestAccount241113'};global AccountBatchScript() {query = 'SELECT Id,Name FROM Account WHERE OwnerId=\''+oldOwnerId+'\' AND Name IN : AccountNames';if(Test.isRunningTest())  query += ' LIMIT 10';}global Database.QueryLocator start(Database.BatchableContext BC) {return Database.getQueryLocator(query);}global void execute(Database.BatchableContext BC, List<sObject> scope) {system.debug('scope.size()'+scope.size());List<Account> accountsToUpdate = new List<Account>();for(Account acc : (List<Account>)scope) {acc.OwnerId=newOwnerId;         accountsToUpdate.add(acc);AccountIds.add(acc.Id);}System.debug('accountsToUpdate ' + accountsToUpdate);System.debug('accountsToUpdate size ' + accountsToUpdate.size());update accountsToUpdate;List<Opportunity> openOpps = [SELECT Id FROM Opportunity WHERE AccountId IN :AccountIds];for (Opportunity opp : openOpps) {opp.OwnerId = newOwnerId;}update openOpps;List<Case> openCases = [SELECT Id FROM Case WHERE AccountId IN :AccountIds AND ((IsClosed = false AND OwnerId = :oldOwnerId) OR IsClosed = true)];for (Case c : openCases) {c.OwnerId = newOwnerId;}update openCases;}global void finish(Database.BatchableContext BC) {}public void execute(SchedulableContext ctx){AccountBatchScript batch = new AccountBatchScript();Database.executeBatch(batch, 10);}}
http://www.lryc.cn/news/483335.html

相关文章:

  • Python | Leetcode Python题解之第557题反转字符串中的单词III
  • Spring设计模式
  • 信号保存和信号处理
  • 网站小程序app怎么查有没有备案?
  • 如何利用宏和VBA来提高文档编辑排版速度?
  • Kafka - 启用安全通信和认证机制_SSL + SASL
  • c++基础32输入和输出
  • [C++] 函数详解
  • AMD CPU下pytorch 多GPU运行卡死和死锁解决
  • Swift 开发教程系列 - 第12章:协议与协议扩展
  • 麒麟V10,arm64,离线安装docker和docker-compose
  • NUXT3学习日记二(样式配置、引入组件库、区分在服务端还是在客户端渲染)
  • FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
  • Javascript高级—闭包问题
  • C#入门 017 字段,属性,索引器,常量
  • 磐石云语音助手拦截介绍
  • JSP执行过程及其与Servlet执行效率的比较
  • open3d
  • Vue中优雅的使用Echarts的三种方式
  • SpringBoot配置文件/日志
  • 微服务架构面试内容整理-SpringCloud Netflix‌与Spring Cloud Alibaba比较
  • JDBC魔法:连接MySQL数据库与数据操作的秘籍
  • 深入了解Scratch:引导初学者开启编程之旅
  • js复制内容到剪切板
  • 代码 RNN原理及手写复现
  • 企业官网的在线客服,如何提高效果?
  • 「实战应用」如何可视化 DHTMLX Scheduler 中的资源工作量?
  • 论文阅读《BEVFormer》
  • sql专题 之 sql的执行顺序
  • Vue3 -- 基于Vue3+TS+Vite项目【项目搭建及初始化】