Method Does Not Exist error messageCan this trigger logic be improved? Potential map redundancyFilter and search is not workingUnit Test is Providing 0% Coverage for Apex Triggerschema.getglobaldescribe needs test classMethod does not exist or incorrect signature…why?Method does not exist or incorrect signature: void getId()How to convert Datetime datatype to Date format only?get all the contact name from Account QueryMethod does not exist or incorrect signature: void getSObjectMethod does not exist or incorrect signature: void parse(String) from the type or_propertyJSONTest

How does one intimidate enemies without having the capacity for violence?

Why do I get two different answers for this counting problem?

Show that if two triangles built on parallel lines, with equal bases have the same perimeter only if they are congruent.

Is it possible to do 50 km distance without any previous training?

Why does Kotter return in Welcome Back Kotter?

Why don't electron-positron collisions release infinite energy?

In Japanese, what’s the difference between “Tonari ni” (となりに) and “Tsugi” (つぎ)? When would you use one over the other?

Fully-Firstable Anagram Sets

Why dont electromagnetic waves interact with each other?

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?

How much RAM could one put in a typical 80386 setup?

Do I have a twin with permutated remainders?

Test whether all array elements are factors of a number

Email Account under attack (really) - anything I can do?

Is it important to consider tone, melody, and musical form while writing a song?

How is it possible to have an ability score that is less than 3?

Font hinting is lost in Chrome-like browsers (for some languages )

Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

How to format long polynomial?

Why do falling prices hurt debtors?

Fencing style for blades that can attack from a distance

Is it legal for company to use my work email to pretend I still work there?

Why "Having chlorophyll without photosynthesis is actually very dangerous" and "like living with a bomb"?



Method Does Not Exist error message


Can this trigger logic be improved? Potential map redundancyFilter and search is not workingUnit Test is Providing 0% Coverage for Apex Triggerschema.getglobaldescribe needs test classMethod does not exist or incorrect signature…why?Method does not exist or incorrect signature: void getId()How to convert Datetime datatype to Date format only?get all the contact name from Account QueryMethod does not exist or incorrect signature: void getSObjectMethod does not exist or incorrect signature: void parse(String) from the type or_propertyJSONTest






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




Method does not exist or incorrect signature: void executeSub(Account)
from the type Parent_Subtract




Class:



public class Parent_Subtract 
public static void executeSub(List<Account> scope)

Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
Id DSAccounts = '01270000578681Y';


List<Id> listIds = new List<Id>();
Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
Map<Id, Account> newParent = new Map<Id, Account>();
Set<ID> setParentAcctID = new set<ID>();
List<Account> listforFinalUpdate = new List<Account>();

for(Account acc : scope)
setParentAcctID.add(acc.Parent_Account__c);


List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
FROM account
WHERE id =: setParentAcctID];
for(Account a : listParentAcctData)

newParent.put(a.id,a);


for(Account acc: scope)

Account acct = newParent.get(acc.Parent_Account__c);

system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
system.debug('acc.AnnualRev:'+acc.AnnualRev);
system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
acct.Total_CCF__c -= acc.Total_CCF__c;
acct.AnnualRev -= acc.AnnualRev;
acct.Account_kw__c -= acc.Account_kw__c;

listforFinalUpdate.add(acct);


if(listforFinalUpdate.size() > 0)

update listforFinalUpdate;






Trigger:



trigger Parent_Subtract_Trigger on Account (before insert) 
List<Account> acct = new List<Account>();
if(Trigger.isUpdate)
for(Account acc: Trigger.New)

Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
String oldParentName = oldName.Name ;
String newParentName = acc.Parent_Account__c;

if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
Parent_Subtract.executeSub(acct);






Am I on the right track with this functionality and does anyone know why I am recieving this message?










share|improve this question









New contributor




Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


























    1















    My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




    Method does not exist or incorrect signature: void executeSub(Account)
    from the type Parent_Subtract




    Class:



    public class Parent_Subtract 
    public static void executeSub(List<Account> scope)

    Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
    Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
    Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
    Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
    Id DSAccounts = '01270000578681Y';


    List<Id> listIds = new List<Id>();
    Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
    Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
    Map<Id, Account> newParent = new Map<Id, Account>();
    Set<ID> setParentAcctID = new set<ID>();
    List<Account> listforFinalUpdate = new List<Account>();

    for(Account acc : scope)
    setParentAcctID.add(acc.Parent_Account__c);


    List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
    Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
    FROM account
    WHERE id =: setParentAcctID];
    for(Account a : listParentAcctData)

    newParent.put(a.id,a);


    for(Account acc: scope)

    Account acct = newParent.get(acc.Parent_Account__c);

    system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
    system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
    system.debug('acc.AnnualRev:'+acc.AnnualRev);
    system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

    acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
    acct.Total_CCF__c -= acc.Total_CCF__c;
    acct.AnnualRev -= acc.AnnualRev;
    acct.Account_kw__c -= acc.Account_kw__c;

    listforFinalUpdate.add(acct);


    if(listforFinalUpdate.size() > 0)

    update listforFinalUpdate;






    Trigger:



    trigger Parent_Subtract_Trigger on Account (before insert) 
    List<Account> acct = new List<Account>();
    if(Trigger.isUpdate)
    for(Account acc: Trigger.New)

    Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
    String oldParentName = oldName.Name ;
    String newParentName = acc.Parent_Account__c;

    if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
    Parent_Subtract.executeSub(acct);






    Am I on the right track with this functionality and does anyone know why I am recieving this message?










    share|improve this question









    New contributor




    Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      1












      1








      1








      My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




      Method does not exist or incorrect signature: void executeSub(Account)
      from the type Parent_Subtract




      Class:



      public class Parent_Subtract 
      public static void executeSub(List<Account> scope)

      Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
      Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
      Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
      Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
      Id DSAccounts = '01270000578681Y';


      List<Id> listIds = new List<Id>();
      Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
      Map<Id, Account> newParent = new Map<Id, Account>();
      Set<ID> setParentAcctID = new set<ID>();
      List<Account> listforFinalUpdate = new List<Account>();

      for(Account acc : scope)
      setParentAcctID.add(acc.Parent_Account__c);


      List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
      FROM account
      WHERE id =: setParentAcctID];
      for(Account a : listParentAcctData)

      newParent.put(a.id,a);


      for(Account acc: scope)

      Account acct = newParent.get(acc.Parent_Account__c);

      system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
      system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
      system.debug('acc.AnnualRev:'+acc.AnnualRev);
      system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

      acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
      acct.Total_CCF__c -= acc.Total_CCF__c;
      acct.AnnualRev -= acc.AnnualRev;
      acct.Account_kw__c -= acc.Account_kw__c;

      listforFinalUpdate.add(acct);


      if(listforFinalUpdate.size() > 0)

      update listforFinalUpdate;






      Trigger:



      trigger Parent_Subtract_Trigger on Account (before insert) 
      List<Account> acct = new List<Account>();
      if(Trigger.isUpdate)
      for(Account acc: Trigger.New)

      Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
      String oldParentName = oldName.Name ;
      String newParentName = acc.Parent_Account__c;

      if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
      Parent_Subtract.executeSub(acct);






      Am I on the right track with this functionality and does anyone know why I am recieving this message?










      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




      Method does not exist or incorrect signature: void executeSub(Account)
      from the type Parent_Subtract




      Class:



      public class Parent_Subtract 
      public static void executeSub(List<Account> scope)

      Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
      Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
      Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
      Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
      Id DSAccounts = '01270000578681Y';


      List<Id> listIds = new List<Id>();
      Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
      Map<Id, Account> newParent = new Map<Id, Account>();
      Set<ID> setParentAcctID = new set<ID>();
      List<Account> listforFinalUpdate = new List<Account>();

      for(Account acc : scope)
      setParentAcctID.add(acc.Parent_Account__c);


      List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
      FROM account
      WHERE id =: setParentAcctID];
      for(Account a : listParentAcctData)

      newParent.put(a.id,a);


      for(Account acc: scope)

      Account acct = newParent.get(acc.Parent_Account__c);

      system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
      system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
      system.debug('acc.AnnualRev:'+acc.AnnualRev);
      system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

      acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
      acct.Total_CCF__c -= acc.Total_CCF__c;
      acct.AnnualRev -= acc.AnnualRev;
      acct.Account_kw__c -= acc.Account_kw__c;

      listforFinalUpdate.add(acct);


      if(listforFinalUpdate.size() > 0)

      update listforFinalUpdate;






      Trigger:



      trigger Parent_Subtract_Trigger on Account (before insert) 
      List<Account> acct = new List<Account>();
      if(Trigger.isUpdate)
      for(Account acc: Trigger.New)

      Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
      String oldParentName = oldName.Name ;
      String newParentName = acc.Parent_Account__c;

      if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
      Parent_Subtract.executeSub(acct);






      Am I on the right track with this functionality and does anyone know why I am recieving this message?







      apex trigger soql account






      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Apr 3 at 21:06







      Mark Wilson













      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 3 at 19:58









      Mark WilsonMark Wilson

      63




      63




      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          5














          You're calling a method with a single Account parameter:



          Parent_Subtract.executeSub(acct);


          but this method is defined to take a List<Account> as its parameter:



          public static void executeSub(List<Account> scope) 


          This method is bulkified: it is defined to run exactly one DML operation:



          update listforFinalUpdate;


          regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






          share|improve this answer























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "459"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );






            Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256456%2fmethod-does-not-exist-error-message%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            5














            You're calling a method with a single Account parameter:



            Parent_Subtract.executeSub(acct);


            but this method is defined to take a List<Account> as its parameter:



            public static void executeSub(List<Account> scope) 


            This method is bulkified: it is defined to run exactly one DML operation:



            update listforFinalUpdate;


            regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






            share|improve this answer



























              5














              You're calling a method with a single Account parameter:



              Parent_Subtract.executeSub(acct);


              but this method is defined to take a List<Account> as its parameter:



              public static void executeSub(List<Account> scope) 


              This method is bulkified: it is defined to run exactly one DML operation:



              update listforFinalUpdate;


              regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






              share|improve this answer

























                5












                5








                5







                You're calling a method with a single Account parameter:



                Parent_Subtract.executeSub(acct);


                but this method is defined to take a List<Account> as its parameter:



                public static void executeSub(List<Account> scope) 


                This method is bulkified: it is defined to run exactly one DML operation:



                update listforFinalUpdate;


                regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






                share|improve this answer













                You're calling a method with a single Account parameter:



                Parent_Subtract.executeSub(acct);


                but this method is defined to take a List<Account> as its parameter:



                public static void executeSub(List<Account> scope) 


                This method is bulkified: it is defined to run exactly one DML operation:



                update listforFinalUpdate;


                regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 3 at 20:05









                David ReedDavid Reed

                39.1k82356




                39.1k82356




















                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.












                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.











                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.














                    Thanks for contributing an answer to Salesforce Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256456%2fmethod-does-not-exist-error-message%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Sum ergo cogito? 1 nng

                    419 nièngy_Soadمي 19bal1.5o_g

                    Queiggey Chernihivv 9NnOo i Zw X QqKk LpB