-
Attempt to de-reference a null object apex
Hi,
I am getting attempt to de-reference a null object apex error while trying to allocate the record to a particular record type.
Please help me out.
Requirement:
<div>As soon as the Return request record is created, automatically create "Voucher" record from the backend. For example - if Return request is approved for amount 5000, then there should be three Voucher records created automatically from backend (one record with record type 1000, two records with record type 2000)</div>
public class returnRequestTriggerHandler
{
public void createVouchers(List<return_request__c> reqList)</return_request__c>
{
List<voucher__c> vList = new List<voucher__c>();</voucher__c></voucher__c>
Decimal[] voucherNames=new Decimal[] {2000,1000,500,100,50,10,5,1};
for(Return_Request__c r:reqList){
Decimal price=r.Item_Original_Price__c;
integer n=0;
while(price>0)
{
Voucher__c newVoucher=new Voucher__c();
if(price-voucherNames[n]>=0)
{
newVoucher.Name=String.valueOf(voucherNames[n].format())+' Voucher';
newVoucher.Amount__c=voucherNames[n];
newVoucher.Return_Request__c=r.Id;
if(voucherNames[n]==2000){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X2000').getRecordTypeId();
}
else if(voucherNames[n]==1000){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X1000').getRecordTypeId();
}
else if(voucherNames[n]==500){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X500').getRecordTypeId();
}
else if(voucherNames[n]==100){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X100').getRecordTypeId();
}
else if(voucherNames[n]==50){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X50').getRecordTypeId();
}
else if(voucherNames[n]==10){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X10').getRecordTypeId();
}
else if(voucherNames[n]==5){
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X5').getRecordTypeId();
}
else{
newVoucher.RecordTypeId= Schema.SObjectType.Voucher__c.getRecordTypeInfosByName()
.get('X1').getRecordTypeId();
}
vList.add(newVoucher);
price=price-voucherNames[n];
}
else{
n++;
}
}
}
insert vList;
}
}-
This discussion was modified 6 years, 3 months ago by
Pragya.
-
This discussion was modified 6 years, 3 months ago by
Log In to reply.
Popular Salesforce Blogs
What are the Different Platforms for Salesforce Mobile App Development Tools?
The Salesforce Lightning app is the browser based tool, which can be used by either developers or non-developers to develop the Salesforce apps. The easy…
Best Practices for Change Sets in Salesforce
These are some of Best Practices for Change Sets:- Deploy each dependent components Make sure every outbound change set contains all mutually beneficial parts that…
Using Salesforce Health Cloud for Better Patient Engagement and Remote Monitoring
The healthcare industry is shifting towards value-based care. In this model, patient engagement and remote monitoring are critical. Salesforce Health Cloud is helping healthcare providers…
Popular Salesforce Videos
Learn About the Salesforce Products in this Tutorial Video
Salesforce is a top-rated CRM that offers businesses a diverse range of products to enhance their business model and operations. With each Salesforce product specifically…
AI Cloud: Explore the GPTs of Salesforce
Discover how GPTs, or Generative Pre-trained Transformers, are revolutionizing the way we interact with AI. We break down the complex jargon and show you how…
How Can Salesforce Marketing Cloud Help You Grow Your Business Exponentially?
Salesforce Marketing Cloud can help you take your marketing to the next level by providing an all-in-one platform that helps you strategize across multiple channels.…
Popular Salesforce Infographics
5 big takeouts from Salesforce World Tour 2018
The action-packed Salesforce World Tour 2018 rolled into Sydney last week, bringing with it a fun-filled day of innovation, learning, career transformation and giving back.…
10 MUST HAVE Qualities Your Salesforce Administrator Should Have
Does your organization have a Salesforce Admin? If you use Salesforce or are in the process of implementing it, the role of Salesforce Admin is…
Benefits of Using WhatsApp For Better Customer Engagement
WhatsApp makes businesses more interactive and reliable. Customers can directly connect with a company, clear their doubts, and leverage a connected experience. 5 million business…