I have built a custom controller and the constructor does not automatically invoked when the page is executed. What could be wrong in this? Am i missing something?

The System.debug('Inside Constructor...') never get executed.

public with sharing class MasterDataSyncController {
    public List<SFDCSAPDataDTO> lstSFDCSAP {get;set;}

    public void MasterDataSyncController() {
        System.debug('Inside Constructor...');

    public List<SFDCSAPDataDTO> getSFDCSAP() {
        Map<Id,Account> mpAccount = new Map<Id,Account> ([select Id, Name, Phone, Fax, 
                    BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry
                    from Account 
                    where (AccountNumber = null or AccountNumber <> '') and (Name <> null or Name <> '') order by Name]);
        System.debug('Account Map:'+mpAccount);

1 Answer 1


Constructors do not have a return value.

Remove void and it'll work, i.e.

public MasterDataSyncController() {
    System.debug('Inside Constructor...');
  • Huh..Understood. That's a blatant mistake from my side. Thanks for pointing out.
    – Bforce
    Jul 30, 2014 at 10:21
  • 1
    No worries bro - done it myself more than once. Jul 30, 2014 at 10:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.