How to query field names from custom object by data type?Controlling the data type of a custom fieldHow to...
Properly unlinking hard links
Is this statement about a motion being simple harmonic in nature strong?
Could a complex system of reaction wheels be used to propel a spacecraft?
An idiom for “Until you punish the offender, they will not give up offenses”
awk print conditions
Ideas behind the 8.Bd3 line in the 4.Ng5 Two Knights Defense
Can a system of three stars exist?
Can I leave a large suitcase at TPE during a 4-hour layover, and pick it up 4.5 days later when I come back to TPE on my way to Taipei downtown?
How to draw a true pie chart?
Squares inside a square
Turn off Google Chrome's Notification for "Flash Player will no longer be supported after December 2020."
How to save money by shopping at a variety of grocery stores?
How to differentiate between two people with the same name in a story?
Create a list of snaking numbers under 50,000
Padding a column of lists
Does the Freedom of Movement spell prevent petrification by the Flesh to Stone spell?
'spazieren' - walking in a silly and affected manner?
How were US credit cards verified in-store in the 1980's?
How many possible file types in the output `ls -l` command?
Does using composite keys violate 2NF
Do universities maintain secret textbooks?
How can I store milk for long periods of time?
What is this "opened" cube called?
how can reincarnation magic be limited to prevent overuse?
How to query field names from custom object by data type?
Controlling the data type of a custom fieldHow to copy field data from object to object with a button-click via Apex?How to create a custom field in test classHow to query Id of a field/Custom field from standard object using Tooling API in .netQuerying a field on an unknown object typeExactTarget Query Activity Data View - Correct NamesQuery custom fields from object with a polymorphic fieldHow to map the state code with state names?Custom Object how to get actual query data?Generic function - Custom meta data type
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I have custom object ExchangeRate__c. How to get all fields, which have data type "currency" and put their field names in a string?
apex query
add a comment |
I have custom object ExchangeRate__c. How to get all fields, which have data type "currency" and put their field names in a string?
apex query
add a comment |
I have custom object ExchangeRate__c. How to get all fields, which have data type "currency" and put their field names in a string?
apex query
I have custom object ExchangeRate__c. How to get all fields, which have data type "currency" and put their field names in a string?
apex query
apex query
asked 9 hours ago
EviGertsikEviGertsik
124 bronze badges
124 bronze badges
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You can use below method and pass the object name ExchangeRate__c
as parameter:
public static String getCurrencyFields(String obj) {
List<String> fields = new List<String>();
SObjectType objType = Schema.getGlobalDescribe().get(obj);
Map<String,Schema.SObjectField> mfieldsMap = objType.getDescribe().fields.getMap();
for(Schema.SObjectField fld : mfieldsMap.values()) {
if(fld.getDescribe().getType()==Schema.DisplayType.CURRENCY){
fields.add(fld.getDescribe().getName());
}
}
return String.join(fields,',');
}
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass inSObjectType
rather thanString
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using:Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
add a comment |
You wouldn't use a query for this, but rather the DescribeSObjectResult and DescribeFieldResult classes.
Schema.SObjectType.<Sobject API Name>.fields
gives you a Map<String, Schema.SObjectField>
containing the field tokens for all of the fields on the object
You can then iterate over those Schema.SObjectField
instances, and get the DescribeFieldResult
from them using the getDescribe()
method.
The DescribeFieldResult
class gives you access to the metadata of the field, including what type of field it is (the getType()
method).
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%2f275590%2fhow-to-query-field-names-from-custom-object-by-data-type%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use below method and pass the object name ExchangeRate__c
as parameter:
public static String getCurrencyFields(String obj) {
List<String> fields = new List<String>();
SObjectType objType = Schema.getGlobalDescribe().get(obj);
Map<String,Schema.SObjectField> mfieldsMap = objType.getDescribe().fields.getMap();
for(Schema.SObjectField fld : mfieldsMap.values()) {
if(fld.getDescribe().getType()==Schema.DisplayType.CURRENCY){
fields.add(fld.getDescribe().getName());
}
}
return String.join(fields,',');
}
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass inSObjectType
rather thanString
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using:Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
add a comment |
You can use below method and pass the object name ExchangeRate__c
as parameter:
public static String getCurrencyFields(String obj) {
List<String> fields = new List<String>();
SObjectType objType = Schema.getGlobalDescribe().get(obj);
Map<String,Schema.SObjectField> mfieldsMap = objType.getDescribe().fields.getMap();
for(Schema.SObjectField fld : mfieldsMap.values()) {
if(fld.getDescribe().getType()==Schema.DisplayType.CURRENCY){
fields.add(fld.getDescribe().getName());
}
}
return String.join(fields,',');
}
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass inSObjectType
rather thanString
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using:Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
add a comment |
You can use below method and pass the object name ExchangeRate__c
as parameter:
public static String getCurrencyFields(String obj) {
List<String> fields = new List<String>();
SObjectType objType = Schema.getGlobalDescribe().get(obj);
Map<String,Schema.SObjectField> mfieldsMap = objType.getDescribe().fields.getMap();
for(Schema.SObjectField fld : mfieldsMap.values()) {
if(fld.getDescribe().getType()==Schema.DisplayType.CURRENCY){
fields.add(fld.getDescribe().getName());
}
}
return String.join(fields,',');
}
You can use below method and pass the object name ExchangeRate__c
as parameter:
public static String getCurrencyFields(String obj) {
List<String> fields = new List<String>();
SObjectType objType = Schema.getGlobalDescribe().get(obj);
Map<String,Schema.SObjectField> mfieldsMap = objType.getDescribe().fields.getMap();
for(Schema.SObjectField fld : mfieldsMap.values()) {
if(fld.getDescribe().getType()==Schema.DisplayType.CURRENCY){
fields.add(fld.getDescribe().getName());
}
}
return String.join(fields,',');
}
answered 9 hours ago
salesforce-sassalesforce-sas
8,1061 gold badge2 silver badges24 bronze badges
8,1061 gold badge2 silver badges24 bronze badges
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass inSObjectType
rather thanString
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using:Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
add a comment |
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass inSObjectType
rather thanString
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using:Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
Thank you! But I made a little mistake - I need field labels, not field names.
– EviGertsik
9 hours ago
You can get label instead of name -
fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
You can get label instead of name -
fields.add(fld.getDescribe().getLabel());
– salesforce-sas
8 hours ago
Improvement suggestion - pass in
SObjectType
rather than String
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using: Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
Improvement suggestion - pass in
SObjectType
rather than String
as that is more typesafe and avoid the lookup into GlobalDescribe. You can also get the sobjectType from string more efficiently using: Type t = Type.forName(name); SobjectType sobjType = ((SObject)t.newInstance()).getSObjectType();
– cropredy
7 mins ago
add a comment |
You wouldn't use a query for this, but rather the DescribeSObjectResult and DescribeFieldResult classes.
Schema.SObjectType.<Sobject API Name>.fields
gives you a Map<String, Schema.SObjectField>
containing the field tokens for all of the fields on the object
You can then iterate over those Schema.SObjectField
instances, and get the DescribeFieldResult
from them using the getDescribe()
method.
The DescribeFieldResult
class gives you access to the metadata of the field, including what type of field it is (the getType()
method).
add a comment |
You wouldn't use a query for this, but rather the DescribeSObjectResult and DescribeFieldResult classes.
Schema.SObjectType.<Sobject API Name>.fields
gives you a Map<String, Schema.SObjectField>
containing the field tokens for all of the fields on the object
You can then iterate over those Schema.SObjectField
instances, and get the DescribeFieldResult
from them using the getDescribe()
method.
The DescribeFieldResult
class gives you access to the metadata of the field, including what type of field it is (the getType()
method).
add a comment |
You wouldn't use a query for this, but rather the DescribeSObjectResult and DescribeFieldResult classes.
Schema.SObjectType.<Sobject API Name>.fields
gives you a Map<String, Schema.SObjectField>
containing the field tokens for all of the fields on the object
You can then iterate over those Schema.SObjectField
instances, and get the DescribeFieldResult
from them using the getDescribe()
method.
The DescribeFieldResult
class gives you access to the metadata of the field, including what type of field it is (the getType()
method).
You wouldn't use a query for this, but rather the DescribeSObjectResult and DescribeFieldResult classes.
Schema.SObjectType.<Sobject API Name>.fields
gives you a Map<String, Schema.SObjectField>
containing the field tokens for all of the fields on the object
You can then iterate over those Schema.SObjectField
instances, and get the DescribeFieldResult
from them using the getDescribe()
method.
The DescribeFieldResult
class gives you access to the metadata of the field, including what type of field it is (the getType()
method).
answered 9 hours ago
Derek FDerek F
22.9k6 gold badges26 silver badges55 bronze badges
22.9k6 gold badges26 silver badges55 bronze badges
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%2f275590%2fhow-to-query-field-names-from-custom-object-by-data-type%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