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 dangerous is XSS?

Why can't we play rap on piano?

Why was the shrinking from 8″ made only to 5.25″ and not smaller (4″ or less)?

What killed these X2 caps?

How can I deal with my CEO asking me to hire someone with a higher salary than me, a co-founder?

How to tell a function to use the default argument values?

GFCI outlets - can they be repaired? Are they really needed at the end of a circuit?

How do I handle a potential work/personal life conflict as the manager of one of my friends?

Is "remove commented out code" correct English?

How to show a landlord what we have in savings?

Do UK voters know if their MP will be the Speaker of the House?

How badly should I try to prevent a user from XSSing themselves?

Calculating entropy change: reversible vs irreversible process

Do scales need to be in alphabetical order?

Is it acceptable for a professor to tell male students to not think that they are smarter than female students?

Personal Teleportation: From Rags to Riches

Mathematica command that allows it to read my intentions

When (not how or why) to calculate Big O of an algorithm

Avoiding the "not like other girls" trope?

Which is the best way to check return result?

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

Probability that a draw from a normal distribution is some number greater than another draw from the same distribution

Expand and Contract

iPad being using in wall mount battery swollen



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













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 56 mins ago







      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 2 hours ago









      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


















          4














          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









            4














            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



























              4














              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

























                4












                4








                4







                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 1 hour ago









                David ReedDavid Reed

                38.8k82356




                38.8k82356




















                    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

                    acmart: Multiple authors: all with same affiliation, one author an additional affiliationHow to Write Names of Multiple Authors with Shared Affiliation in ACM 2017 Template?Multiple authors with different primary affiliation, but same additional affiliationSame affiliation for all authors without extra packagesIOS-Book-Article.cls: one author with multiple affiliationacmart: Shared Author AffiliationMultiple authors with different primary affiliation, but same additional affiliationAuthor affiliation with only 1 authorAdding Multiple Authors with Different Affiliation in LaTeX ArticleLaTeX: Multiple authors stays on same lineHow to Label Multiple Authors with Same DescriptionHow to make two authors use the same affiliationTwo authors with same affiliation on finished front page

                    How to write “ä” and other umlauts and accented letters in bibliography?Accents in BibTeXSorting references with special characters alphabeticallyUse ae ligature in bibliographyEastern European nameInverted circumflex in BibTexBibTex, non-ascii initials and nameptr fproblems with accent in LatexHow to add a Ø to my bibliography from Jabref?References without accentsTroubles when trying to cite St“omer-Verlet in ”title" field of a bib entryComprehensive list of accented charactersHow to type the letter “i” with two dots (diaeresis) in math mode?Problem with glossary text and accented lettersSpecial character in bibliographyAccented letters, Unicode and LaTeX accentsHow to stop natbib from modifying bibliography styleCitation of a paper with non-standard characters by BibtexWrite accented characters to file using writeHow to group the bibliography alphabetically, if some surnames start with “accented” characters?How can I automatically capitalize significant words in my bibliography?

                    Problem using RevTeX4-1 with “! Undefined control sequence. @bibitemShut”