You need to sign in to do that
Don't have an account?
raja subbu 1
plz help me i am new to this..what is c.phone and trigger.oldmap.get(c.accountid).phone) in below is it not same.plz explain plz
for(Contact c:[selectid,accountid,phone,mailingstreet,mailingcity,mailingpostalcode,mailingcountry,mailingstate fromcontact where accountid in :trigger.new]) {
account a = trigger.newmap.get(c.accountid);
boolean updatedrecord = false;
if(c.phone == trigger.oldmap.get(c.accountid).phone) {
c.phone = a.phone;
updatedrecord = true;
}
account a = trigger.newmap.get(c.accountid);
boolean updatedrecord = false;
if(c.phone == trigger.oldmap.get(c.accountid).phone) {
c.phone = a.phone;
updatedrecord = true;
}
As per the mentioned code
1.Firstly we are fetching all the contacts related to the updated accounts.
2.Then checking if the contacts have the same number as the account old number (before updating account) .If the contact phone number matches with the old number of account then we update the contact number with the latest account's phone number.
Let me explain you with example:
Account 'A' before update has phone Number 123456
After update has 3456789
then we firsly fetch contacts of the Account 'A' ,let it be c1 and c2.
if c1 phone number is same as '123456' then we update it to new number '3456789'.
similarly for contact c2.
This is how the code works.
Thanks
Bhargavi.
All Answers
if(c.phone == trigger.oldmap.get(c.accountid).phone) in this line you are comparing new phone with account old phone in account
Example: If you are editing a record detail page it is having old phone value as 987654321 and now you are updating phone value to 12345789. so, here you are checking new value to old value.
trigger.oldmap.get(c.accountid).phone) In this line you are getting previous value of phone for the passed account id.
Example: you are having an account id 001asd123MM now you are updating phone value for this account id. Here you are passing account id to get the old phone and comparing it with the new phone.
Let me know if you have any confusion.
Kindly mark this as solved if the reply was helpful.
Thanks,
Murali
Thanks.
Murali
As per the mentioned code
1.Firstly we are fetching all the contacts related to the updated accounts.
2.Then checking if the contacts have the same number as the account old number (before updating account) .If the contact phone number matches with the old number of account then we update the contact number with the latest account's phone number.
Let me explain you with example:
Account 'A' before update has phone Number 123456
After update has 3456789
then we firsly fetch contacts of the Account 'A' ,let it be c1 and c2.
if c1 phone number is same as '123456' then we update it to new number '3456789'.
similarly for contact c2.
This is how the code works.
Thanks
Bhargavi.