0

I have the below vf Page through which I am trying to enter some data and saving it to custom object.

visualforce page:

<apex:page Controller="SubContractorController2"  docType="html-5.0">
<apex:form >
<apex:sectionHeader title="Subcontractor Company Edit" subtitle="New 
Subcontractor Company">
    <apex:pageBlock title="Subcontractor Company Edit">
    <apex:pageblockButtons >
            <apex:commandButton value="Save" action="{!Save}"/>
            </apex:pageblockButtons>


     <apex:pageBlockSection title="Information" columns="2">

            <apex:inputfield value="{!Subcompany.Name}" />
            <apex:inputfield value="{!Subcompany.Address__c}"/>
            <apex:inputField value="{!Subcompany.Website__c}"/>
            <apex:inputField value="{!Subcompany.City__c}"/>
            <apex:inputField value="{!Subcompany.Pre_Qualified__c}"/>
            <apex:inputField value="{!Subcompany.State__c}"/>
            <apex:inputField value="{!Subcompany.License_Number__c}"/>
            <apex:inputField value="{!Subcompany.Zip__c}"/>
            <apex:inputField value="{!Subcompany.Main_Phone_Number__c}" />
            </apex:pageBlockSection>
            <apex:pageBlockSection columns="1">
            <apex:inputField value="{!Subcompany.Trade__c}"/>
    </apex:pageBlockSection>
</apex:pageBlock>
</apex:sectionHeader>
 </apex:form>
 </apex:page>

apex controller:

public class SubContractorController2 {
   Public Subcontractor_Company__c    Subcompany {get;set;}
   Public Subcontractor_Contact__c    Subcontact{get;set;}

   public void Save() {
        Subcontractor_Company__c Subcompany2 = NeW             
      Subcontractor_Company__c();

        Subcompany2.Name = Subcompany.Name; 
        Subcompany2.Address__c = Subcompany.Address__c;
        Subcompany2.Website__c = Subcompany.Website__c;
        Subcompany2.City__c = Subcompany.City__c;
        Subcompany2.Pre_Qualified__c  = Subcompany.Pre_Qualified__c;
        Subcompany2.State__c = Subcompany.State__c;
        Subcompany2.License_Number__c = Subcompany.License_Number__c;
        Subcompany2.Zip__c = Subcompany.Zip__c;
        Subcompany2.Main_Phone_Number__c = Subcompany.Main_Phone_Number__c;
        Subcompany2.Trade__c = Subcompany.Trade__c;

        Insert Subcompany2;
    }
}

When I try to save I am getting the error-message "Attempt to de-reference a NULL Object".

Getting error message as below:

System.NullPointerException: Attempt to de-reference a null object Error is in expression '{!Save}' in component in page subcontractcompanyvfpage: Class.SubContractorController2.Save: line 11, column 1 Class.SubContractorController2.Save: line 11, column 1

2
  • 1
    Please add the complete error message including the line that causes the error. Furthermore, as line numbers aren't displayed on stackexchange, please add the code on this line as a separate part of your question. Thank you! May 22, 2017 at 15:01
  • Are you trying to achieve a custom clone? If so, you should be writing an extension, not a controller.
    – Adrian Larson
    May 22, 2017 at 15:16

1 Answer 1

0

You need to actually instantiate subCompany. Add a constructor to your controller:

public with sharing class MyController
{
    // properties

    public MyController()
    {
        subCompany = new MyObject__c();
    }

    // methods
}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .