You need to sign in to do that
Don't have an account?
Dhairya
Using Record Type value in Trigger
The scenario is : Record automatically created when record type is equal to "New InstallBase".
Trigger is working fine, just want to add if condition with record type.
Trigger Code:
rigger addInstallBase on Case (after insert, after update) {
// Install bases to create
List<Install_Base__c> installBases = new List<Install_Base__c>();
for(Case c:Trigger.new) {
// if(c.recordtype.name.equals("Post Install Warranty Registration")
// {
// If the old version had an unchecked box...
if(Trigger.isInsert || !Trigger.oldmap.get(c.id).Approve__c) {
// And the new version has a checked box...
if(c.Approve__c) {
// Add a new Install Base
installBases.add(new Install_Base__c(
// Assign values from case here, some examples...
Case__c=c.id,project_size__c=c.Project_Size_kWp__c));
}
// }
}
}
Appreciate your response.
Thanks,
Dhairya
Hi,
Use the below code to get the Record Type Id without querying RecordType table.
Id recId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('New InstallBase').getRecordTypeId();
for(Case c:Trigger.new){
if(c.RecordTypeId == recId){
// your logic
}
}
Thanks,
Kodisana
All Answers
Hi,
Use the below code to get the Record Type Id without querying RecordType table.
Id recId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('New InstallBase').getRecordTypeId();
for(Case c:Trigger.new){
if(c.RecordTypeId == recId){
// your logic
}
}
Thanks,
Kodisana
Thanks For your response.
But as per best practises hard coed of recid is not preferable.
I fixed this with following logic :
List<RecordType> rtypes = [Select Name, Id From RecordType
where sObjectType='Case' and isActive=true];
//Create a map between the Record Type Name and Id for easy retrieval
Map<String,String> caseRecordTypes = new Map<String,String>{};
for(RecordType rt: rtypes)
caseRecordTypes.put(rt.Name,rt.Id);
Thanks a lot for prompt reply.
Dhairya
Its Solve.
Thanks a lot.
Dhairya
Thank You for ur information...solved the issue...
Vignesh kanthan R K