Trigger: Find out the name of the object the trigger is firing for?
Is it possible for the trigger to see the name of the object it's firing for? Say can I make the OpportunityTrigger be aware that the object name it's firing for is Opportunity
without hardcoding the object name in the code?
EDIT
I want to use Custom Metadata to make Object_To_Track_mdt
. Once a trigger fires I want to use the object name the trigger is firing for to see if the object needs to be tracked or not. Here's a very rough code sample I have in mind:
Object_To_Track__mdt trackedObject = [
SELECT Id,
(SELECT Id FROM Fields_To_Track__r)
FROM Object_To_Track__mdt
WHERE DeveloperName='Lead'
];
if (trackedObject != null && trackedObject.Fields_To_Track__r.size() > 0) {
// Verify if the modified fields for Lead need to be tracked or not.
}
apex trigger custom-metadata sobjecttype
add a comment |
Is it possible for the trigger to see the name of the object it's firing for? Say can I make the OpportunityTrigger be aware that the object name it's firing for is Opportunity
without hardcoding the object name in the code?
EDIT
I want to use Custom Metadata to make Object_To_Track_mdt
. Once a trigger fires I want to use the object name the trigger is firing for to see if the object needs to be tracked or not. Here's a very rough code sample I have in mind:
Object_To_Track__mdt trackedObject = [
SELECT Id,
(SELECT Id FROM Fields_To_Track__r)
FROM Object_To_Track__mdt
WHERE DeveloperName='Lead'
];
if (trackedObject != null && trackedObject.Fields_To_Track__r.size() > 0) {
// Verify if the modified fields for Lead need to be tracked or not.
}
apex trigger custom-metadata sobjecttype
add a comment |
Is it possible for the trigger to see the name of the object it's firing for? Say can I make the OpportunityTrigger be aware that the object name it's firing for is Opportunity
without hardcoding the object name in the code?
EDIT
I want to use Custom Metadata to make Object_To_Track_mdt
. Once a trigger fires I want to use the object name the trigger is firing for to see if the object needs to be tracked or not. Here's a very rough code sample I have in mind:
Object_To_Track__mdt trackedObject = [
SELECT Id,
(SELECT Id FROM Fields_To_Track__r)
FROM Object_To_Track__mdt
WHERE DeveloperName='Lead'
];
if (trackedObject != null && trackedObject.Fields_To_Track__r.size() > 0) {
// Verify if the modified fields for Lead need to be tracked or not.
}
apex trigger custom-metadata sobjecttype
Is it possible for the trigger to see the name of the object it's firing for? Say can I make the OpportunityTrigger be aware that the object name it's firing for is Opportunity
without hardcoding the object name in the code?
EDIT
I want to use Custom Metadata to make Object_To_Track_mdt
. Once a trigger fires I want to use the object name the trigger is firing for to see if the object needs to be tracked or not. Here's a very rough code sample I have in mind:
Object_To_Track__mdt trackedObject = [
SELECT Id,
(SELECT Id FROM Fields_To_Track__r)
FROM Object_To_Track__mdt
WHERE DeveloperName='Lead'
];
if (trackedObject != null && trackedObject.Fields_To_Track__r.size() > 0) {
// Verify if the modified fields for Lead need to be tracked or not.
}
apex trigger custom-metadata sobjecttype
apex trigger custom-metadata sobjecttype
edited 4 hours ago
Adrian Larson♦
108k19115243
108k19115243
asked 4 hours ago
ArthleteArthlete
914715
914715
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If you don't care about the delete
contexts, you can just do:
SObjectType triggerType = trigger.new.getSObjectType();
It doesn't add much complexity, however, to use a ternary to check for the null case:
SObjectType triggerType = trigger.isDelete ?
trigger.old.getSObjectType() :
trigger.new.getSObjectType();
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f249908%2ftrigger-find-out-the-name-of-the-object-the-trigger-is-firing-for%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you don't care about the delete
contexts, you can just do:
SObjectType triggerType = trigger.new.getSObjectType();
It doesn't add much complexity, however, to use a ternary to check for the null case:
SObjectType triggerType = trigger.isDelete ?
trigger.old.getSObjectType() :
trigger.new.getSObjectType();
add a comment |
If you don't care about the delete
contexts, you can just do:
SObjectType triggerType = trigger.new.getSObjectType();
It doesn't add much complexity, however, to use a ternary to check for the null case:
SObjectType triggerType = trigger.isDelete ?
trigger.old.getSObjectType() :
trigger.new.getSObjectType();
add a comment |
If you don't care about the delete
contexts, you can just do:
SObjectType triggerType = trigger.new.getSObjectType();
It doesn't add much complexity, however, to use a ternary to check for the null case:
SObjectType triggerType = trigger.isDelete ?
trigger.old.getSObjectType() :
trigger.new.getSObjectType();
If you don't care about the delete
contexts, you can just do:
SObjectType triggerType = trigger.new.getSObjectType();
It doesn't add much complexity, however, to use a ternary to check for the null case:
SObjectType triggerType = trigger.isDelete ?
trigger.old.getSObjectType() :
trigger.new.getSObjectType();
answered 4 hours ago
Adrian Larson♦Adrian Larson
108k19115243
108k19115243
add a comment |
add a comment |
Thanks for contributing an answer to Salesforce Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f249908%2ftrigger-find-out-the-name-of-the-object-the-trigger-is-firing-for%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown