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

Can a virus destroy the BIOS of a modern computer?

How dangerous is XSS?

What type of content (depth/breadth) is expected for a short presentation for Asst Professor interview in the UK?

What does “the session was packed” mean in this context?

If human space travel is limited by the G force vulnerability, is there a way to counter G forces?

Could the museum Saturn V's be refitted for one more flight?

Can we compute the area of a quadrilateral with one right angle when we only know the lengths of any three sides?

Are there any examples of a variable being normally distributed that is *not* due to the Central Limit Theorem?

Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?

In 'Revenger,' what does 'cove' come from?

Why does this cyclic subgroup have only 4 subgroups?

Should I cover my bicycle overnight while bikepacking?

What method can I use to design a dungeon difficult enough that the PCs can't make it through without killing them?

Why would the Red Woman birth a shadow if she worshipped the Lord of the Light?

Am I breaking OOP practice with this architecture?

Alternative to sending password over mail?

What is the most common color to indicate the input-field is disabled?

How do conventional missiles fly?

CAST throwing error when run in stored procedure but not when run as raw query

What do you call someone who asks many questions?

What about the virus in 12 Monkeys?

Why is this clock signal connected to a capacitor to gnd?

Extract rows of a table, that include less than x NULLs

How much of data wrangling is a data scientist's job?



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









                David ReedDavid Reed

                38.9k82356




                38.9k82356




















                    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

                    Reverse int within the 32-bit signed integer range: [−2^31, 2^31 − 1]Combining two 32-bit integers into one 64-bit integerDetermine if an int is within rangeLossy packing 32 bit integer to 16 bitComputing the square root of a 64-bit integerKeeping integer addition within boundsSafe multiplication of two 64-bit signed integersLeetcode 10: Regular Expression MatchingSigned integer-to-ascii x86_64 assembler macroReverse the digits of an Integer“Add two numbers given in reverse order from a linked list”

                    Category:Fedor von Bock Media in category "Fedor von Bock"Navigation menuUpload mediaISNI: 0000 0000 5511 3417VIAF ID: 24712551GND ID: 119294796Library of Congress authority ID: n96068363BnF ID: 12534305fSUDOC authorities ID: 034604189Open Library ID: OL338253ANKCR AUT ID: jn19990000869National Library of Israel ID: 000514068National Thesaurus for Author Names ID: 341574317ReasonatorScholiaStatistics

                    Kiel Indholdsfortegnelse Historie | Transport og færgeforbindelser | Sejlsport og anden sport | Kultur | Kendte personer fra Kiel | Noter | Litteratur | Eksterne henvisninger | Navigationsmenuwww.kiel.de54°19′31″N 10°8′26″Ø / 54.32528°N 10.14056°Ø / 54.32528; 10.14056Oberbürgermeister Dr. Ulf Kämpferwww.statistik-nord.deDen danske Stats StatistikKiels hjemmesiderrrWorldCat312794080n790547494030481-4