Salesforce中MIXED_DML_OPERATION错误(Setup与Non-Setup对象)的解决方案
- 7月
- 21
- Posted by Lin
- Posted in APEX, Salesforce
The folloing error will be occured if you’re trying to perform DML operation on both setup and non-setup objects in the same transation.
` MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): CustomObject__c, original object: User: [] `
Here is the sample code that can explain this case.
Setup objects are the sObjects that affect the user’s access to records in the organization. For operations with correct access-level permissions, you must insert or update these types of sObject in a different transaction.
Here are examples of the Setup Objects:
・ObjectPermissions
・PermissionSet
・PermissionSetAssignment
・QueueSObject
・Territory
・UserTerritory
・UserRole
・User
fields: UserRoleId, IsActive, ForecastEnabled, IsPortalEnabled, Username, ProfileId
Happy Coding!
Reference :
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_dml_non_mix_sobjects.htm
` MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): CustomObject__c, original object: User: [] `
Here is the sample code that can explain this case.
Setup objects
So, which objects are setup objects in Salesforce?Setup objects are the sObjects that affect the user’s access to records in the organization. For operations with correct access-level permissions, you must insert or update these types of sObject in a different transaction.
Here are examples of the Setup Objects:
・ObjectPermissions
・PermissionSet
・PermissionSetAssignment
・QueueSObject
・Territory
・UserTerritory
・UserRole
・User
fields: UserRoleId, IsActive, ForecastEnabled, IsPortalEnabled, Username, ProfileId
Solution
To fix this kind of error, you can perform DML operations on more than one transation, e.g. using a Future method.Happy Coding!
Reference :
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_dml_non_mix_sobjects.htm
Post Tagged with @future, DML, IsActive, MIXED_DML_OPERATION, non-setup object, setup object, User, UserRole
近期文章
- Salesforce DevTools Release Notes (version 3.10.0) – mass edit custom fields on lightning
- Salesforce DevTools Release Notes (version 3.9.0)- Object Fields, SOQL Query Editor
- Salesforce DevTools Release Notes (version 3.8.0)
- Salesforce DevTools的开发者用户突破10,000名!THANK YOU!
- Lightning Component中使用Promise处理Apex服务端请求
Top Posts
- Salesforce DevTools – Saleforce开发者必备Chrome扩展 - 233.6K views
- Date format 与 DateTime format - 214.4K views
- Salesforce批量编辑 (Chrome扩展) – 在任何标准视图上进行批量插入, 拷贝, 更新, 删除, 支持Classic与Lightning! - 163.8K views
- 编写一个可被计划执行的Batch Apex - 130.9K views
- 用Sublime Text 3架设Salesforce的快速开发环境 - 123.9K views
分类目录
- APEX
- 应用
- Custom Label
- Custom Metadata
- Custom Setting
- Design & UI
- 交流会
- Heroku
- iOS & Object-c
- Lightnint Component
- Linux & Mac OS
- Metadata API
- Node.js
- Open Source
- Other
- PHP Framework
- Release Notes
- REST API
- Salesforce
- Salesforce DevTools
- Salesforce DX
- SOQL
- Tooling API
- Unit Tests
- Validation Rule
- Visualforce
- WordPress
您必须登录才能发表评论。