Lightning Object Creator is a new tool to create custom object from spreadsheets with just a few clicks.
Step 1:
Go to Setup | Object Manager | Select Custom Object from Spreadsheet
Step 2:
Upload spreadsheets from Microsoft Excel, Google Sheets, or comma-separated value (CSV) files.
Sample Spreadsheet:
Step 3:
After uploading the spreadsheet, Salesforce will automatically detect the fields. You can customize the Salesforce field name and field data type and you also can add field to page layout.
Step 4:
Define object properties and click on Finish button.
Created new custom object from Spreadsheet:
Loading...
As a Salesforce developer sometimes we face different scenarios, where we need to track production error logs or failed records. To save custom logs, here I have created an object Log__c
and a helper class LogHandler
, which will help to save custom logs for future references.
Object (Log__c) Fields:
Field Label
Field API Name
Field Type
Class
Class__c
Text(255)
Method
Method__c
Text(255)
Description
Description__c
Long Text Area(32768)
Line Number
Line_Number__c
Number(8, 0)
HTTP Response
HTTP_Response__c
Long Text Area(32768)
HTTP Status Code
HTTP_Status_code__c
Number(6, 0)
Object
Object__c
Text(255)
Record Id
Record_Id__c
Text(255)
Type
Type__c
Picklist(Success, Error, Information)
Apex Class:
public class LogHandler
{
//Save information log
public static void logInformation(String className, String methodName, String description){
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Description__c = description;
log.Type__c = 'Information';
Insert log;
}
//Save success log
public static void logSuccessData(String className, String methodName, String description){
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Description__c = description;
log.Type__c = 'Success';
Insert log;
}
//Save exception log
public static void logException(String className, String methodName, String description, Integer lineNumber){
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Description__c = description;
log.Type__c = 'Error';
log.Line_Number__c = lineNumber;
Insert log;
}
//Save HTTP response log
public static void logHTTPResponse(String className, String methodName, String description, HttpResponse response){
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Description__c = description;
log.Type__c = 'Information';
if(response != null){
log.HTTP_Response__c = response.getBody();
log.HTTP_Status_code__c = response.getStatusCode();
}
Insert log;
}
//Save result log
public static void logSaveResult(String className, String methodName, List<Database.SaveResult> saveResultList){
List<Log__c> logList = new List<Log__c>();
for (Database.SaveResult sr: saveResultList) {
if (sr.isSuccess()) {
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Type__c = 'Success';
if(sr.getId() != null){
log.Object__c = sr.getId().getSObjectType().getDescribe().getName();
log.Record_Id__c = sr.getId();
}
logList.add(log);
}else{
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Type__c = 'Error';
log.Description__c = String.valueOf(sr.getErrors()[0].getMessage());
logList.add(log);
}
}
if(!logList.isEmpty()){
Insert logList;
}
}
//Upsert result log
public static void logUpsertResult(String className, String methodName, List<Database.UpsertResult> upsertResultList){
List<Log__c> logList = new List<Log__c>();
for (Database.UpsertResult ur: upsertResultList) {
if (ur.isSuccess()) {
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Type__c = 'Success';
if(ur.getId() != null){
log.Object__c = ur.getId().getSObjectType().getDescribe().getName();
log.Record_Id__c = ur.getId();
}
logList.add(log);
}else{
Log__c log = new Log__c();
log.Class__c = className;
log.Method__c = methodName;
log.Type__c = 'Error';
log.Description__c = String.valueOf(ur.getErrors()[0].getMessage());
if(ur.getId() != null){
log.Object__c = ur.getId().getSObjectType().getDescribe().getName();
log.Record_Id__c = ur.getId();
}
logList.add(log);
}
}
if(!logList.isEmpty()){
Insert logList;
}
}
}
Loading...
SOQL Query:
SELECT Id, Label, MasterLabel, PluralLabel, DeveloperName, QualifiedApiName, KeyPrefix, NamespacePrefix FROM EntityDefinition WHERE IsCustomSetting = false Order by QualifiedApiName
Loading...
Sample Code:
Integer numberofFields = Account.sObjectType.getDescribe().fields.getMap().size();
system.debug('Number of Fields-'+ numberofFields);
Loading...
Go to Setup || Data Management || Storage Usage
Loading...