1. Whenever a record is inserted to the account automatically inserted to the contact?
Ans:
trigger SCENARIO1 on Account (after insert){
list<contact> c=new list<contact>();
for(account a:trigger.new)
{
contact b=new contact();
b.LastName=a.Name;
b.AccountId=a.Id;
c.add(b);
}
insert c;
}
2. Whenever a record is inserted to the contact automatically inserted to the account?
Ans:
trigger scenario2 on Contact (after insert){
if(Recursive.flag)
{
Recursive.flag=false;
list<account>a=new list<account>();
for(contact c:trigger.new)
{
account a1=new account();
a1.Phone=c.Phone;
a1.Name=c.LastName;
a.add(a1);
}
insert a;
}
}
Recursive Trigger fire:
Public class Recursive {
Public static boolean flag=true;
}
3. Whenever a create opportunity object records updated total opportunities and total amount in account object?
Ans:
Ans:
trigger scenario3 on Opportunity (after insert) {
set<id>ids=new set<id>();
for(Opportunity op:trigger.new)
{
ids.add(op.accountid);
}
list<account>ac=[select Total_opportunities__c,Total_Amount__c,(select id,Amount
from Opportunities ) from account where id=:ids];
for(account a:ac)
{
a.Total_opportunities__c=a.opportunities.size();
decimal sum=0;
for(opportunity p:a.opportunities)
{
sum=sum+p.amount;
}
a.Total_Amount__c=sum;
}
update ac;
}
4. Contact object whenever department equal to 'CSE' automatically before inserted email field?
Ans:
Ans:
trigger scenario4 on Contact (before insert){
for(contact c:trigger.new)
{
if(c.Department=='CSE')
{
c.Email='abc@gmail.com';
}
}
}
5. Whenever we modify input out object doctor name automatically update dropoff object text field no relationship?
Ans:
trigger SCENARIO5 on Inputout__c (after update){
list<Dropoff1__c>d=[select id,name,Text__c from Dropoff1__c where Text__c='TusharSFDC'];
string name;
for(Inputout__c c:trigger.new)
{
name=c.Doctor_Name__c;
}
for(Dropoff1__c dp:d)
{
dp.Text__c=name;
}
update d;
}
6. Limit reached the records?
Ans:
Ans:
trigger SCENARIO6 on Account (before insert,before update){
integer count=0;
list<account>a=[select id,name from account where createddate=today or lastmodifieddate=today];
for(account ac:trigger.new)
{
count=a.size();
ac.NumberofLocations__c=count;
if(count>2)
{
ac.adderror('reached limit today');
}
}
}
7. Can not insert/update/delete that user account object records?
Ans:
trigger scenario7 on Account (before insert,before update,before delete) {
user u=[select id,name from user where username='abc@gmail.com'];
if(u.id==userinfo.getUserId())
{
if(trigger.isdelete)
{
for(account a:trigger.old)
{
a.adderror('cant delete record');
}
}
if(trigger.isupdate)
{
for(account b:trigger.new)
{
b.adderror('can not update');
}
}
if(trigger.isinsert)
{
for(account c:trigger.new)
{
c.adderror('can not insert');
}
}
}
}
8. Already existing records display an error message?
Ans:
Ans:
trigger scenario8 on Contact (before insert) {
list<string>st=new list<string>();
for(contact c:trigger.new)
{
list<contact>a=[select id,name,Email,lastname from contact where Email=:c.Email];
if(a.size()>0)
{
c.Email.adderror('already existing');
}
}
}
OR For loop without query:
trigger duplicatetrigger on Inputout__c (before insert) {
set<string>s=new set<string>();
for(Inputout__c op:trigger.new)
{
s.add(op.Doctor_Name__c);
}
list<Inputout__c>d=[select id,Doctor_Name__c from Inputout__c where Doctor_Name__c=:s];
set<string>dupids=new set<string>();
for(Inputout__c don:d)
{
dupids.add(don.Doctor_Name__c);
}
for(Inputout__c c:trigger.new)
{
if(c.Doctor_Name__c!=null)
{
if(dupids.contains(c.Doctor_Name__c))
{
c.Doctor_Name__c.adderror('already existing record');
}
}
}
}
9. Count of related contacts and accounts field display size?
Ans:
Ans:
Apex:
Public class RollupSummery {
public static void increment(list<contact>con)
{
set<id>ids=new set<id>();
for(contact c:con)
{
ids.add(c.accountid);
}
list<account>a=[select id,name,NumberOfEmployees,(select id,lastname from contacts)
from account where id=:ids];
for(account ac:a)
{
ac.NumberOfEmployees=ac.contacts.size();
}
update a;
}
}
Tigger:
trigger scenario9 on Contact (after insert) {
rollupsummery.increment(trigger.new);
}
10. Whenever opportunity StageName ='Close Down' automatically update the account field Rating='hot'?
Ans:
Ans:
trigger scenario10 on Opportunity (after insert,after update) {
set<id>ids=new set<id>();
list<account>ac=new list<account>();
for(opportunity op:trigger.new)
{
ids.add(op.AccountId);
ac=[select id,name,rating from account where id=:ids];
if(op.StageName=='Closed won')
{
for(account a:ac)
{
a.Rating='hot';
}
update ac;
}
}
}
11. Whenever the account name is 'TusharSDFC' automatically update the contact all last names?
Ans:
trigger scenario11 on Account (after update) {
string names;
list<contact>c=[select id,lastname,firstname from contact where lastname=:names ];
for(account a:trigger.new)
{
names=a.name;
}
for(contact con:c)
{
con.lastname=names;
}
update c;
}
12.when ever an Opportunity created record amount field is calculated by account total field?
Ans:
trigger scenario12 on Opportunity (after insert,after update,after delete) {
set<id>ids=new set<id>();
map<id,opportunity>opp=new map<id,opportunity>();
Decimal oldVal;
Decimal newVal;
if(trigger.isinsert)
{
for(opportunity op:trigger.new)
{
ids.add(op.AccountId);
opp.put(op.AccountId, op);
}
list<account> acc=[select id,Total_Amount__c from account where id=:ids];
for(account a:acc)
{
if(a.Total_Amount__c==null )
{
a.Total_Amount__c=opp.get(a.Id).amount;
}
else
{
a.Total_Amount__c= a.Total_Amount__c+opp.get(a.Id).amount;
}
}
update acc;
}
if(trigger.isUpdate)
{
for(opportunity op:trigger.new)
{
ids.add(op.AccountId);
opp.put(op.AccountId, op);
newVal=op.Amount;
}
for(Opportunity ops:trigger.old){
oldVal=ops.Amount;
}
list<account> acc=[select id,Total_Amount__c from account where id=:ids];
for(account a:acc)
{
if(a.Total_Amount__c==null )
{
a.Total_Amount__c=opp.get(a.Id).amount;
}
else
{
a.Total_Amount__c= a.Total_Amount__c+opp.get(a.Id).amount-oldVal;
}
}
update acc;
}
}
}
13.when ever a create a lead object automatically converted Account, Contact, Opportunity?
Ans:
trigger scenario13 on Lead (after insert) {
list<account>acc=new list<account>();
list<contact>con=new list<contact>();
list<opportunity>op=new list<opportunity>();
for(lead l:trigger.new)
{
account a=new account();
a.Name=l.lastname;
a.Phone=l.Phone;
acc.add(a);
contact c=new contact();
c.LastName=l.Name;
con.add(c);
opportunity o=new opportunity();
o.Amount=l.AnnualRevenue;
o.CloseDate=system.today();
o.StageName='closed won';
op.add(o);
}
insert acc;
insert con;
insert op;
}
14. Whenever create a contact automatically update Opportunity fields?
Ans:
trigger scenario14 on Contact (after insert) {
list<opportunity>op=[select id,name,stagename,Description,amount from opportunity limit 50];
for(contact c:trigger.new){
for(opportunity o:op)
{
if(o.amount<5000||o.Amount==null)
{
o.amount=5000;
o.Name=o.Name+'Mr';
o.StageName='prospecting';
}
else{
o.Amount=o.Amount+1000;
o.Name=o.Name+'Dr';
}
update o;
}
}
}
15. Sending email outbound email message?
Ans:
public class emailprogramme1 {
public void myemails()
{
messaging.SingleEmailMessage m1=new messaging.SingleEmailMessage();
string[] toadd=new string[]{'abc@gmail.com'};
string[] tocc=new string[]{'abcsfdc@gmail.com'};
m1.setToAddresses(toadd);
m1.setCcAddresses(tocc);
m1.setSubject('accenture');
m1.setPlainTextBody('this is interview call letter');
messaging.email[] m2=new messaging.Email[]{m1};
messaging.sendEmail(m2);
}
}
//========execution:==========(CTRL+E)
emailprogramme1 v=new emailprogramme1();
v.myemails();
16. Outbound message pdf file?
Ans:
public class emailprogramme2 {
public void emailbody()
{
messaging.SingleEmailMessage m1=new messaging.SingleEmailMessage();
string[] toadd=new string[]{'abc@gmail.com'};
m1.setToAddresses(toadd);
m1.setSubject('Pdf file');
m1.setPlainTextBody('THIS IS BILL OF TELEPHONE');
messaging.EmailFileAttachment m2=new messaging.EmailFileAttachment();
pagereference p=page.page1;
blob body=p.getContentAsPDF();
m2.setBody(body);
m2.setFileName('jan-feb-march');
messaging.EmailFileAttachment[] eft1=new messaging.EmailFileAttachment[]{m2};
m1.setFileAttachments(eft1);
messaging.Email[] m3=new messaging.Email[]{m1};
messaging.sendEmail(m3);
}
}
//========execution:==========(CTRL+E)
emailprogramme2 v=new emailprogramme2();
v.emailbody();
17. Sending an email template to the outbound message?
Ans:
public class emailprogramme3 {
public void emailmethod()
{
messaging.SingleEmailMessage m1=new messaging.SingleEmailMessage();
emailtemplate et=[select id from emailtemplate where name='doctor' ];
m1.setTemplateId(et.Id);
contact c=[select id,lastname,phone from contact where phone='999'];
m1.setTargetObjectId(c.id);
Inputout__c D=[select id,Doctor_Name__c from Inputout__c limit 1];
m1.setWhatId(D.Id);
messaging.Email[] m2=new messaging.Email[]{m1};
messaging.sendEmail(m2);
}
}
//=======Execution:======(CTRL+E)
emailprogramme3 v=new emailprogramme3();
v.emailmethod();
18. Sending an email trigger?
Ans:
trigger sendingmailtrigger on Inputout__c (before insert) {
for(Inputout__c i:trigger.new)
{
if(i.Check_box__c==true)
{
messaging.SingleEmailMessage m1=new messaging.SingleEmailMessage();
string[] toadd =new string[]{'abc@gmail.com'};
m1.setToAddresses(toadd);
m1.setSubject('accenture');
m1.setPlainTextBody('this is interview call letter');
messaging.Email[] mail1=new messaging.Email[]{m1};
messaging.sendEmail(mail1);
}
}
}
0 Comments