• Dharmesh Jagetia 7
  • NEWBIE
  • 0 Points
  • Member since 2019

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 1
    Replies
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
    <aura:attribute name="drug_coverage_info1" type="Drug_Coverage_Info__c"
               default="{ 'sobjectType': 'Drug_Coverage_Info__c' }"/>
    <aura:attribute name="drug_coverage_info2" type="Drug_Coverage_Info__c"
               default="{ 'sobjectType': 'Drug_Coverage_Info__c' }"/>
    <aura:attribute name="drug_coverage_info3" type="Drug_Coverage_Info__c"
               default="{ 'sobjectType': 'Drug_Coverage_Info__c' }"/>
    <aura:attribute name="drug_coverage_info4" type="Drug_Coverage_Info__c"
               default="{ 'sobjectType': 'Drug_Coverage_Info__c' }"/>
   
    <lightning:button type="submit" label="NDC Verify" class="slds-floatright"/>
    <table class="slds-table slds-table_bordered slds-table_striped slds-table_cell-buffer slds-table_fixed-layout">
        <thead>
            <tr class="slds-text-heading_label">
                <th scope="col"><div class="slds-truncate" title="ID">Name</div></th>
                <th scope="col"><div class="slds-truncate" title="Name">NDC</div></th>
                <th scope="col"><div class="slds-truncate" title="Type">Quantity Dispensed</div></th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>
                    <force:inputField value="{!v.drug_coverage_info1.Drug__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info1.Drug__r.NDC__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info1.Drug__r.Quantity_Dispensed__c}"/>
                </td>
            </tr>
            <tr>
                <td>
                    <force:inputField value="{!v.drug_coverage_info2.Drug__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info1.Drug__r.NDC__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info2.Drug__r.Quantity_Dispensed__c}"/>
                </td>
            </tr>
            <tr>
                <td>
                    <force:inputField value="{!v.drug_coverage_info3.Drug__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info3.Drug__r.NDC__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info3.Drug__r.Quantity_Dispensed__c}"/>
                </td>
            </tr>
            <tr>
                <td>
                    <force:inputField value="{!v.drug_coverage_info4.Drug__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info4.Drug__r.NDC__c}"/>
                </td>
                <td>
                    <force:inputField value="{!v.drug_coverage_info4.Drug__r.Quantity_Dispensed__c}"/>
                </td>
            </tr>
        </tbody>
    </table>
</aura:component>
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
    <aura:attribute name="contact1" type="Contact" 
               default="{ 'sobjectType': 'Contact' }"/>
    <aura:attribute name="contact2" type="Contact" 
               default="{ 'sobjectType': 'Contact' }"/>
    <aura:attribute name="contact3" type="Contact" 
               default="{ 'sobjectType': 'Contact' }"/>
    <aura:attribute name="contact4" type="Contact" 
               default="{ 'sobjectType': 'Contact' }"/>
   
   
    <table class="slds-table slds-table_bordered slds-table_striped slds-table_cell-buffer slds-table_fixed-layout">
        <thead>
            <tr class="slds-text-heading_label">
                <th scope="col"><div class="slds-truncate" title="number"></div></th>
                <th scope="col"><div class="slds-truncate" title="ID">NAme</div></th>
                    <th scope="col"><div class="slds-truncate" title="Name">Lst anesdjsalk</div></th>
                    <th scope="col"><div class="slds-truncate" title="Type">lksdnasdkjds</div></th>
                </tr>
            
            </thead>
        <table>
            <tr>
                <td>
                    <force:inputField value="{!v.contact1.LastName}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact1.AccountId}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact1.Email}"/>
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td>
                    <force:inputField value="{!v.contact2.LastName}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact2.AccountId}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact2.Email}"/>
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td>
                    <force:inputField value="{!v.contact3.LastName}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact3.AccountId}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact3.Email}"/>
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td>
                    <force:inputField value="{!v.contact4.LastName}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact4.AccountId}"/>
                </td>
                <td>
                    <force:inputField value="{!v.contact4.Email}"/>
                </td>
            </tr>
        </table>
    </table>
    <lightning:button type="submit" label="NDC Verify" class="slds-float--right">
    </lightning:button>
</aura:component>
Hello Everyone,

I modified a rollup trigger I found online for our use case. Below trigger rolls up the count of subscriptions on Account. We have around 1.5 million subscriptions and an account can have up to 30,000 subscription records. It works fine when I manually update a child record. However, it's throwing an error,1. When I update "Update_for_Sub_Trigger__c" field using data loader in 10k records batch, it's throwing "system.limitexception: Apex CPU time limit exceeded" 2. When I update fields that are not referenced in the trigger update section of the code (using a dataloader), it's throwing error- "system.limitexception: too many soql queries: 101". I am a novice Apex developer and not able to understand the reason for these errors.  Can someone let me know if I am coding it the wrong way? Thank you!

trigger SubscriptionCount on Subscription__c (after insert, after update, after undelete, after delete) {
   
    List <Subscription__C> newSubscriptionList = new List<Subscription__C>();
    Set<Id> accountIdsSet = new Set<Id>();
   
    if ( Trigger.isDelete ) {
        newSubscriptionList = Trigger.Old;
    } else {
        newSubscriptionList = Trigger.New;
    }      
    for ( Subscription__C Sub : newSubscriptionList ) {
        if ( Trigger.isUpdate ) {
            Subscription__C oldSub = (Subscription__C)Trigger.oldMap.get(Sub.Id); // Map<Id, sObject>
           
            if (( oldSub.Account__c != Sub.Account__c )|| ( oldSub.Update_for_Sub_Trigger__c != Sub.Update_for_Sub_Trigger__c)){
                accountIdsSet.add(oldSub.Account__c);
                accountIdsSet.add(Sub.Account__c);
            }
        }
        else {
           
            if (Sub.Account__c != null ){
                accountIdsSet.add(Sub.Account__c);
            }
        }
       
           
       
               
        List<Account> accountList = [Select Id,  Total_Subscriptions__c, (Select Id From Subscriptions__r)
                                     From Account Where Id IN : accountIdsSet];
       
        for (Account acc : accountList) {
            List<Subscription__C> relatedSub = acc.Subscriptions__r;
            if ( relatedSub != null ){
                acc.Total_Subscriptions__c = relatedSub.size();
            } else {
                acc.Total_Subscriptions__c = 0;
            }
        }
       
        if(accountList.size() > 0){
           
            update accountList;
        }
       
       
    }
}