function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
djaindjain 

Error:java.lang.NullPointerException run time Exception in apex Class

Hi,

 

I am importing the data in Contact using Apex Class.

 

Code to set the data in Contact Object is:

Contact createObject(String[] records){ String gender=records[headerMap.get('gender')]; Contact upsertContact=new Contact(); try{ if(gender!=null && !gender.trim().equals('')){ //System.debug('gender1====='+gender); if((genderMap==null)|| (genderMap!=null && !genderMap.containsKey(gender.toLowerCase()))){ if(genderMap==null){ genderMap=new Map<String,String>(); } Supplier_Value__c svc=new Supplier_Value__c(Name=gender); if(cfc!=null){ svc.Conversion_Field__c=cfc[0].Id; } insert svc; genderMap.put(gender.toLowerCase(),null); businessServices.getGeneralServices().sendMailToAdministrator('New Gender Value '+gender+' added in the database by Organization '+records[headerMap.get('clientid')]); } upsertContact.Salutation =genderMap.get(gender.toLowerCase()); } //upsertContact.OwnerId=ftpDetailsDto.getOwnerId(); upsertContact.FirstName =records[headerMap.get('firstname')]; upsertContact.LastName =records[headerMap.get('lastname')]; upsertContact.MailingStreet =records[headerMap.get('mailingstreet')]; upsertContact.MailingPostalCode=records[headerMap.get('mailingpostalcode')]; upsertContact.MailingCity=records[headerMap.get('mailingcity')]; upsertContact.MailingCountry=records[headerMap.get('mailingcountry')]; upsertContact.HomePhone =records[headerMap.get('phone')]; if(records[headerMap.get('email')]!=null && records[headerMap.get('email')]!=''){ matcher myMatcher = myPattern.matcher(records[headerMap.get('email')]); if(myMatcher.matches()){ upsertContact.npe01__HomeEmail__c=records[headerMap.get('email')]; } } upsertContact.npe01__PreferredPhone__c='Household'; upsertContact.npe01__Preferred_Email__c='Home'; upsertContact.Title=records[headerMap.get('academictitle')]; upsertContact.BANKACCOUNT__c=records[headerMap.get('bankaccount')]; Date dob=businessServices.getGeneralServices().convertStringToDate(records[headerMap.get('birthdate')]); if(!records[headerMap.get('birthdate')].equals('') && dob!=null && (dob<(Date.newInstance(1700,01,01)) || dob>(Date.newInstance(4000,12,30)))){ numberOfInvalidRecords++; //errorList.add('numberOfInvalidRecords '+ numberOfInvalidRecords); throw new DateRangeException(''); } upsertContact.Birthdate=dob; upsertContact.EXTERNALID__c=records[headerMap.get('donorid')]; if(records[headerMap.get('status')].equalsIgnoreCase('DoNotCall')){ upsertContact.DoNotCall=true; }else if(records[headerMap.get('status')].equalsIgnoreCase('Deceased')){ upsertContact.Deceased__c=true; }else if(records[headerMap.get('status')].equalsIgnoreCase('DoNotMail')){ upsertContact.Do_Not_Mail__c=true; } if(lastModifiedDateForImport==null || (lastModifiedDateForImport.daysBetween(businessServices.getGeneralServices().convertStringToDate(records[headerMap.get('lastmodifydate')]))>0)){ lastModifiedDateForImport=businessServices.getGeneralServices().convertStringToDate(records[headerMap.get('lastmodifydate')]); } // upsertContact.ClientId__c=records[headerMap.get('clientid')]; upsertContact.ClientId__c=detailsDto.getOrganizationId(); }catch(Exception er){ errorList.add('Error in create object===: '+ er.getMessage()); } return upsertContact; }

This contact object returned is set in a List for bulk upsert function.

 

The code for bulk upsertion is:

 

Database.UpsertResult[] lsr=Database.upsert(upsertContactList,Contact.EXTERNALID__c,false); // checks if data inserted successfully or not,if not then add error messages in errorlist Integer index=0; for(Database.UpsertResult sr:lsr) { if(!sr.isSuccess()){ Database.Error err=sr.getErrors()[0];

errorList.add('Error: '+ err+' upsertContactList '+upsertContactList[index]); } index++; }

 

 

But i am getting error:

 

Error: Database.Error[getFields=null;getMessage=java.lang.NullPointerException;getStatusCode=System.StatusCode.UNKNOWN_EXCEPTION;]

 

upsertContactList Contact:{ClientId__c=MSA, EXTERNALID__c=100038558, Salutation=Mr., LastName=Hillenaar, HomePhone=null, Title=null, npe01__Preferred_Email__c=Home, BANKACCOUNT__c=138449317, MailingCity=LEIDEN, MailingStreet=Vlietweg 3, MailingCountry=The Netherlands, npe01__PreferredPhone__c=Household, MailingPostalCode=2323 LA, FirstName=J.A., Birthdate=null}

 

 

I a not able to figure out the problem.

 

Please guide me.

 

Thanks in advance.