• Apexmex
  • NEWBIE
  • 0 Points
  • Member since 2013

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies

I've created a custom object(Hoopla_Bridge__c)  that's records are updated from the Opportunity(Deal) and the Account(Dealer) objects. For every Opportunity there should be one Hoopla_Bridge__c record.  The trigger I wrote to create or update a Hoopla Bridge record when a new opportunity is created or updated works fine, but i'm having an issue updating all Hoopla Bridge records when values on the Account Object are updated.  Can someone let me know what i'm doing wrong here? Here's my Trigger and Class.  

 

trigger trgAfterUpdateDeal on Account (after update, after delete) {
    
    if (Trigger.isUpdate){
        string acc = trigger.new[0].Dealer_Number__c;
        List<Hoopla_Bridge__c> hoops = [SELECT id, Dealer_Number__c FROM Hoopla_Bridge__c WHERE Dealer_Number__c = :acc];
        
       for (Account obj: trigger.new){
          for (integer i = 0; i < hoops.size(); i++){
              
              if (obj.Dealer_Number__c == hoops[i].Dealer_Number__c){
                  string dlrNumUpd = trigger.new[0].Dealer_Number__c;
                  clsCreateHooplaRecordFromDeal.UpdateHooplaRecordFromDealer(dlrNumUpd);
              }
           }
        }       
     }  
}

 

public static void UpdateHooplaRecordFromDealer(string dlrNum)
    {
        //Query Deal
        List<Account> acc = [SELECT Id, Name, Dealer_Number__c, Funding_TL__c, Credit_Manager__c, Credit_Analyst__c, RCM__c, RSM__c, VP_Credit__c, SVP__c, Team__c FROM Account WHERE Dealer_Number__c = :dlrNum];
                
        Hoopla_Bridge__c hoop = [SELECT id, Dealer_Number__c, Dealer_Name__c, Credit_Manager__c, Credit_Analyst__c, RCM__c, RSM__c, VP_Credit__c, SVP__c, Team__c FROM Hoopla_Bridge__c WHERE Dealer_Number__c = :acc[0].Dealer_Number__c LIMIT 1];
                
        //Map Dealer fields to Hoopla_Bridge__c
        hoop.Dealer_Number__c = acc[0].Dealer_Number__c;
        hoop.Dealer_Name__c = acc[0].Name;
        hoop.Credit_Analyst__c = acc[0].Credit_Analyst__c;
        hoop.RCM__c = acc[0].RCM__c;
        hoop.RSM__c = acc[0].RSM__c;
        hoop.VP_Credit__c = acc[0].VP_Credit__c;
        hoop.SVP__c = acc[0].SVP__c;
        hoop.Team__c = acc[0].Team__c;
        hoop.Funding_TL__c = acc[0].Funding_TL__c;
        hoop.Credit_Manager__c = acc[0].Credit_Manager__c;

        update hoop;
        
    }

 

I've created a custom object(Hoopla_Bridge__c)  that's records are updated from the Opportunity(Deal) and the Account(Dealer) objects. For every Opportunity there should be one Hoopla_Bridge__c record.  The trigger I wrote to create or update a Hoopla Bridge record when a new opportunity is created or updated works fine, but i'm having an issue updating all Hoopla Bridge records when values on the Account Object are updated.  Can someone let me know what i'm doing wrong here? Here's my Trigger and Class.  

 

trigger trgAfterUpdateDeal on Account (after update, after delete) {
    
    if (Trigger.isUpdate){
        string acc = trigger.new[0].Dealer_Number__c;
        List<Hoopla_Bridge__c> hoops = [SELECT id, Dealer_Number__c FROM Hoopla_Bridge__c WHERE Dealer_Number__c = :acc];
        
       for (Account obj: trigger.new){
          for (integer i = 0; i < hoops.size(); i++){
              
              if (obj.Dealer_Number__c == hoops[i].Dealer_Number__c){
                  string dlrNumUpd = trigger.new[0].Dealer_Number__c;
                  clsCreateHooplaRecordFromDeal.UpdateHooplaRecordFromDealer(dlrNumUpd);
              }
           }
        }       
     }  
}

 

public static void UpdateHooplaRecordFromDealer(string dlrNum)
    {
        //Query Deal
        List<Account> acc = [SELECT Id, Name, Dealer_Number__c, Funding_TL__c, Credit_Manager__c, Credit_Analyst__c, RCM__c, RSM__c, VP_Credit__c, SVP__c, Team__c FROM Account WHERE Dealer_Number__c = :dlrNum];
                
        Hoopla_Bridge__c hoop = [SELECT id, Dealer_Number__c, Dealer_Name__c, Credit_Manager__c, Credit_Analyst__c, RCM__c, RSM__c, VP_Credit__c, SVP__c, Team__c FROM Hoopla_Bridge__c WHERE Dealer_Number__c = :acc[0].Dealer_Number__c LIMIT 1];
                
        //Map Dealer fields to Hoopla_Bridge__c
        hoop.Dealer_Number__c = acc[0].Dealer_Number__c;
        hoop.Dealer_Name__c = acc[0].Name;
        hoop.Credit_Analyst__c = acc[0].Credit_Analyst__c;
        hoop.RCM__c = acc[0].RCM__c;
        hoop.RSM__c = acc[0].RSM__c;
        hoop.VP_Credit__c = acc[0].VP_Credit__c;
        hoop.SVP__c = acc[0].SVP__c;
        hoop.Team__c = acc[0].Team__c;
        hoop.Funding_TL__c = acc[0].Funding_TL__c;
        hoop.Credit_Manager__c = acc[0].Credit_Manager__c;

        update hoop;
        
    }

 

I have a list of external ID's that I would like to update.

 

Is there anyway in excel connector to query just that list of external ids?  For example 123, 456, 789 ?

 

Thanks