-
ChatterFeed
-
27Best Answers
-
1Likes Received
-
2Likes Given
-
3Questions
-
150Replies
Upsert Problem
Hello,
I am doing Upsert Operation....
Below is my code.
I have a problem while performing Upsert operation:
Scenirio:
Firstly i have to insert a records
then perform Upsert Operation.
I am using external Id while performing DML (Non Atomic)
The records in inserted insted of upsert .
public class upsertDatabase {
public list<Customer_Project__c> cPlist;
public upsertDatabase(){
cPlist=new list<Customer_Project__c>();
list<Opportunity> opList=[select id,name from Opportunity where name='Sapna'];
// insert the new Records
for(Opportunity ops:opList){
Customer_Project__c c1=new Customer_Project__c();
c1.Name='Timakshi';
c1.ExternalID__c=111;
c1.Opportunity__c=ops.id;
c1.Payment__c=78787;
cPlist.add(c1);
}
database.SaveResult[] sr=database.insert(cpList,false);
for(database.SaveResult s:sr){
if(s.isSUCCESS()){
system.debug('success Message' +s.getID());
}
else{
database.Error[] myError=s.getErrors();
for(database.Error er:myError){
system.debug('Error Mesaage for Inserting the records' +er.getMessage());
}
}
}
// upsert the Records
for(Opportunity oops:opList){
Customer_Project__c c2=new Customer_Project__c();
c2.Name='Taniya';
c2.Opportunity__c=oops.id;
c2.Payment__c=8888855;
c2.ExternalID__c=989;
cPlist.add(c2);
}
for(Opportunity oops:opList){
Customer_Project__c c3=new Customer_Project__c();
c3.Name='Geta';
c3.Opportunity__c=oops.id;
c3.Payment__c=8744;
c3.ExternalID__c=99;
cPlist.add(c3);
}
database.UpsertResult[] UpResult=database.upsert(cPlist,false);
for(database.UpsertResult uR:UpResult){
if(uR.isSUCCESS()){
system.debug('Success for Upserting the records' +uR.getId());
}
else{
database.Error[] myUpsertError=uR.getErrors();
for(database.Error ero:myUpsertError){
system.debug('My upsert Errors Message' +ero.getMessage());
}
}
}
}
}
I am doing Upsert Operation....
Below is my code.
I have a problem while performing Upsert operation:
Scenirio:
Firstly i have to insert a records
then perform Upsert Operation.
I am using external Id while performing DML (Non Atomic)
The records in inserted insted of upsert .
public class upsertDatabase {
public list<Customer_Project__c> cPlist;
public upsertDatabase(){
cPlist=new list<Customer_Project__c>();
list<Opportunity> opList=[select id,name from Opportunity where name='Sapna'];
// insert the new Records
for(Opportunity ops:opList){
Customer_Project__c c1=new Customer_Project__c();
c1.Name='Timakshi';
c1.ExternalID__c=111;
c1.Opportunity__c=ops.id;
c1.Payment__c=78787;
cPlist.add(c1);
}
database.SaveResult[] sr=database.insert(cpList,false);
for(database.SaveResult s:sr){
if(s.isSUCCESS()){
system.debug('success Message' +s.getID());
}
else{
database.Error[] myError=s.getErrors();
for(database.Error er:myError){
system.debug('Error Mesaage for Inserting the records' +er.getMessage());
}
}
}
// upsert the Records
for(Opportunity oops:opList){
Customer_Project__c c2=new Customer_Project__c();
c2.Name='Taniya';
c2.Opportunity__c=oops.id;
c2.Payment__c=8888855;
c2.ExternalID__c=989;
cPlist.add(c2);
}
for(Opportunity oops:opList){
Customer_Project__c c3=new Customer_Project__c();
c3.Name='Geta';
c3.Opportunity__c=oops.id;
c3.Payment__c=8744;
c3.ExternalID__c=99;
cPlist.add(c3);
}
database.UpsertResult[] UpResult=database.upsert(cPlist,false);
for(database.UpsertResult uR:UpResult){
if(uR.isSUCCESS()){
system.debug('Success for Upserting the records' +uR.getId());
}
else{
database.Error[] myUpsertError=uR.getErrors();
for(database.Error ero:myUpsertError){
system.debug('My upsert Errors Message' +ero.getMessage());
}
}
}
}
}
- Ashu sharma 38
- September 11, 2018
- Like
- 0
- Continue reading or reply
Too many SOQL queries: 101 in apex
list<HCP_User_BMS_CN__c> hcplist =[SELECT ,Hospital_Name_BMS_CN__c, Id, User_BMS_CN__r.name, Status_BMS_CN__c FROM HCP_User_BMS_CN__c ];
for(HCP_User_BMS_CN__c hcp : hcplist){
String hco = hcp.Hospital_Name_BMS_CN__c;
String temp='';
for (integer i = 0; i < hco.length(); i++) {
temp += hco.substring(i, i+1) + '%';
}
String hcolike ='%'+temp ;
list<Account> hcos = [SELECT Name FROM Account where Name like: hcolike];
list<String> hcolist = new list<String>();
for (integer i = 0; i < hcos.size(); i++) {
hcolist.add(hcos[i].Name);
}
//System.debug('hcolist'+' '+hco+' '+hcolist.size());
if(hcolist.size()>0){
list<Account> acclist = [select id ,Name,Primary_Parent_vod__r.Name FROM Account where Primary_Parent_vod__r.Name in :hcolist and Name=:hcp.User_BMS_CN__r.name];
if(acclist.size()>0){
System.debug('acclist'+acclist);
}
}
}
Because soql inside a for loop ,I am Getting This Below Error:System.LimitException: Too many SOQL queries: 101 . How to deal with it?
for(HCP_User_BMS_CN__c hcp : hcplist){
String hco = hcp.Hospital_Name_BMS_CN__c;
String temp='';
for (integer i = 0; i < hco.length(); i++) {
temp += hco.substring(i, i+1) + '%';
}
String hcolike ='%'+temp ;
list<Account> hcos = [SELECT Name FROM Account where Name like: hcolike];
list<String> hcolist = new list<String>();
for (integer i = 0; i < hcos.size(); i++) {
hcolist.add(hcos[i].Name);
}
//System.debug('hcolist'+' '+hco+' '+hcolist.size());
if(hcolist.size()>0){
list<Account> acclist = [select id ,Name,Primary_Parent_vod__r.Name FROM Account where Primary_Parent_vod__r.Name in :hcolist and Name=:hcp.User_BMS_CN__r.name];
if(acclist.size()>0){
System.debug('acclist'+acclist);
}
}
}
Because soql inside a for loop ,I am Getting This Below Error:System.LimitException: Too many SOQL queries: 101 . How to deal with it?
- Sheed
- September 05, 2018
- Like
- 0
- Continue reading or reply
How to capture the ID of a contract in a trigger?
I created a trigger to invoke an apex class. The trigger is activated every time a contract is entered, i needed to get the ID of this contract, put it on the trigger and send it to my apex class, where i will conduct a query to send information to a partner Webservice.
I'm not finding content for this subject in Trailhead and developer.salesforce.
Could someone help me with this problem?
Thank you
I'm not finding content for this subject in Trailhead and developer.salesforce.
Could someone help me with this problem?
Thank you
- Pedro Salles
- September 03, 2018
- Like
- 0
- Continue reading or reply
Using lightning:inputField, I want to remove helptext
Hi,
I'm using lightning:inputField, but I want only the input field, nothing else.
I have hidde the label, but I automaticaly get the helptext near the field.
And I don't want it in my component.
My code is :
<lightning:inputField fieldName="myCustomField__c" variant="label-hidden" "/>
Any Idea ?
I'm using lightning:inputField, but I want only the input field, nothing else.
I have hidde the label, but I automaticaly get the helptext near the field.
And I don't want it in my component.
My code is :
<lightning:inputField fieldName="myCustomField__c" variant="label-hidden" "/>
Any Idea ?
- Julien Salenson
- August 30, 2018
- Like
- 0
- Continue reading or reply
Trigger Logic issue
Hi Team,
which is the best scenario for calling handler class
Scenario : 1
-------------------
Please let me know which is the best practice.
Thanks,
Lakshmi.
which is the best scenario for calling handler class
Scenario : 1
-------------------
trigger OpportunityTrigger on Opportunity (before insert, before update, before delete, after insert, after update) { if(Trigger.isBefore && Trigger.isInsert){ // before insert. } if(Trigger.isBefore && Trigger.isUpdate){ // before update. } if(Trigger.isBefore && Trigger.isDelete){ // before delete } }Scenario : 2
trigger OpportunityTrigger on Opportunity (before insert, before update, before delete, after insert, after update) { if(Trigger.isBefore){ if(Trigger.isInsert){ // before insert } else if(Trigger.isUpdate){ // before update. } else if(Trigger.isDelete){ // before delete } } }
Please let me know which is the best practice.
Thanks,
Lakshmi.
- Lakshmi S
- August 30, 2018
- Like
- 0
- Continue reading or reply
Illegal assignment from SObject to Account
I want to create a instance of account to update some field related to that accountRecord during lead conversion.
I am getting Illegal assignment from SObject to Account. How to resolve that?
Account ac = lc.getAccountRecord();
I am getting Illegal assignment from SObject to Account. How to resolve that?
Account ac = lc.getAccountRecord();
- swain 10
- August 29, 2018
- Like
- 0
- Continue reading or reply
trigger for creating child record based on parent record update
Hi Team,
I have 2 Objects, (Parent-abc__c & Child-CL__c) with loookup relationship.
There are 15 Picklist values in abc__c object.(eg: Country__c, State__c, Region__c, Gender__c.......)
There are 4 Fields in CL__c object(Old value, abc__c, NEW Value, action)
Now I want to create a child record(CL__c) if someone MODIFIES/UPDATES any of the 15 Picklist values.
The CL__c record must have the Old value as well as NEW value for user reference.
How to achieve this using trigger? any code samples? TIA
I have 2 Objects, (Parent-abc__c & Child-CL__c) with loookup relationship.
There are 15 Picklist values in abc__c object.(eg: Country__c, State__c, Region__c, Gender__c.......)
There are 4 Fields in CL__c object(Old value, abc__c, NEW Value, action)
Now I want to create a child record(CL__c) if someone MODIFIES/UPDATES any of the 15 Picklist values.
The CL__c record must have the Old value as well as NEW value for user reference.
How to achieve this using trigger? any code samples? TIA
- UK 1
- August 27, 2018
- Like
- 0
- Continue reading or reply
Adding an Array within Map for JSON payload
I am trying to send a record to an external system via Async service . Only one value within that payload needs to be an array while the remaining should be string. Does any one know how it can be done?
searlization looks like below..
While the output that I am seeking is like..
That is a LONG TEXT field in UI and will hold multiple urls separated by comma or semi-colon.
searlization looks like below..
Map<String, String> data = new Map<String, String>{ 'email' => acc.Email__c, 'displayName' => acc.Display_Name__c, 'bioUrl' => acc.Bio_URL__c, 'imageUrl' => acc.Image_URL__c, 'vertical' => acc.Channel__c, 'status' => acc.Status__c, 'gid' => acc.Legacy_GID__c, 'numberOfExperts' => String.valueOf(acc.Number_of_Experts__c), 'userId' => String.valueOf(acc.Selene_ID__c), 'socialPreference' => acc.Social_Presence__c }; String jsonInput = JSON.serializePretty(data, True);
While the output that I am seeking is like..
{ "socialPreference" : [ "www.facebook.com/101", "www.twitter.com/101" ], "userId" : "123456789123", "numberOfExperts" : "1", "gid" : "210967", "status" : "LIVE", "vertical" : "SALESFORCE", "imageUrl" : "", "bioUrl" : "", "displayName" : "test101", "email" : "test101@test.com" }I don't know how to convert just one value (socialPresence)into an array format.
That is a LONG TEXT field in UI and will hold multiple urls separated by comma or semi-colon.
- Cloud Atlas
- August 23, 2018
- Like
- 0
- Continue reading or reply
I am unable to get code coverage for Cancel button(which resets the entire page).
Hi all,
I am unable to create the test class for cancel button. I tried but got error
Argument 1 cannot be null.
Please provide the test class for following code
public pagereference cancel()
{
PageReference reqPageRef = new PageReference(ApexPages.currentPage().getParameters().get('retURL'));
reqPageRef.setRedirect(true);
return reqPageRef;
}
Thanks
I am unable to create the test class for cancel button. I tried but got error
Argument 1 cannot be null.
Please provide the test class for following code
public pagereference cancel()
{
PageReference reqPageRef = new PageReference(ApexPages.currentPage().getParameters().get('retURL'));
reqPageRef.setRedirect(true);
return reqPageRef;
}
Thanks
- Anish Mahadik 1
- August 15, 2018
- Like
- 0
- Continue reading or reply
Apex Code deployment Error From Sandbox to production?
Hi,
I wrote a trigger and test Class. am getting 100% coverage in the sandbox but 0% Code Coverage in Production. Kindly Please help me to solve this issue.
My trigger:
trigger Cumulative_Calcuation on Opportunity (Before Update) {
List<Target__C> Tglist= New List<Target__C>();
List<Target__C> Tglist1= New List<Target__C>();
Map<String,ID> Mapfield = New map<String,ID>();
Map<String,ID> MapTele = New map<String,ID>();
List<Incentive__c >lstInc =New list<Incentive__c >();
List<Incentive__c >lstInc1 =New list<Incentive__c >();
List <Cumulative__c> Cumlist= New list <Cumulative__c>();
List <Cumulative__c> Cumlist1= New list <Cumulative__c>();
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Set<String> setAllNames = new Set<String>();
For(Opportunity opp:Trigger.New){
Mapfield .put(opp.Field_Executive__c,opp.ID);MapTele.put(opp.Hidden_Owner_Name__c,opp.ID);}
setAllNames.addAll(Mapfield.keyset()); setAllNames.addAll(MapTele.keyset());
for(target__C objTG : [SELECT ID, name FROM target__C WHERE Name in: setAllNames AND Active__c = True]) {
if(Mapfield.containskey(objTG.Name)){
TGlist1.add(objTG);}
if(MapTele.containskey(objTG.Name)){
TGlist.add(objTG);}}
for(Opportunity opp: trigger.new ) {
if(TGlist1.size()>0){if(opp.Field_Executive__c==TGlist1[0].NAme){
opp.Target__C= TGlist1[0].ID; } }
IF(TGlist.size()>0){if(opp.Hidden_Owner_Name__c==TGlist[0].NAme){
opp.Telecaller__c=TGlist[0].ID;
}
}
If(opp.Telecaller__c!=Null && opp.Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Telecaller__c and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c]; if(Cumlist.size()>0){For(Cumulative__c Cum:Cumlist){lstInc = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c]; If(lstInc.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c; opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True; }} IF(lstInc.size()<=0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True; }Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_MPD__c += opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;} }lstcum .add(Cum);opplist.add(opp);} } } If(opp.Target__C!=Null && opp.FE_Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist1=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c ,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Target__C and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c]; if(Cumlist1.size()>0){For(Cumulative__c Cum:Cumlist1){ lstInc1 = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c]; If(lstInc1.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c += opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True; }} IF(lstInc1.size()<=0 ){ If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){ Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){ Cum.Type3_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;} }lstcum .add(Cum); opplist.add(opp);
} } }
update lstcum ; }}
My Test class:
@isTest(seeAlldata=True)
Public class Cum_incentive_Test{
static testMethod void Cum_incentive_Test(){
String opportunityName = 'My Opportunity';
String standardPriceBookId = '';
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Incentive__c INC= new Incentive__c(Name='Indoor test', Active__c = true, Product_Type__c = 'Indoor',
Start_Date__c = date.newinstance(2014,12,25), Area__c = 'All India');
insert INC;
IncentiveLineItem__c inclitem = new IncentiveLineItem__c(Incentive__c = INC.id,Other_Mode__c=0.80 ,Customer_Mode__c='Type 3',Neft_Cash__c=0.75 , Discount_From__c=0,Discount_To__c=10,Field_Staff__c=1,Telesales__c=1,Combined__c=2);
insert inclitem;
PriceBook2 pb2Standard = [select Id ,Incentive_Slab__c from Pricebook2 where isStandard=true];
standardPriceBookId = pb2Standard.Id;
pb2Standard .Incentive_Slab__c=inc.ID;
Update pb2Standard ;
Account a = new Account(Name = 'ApprovalTest' ,Lock_record__C=FALSE , Customer_Type__c='Builders');
insert a;
Contact con = new COntact();
con.email='test@fmail.co';
con.ACCOUNTID=a.ID;
con.lastname='test' ;
insert con;
Opportunity o = new Opportunity(AccountId=null, Name='test',
StageName='Prospecting', CloseDate=Date.today());
insert o;
Opportunity opp = [SELECT Name,IncentiveSlab__c,Discount__c FROM Opportunity WHERE Id = :o.Id];
Product2 p2 = new Product2(Name='Test Product',isActive=true);
insert p2;
Product2 p2ex = [SELECT Name FROM Product2 WHERE Id = :p2.Id];
System.assertEquals('Test Product', p2ex.Name);
PricebookEntry pbe = new PricebookEntry(Pricebook2Id=standardPriceBookId, Product2Id=p2.Id, UnitPrice=99, isActive=true);
insert pbe;
PricebookEntry pbeex = [SELECT Pricebook2Id FROM PricebookEntry WHERE Id = :pbe.Id];
System.assertEquals(standardPriceBookId, pbeex.Pricebook2Id);
OpportunityLineItem oli = new OpportunityLineItem(PriceBookEntryId=pbe.Id, OpportunityId=o.Id, Quantity=1, TotalPrice=99);
insert oli;
OpportunityLineItem oliex = [SELECT PriceBookEntryId FROM OpportunityLineItem WHERE Id = :oli.Id];
System.assertEquals(pbe.Id, oliex.PriceBookEntryId);
Quote Q = new Quote();
Q.Name = 'Quote';
Q.OpportunityId = Opp.id;
Q.Quote_Count__c = 00000000;
Q.Approved__c = true;
Q.Quote_Number__c ='000000';
Q.Quotation_Date__c = date.newinstance(2013,3,5);
Q.Pricebook2Id = pb2Standard .id;
insert Q;
Project__c Proj = new Project__c(name='Proj't, Opportunity__c = Opp.id, Quote__c = Q.id, Project_Type__c = 'New PE', Date_of_Installation__c = date.newinstance(2013,4,5),
Nature_of_Case__c ='No Adv, Dspch & Erection Pending',Contact__C=con.ID,Customer_Name__c=a.id,Special_Instructions__c ='Test for Work order Pdf to be generated');
insert Proj;
Opp.Pricebook2Id = pb2Standard .id;
opp.IncentiveSlab__c= pb2Standard .Incentive_Slab__c;
opp.Field_Executive__c='Raman.A';
update Opp;
list<Incentive__c > lstInc1=new list<Incentive__c >{INC};
/*lstInc1=[select ID from Incentive__c where ID=:Opp.IncentiveSlab__c AND Opp_Discount_To__c>=:opp.Discount__c];
update lstInc1;*/
Target__c TC= NEw Target__c (Name='Raman.A',Out_Standing_Amount__c=10000,Active__c=True,Target_Amount__c=700000);
Insert TC;
Cumulative__c CTC= New Cumulative__c (From_Date__c=Date.today(),
To_Date__c=date.newinstance(2018,7,30),Target__c=TC.ID);
insert CTC;
Target__c TC1= NEw Target__c (Name='Ashok',Out_Standing_Amount__c=10000,Active__c=True,Target_Amount__c=700000);
Insert TC1;
Cumulative__c CTC1= New Cumulative__c (From_Date__c=Date.today(),
To_Date__c=date.newinstance(2018,7,30),Target__c=TC1.ID);
insert CTC1;
Opportunity o1 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o1;
Opportunity o2 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o2;
o2.StageName='Closed/Lost';
Update o2;
Opportunity o3 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o3;
try{
o3.StageName='Closed Won';
Update o3;
}Catch (DMLException e){
System.assert(e.getMessage().contains('No Test Record'), 'No Test Record.');
}
}
}
Thanks,
Shakila
I wrote a trigger and test Class. am getting 100% coverage in the sandbox but 0% Code Coverage in Production. Kindly Please help me to solve this issue.
My trigger:
trigger Cumulative_Calcuation on Opportunity (Before Update) {
List<Target__C> Tglist= New List<Target__C>();
List<Target__C> Tglist1= New List<Target__C>();
Map<String,ID> Mapfield = New map<String,ID>();
Map<String,ID> MapTele = New map<String,ID>();
List<Incentive__c >lstInc =New list<Incentive__c >();
List<Incentive__c >lstInc1 =New list<Incentive__c >();
List <Cumulative__c> Cumlist= New list <Cumulative__c>();
List <Cumulative__c> Cumlist1= New list <Cumulative__c>();
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Set<String> setAllNames = new Set<String>();
For(Opportunity opp:Trigger.New){
Mapfield .put(opp.Field_Executive__c,opp.ID);MapTele.put(opp.Hidden_Owner_Name__c,opp.ID);}
setAllNames.addAll(Mapfield.keyset()); setAllNames.addAll(MapTele.keyset());
for(target__C objTG : [SELECT ID, name FROM target__C WHERE Name in: setAllNames AND Active__c = True]) {
if(Mapfield.containskey(objTG.Name)){
TGlist1.add(objTG);}
if(MapTele.containskey(objTG.Name)){
TGlist.add(objTG);}}
for(Opportunity opp: trigger.new ) {
if(TGlist1.size()>0){if(opp.Field_Executive__c==TGlist1[0].NAme){
opp.Target__C= TGlist1[0].ID; } }
IF(TGlist.size()>0){if(opp.Hidden_Owner_Name__c==TGlist[0].NAme){
opp.Telecaller__c=TGlist[0].ID;
}
}
If(opp.Telecaller__c!=Null && opp.Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Telecaller__c and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c]; if(Cumlist.size()>0){For(Cumulative__c Cum:Cumlist){lstInc = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c]; If(lstInc.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c; opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True; }} IF(lstInc.size()<=0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True; }Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_MPD__c += opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;} }lstcum .add(Cum);opplist.add(opp);} } } If(opp.Target__C!=Null && opp.FE_Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist1=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c ,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Target__C and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c]; if(Cumlist1.size()>0){For(Cumulative__c Cum:Cumlist1){ lstInc1 = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c]; If(lstInc1.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c += opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True; }} IF(lstInc1.size()<=0 ){ If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){ Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){ Cum.Type3_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;} }lstcum .add(Cum); opplist.add(opp);
} } }
update lstcum ; }}
My Test class:
@isTest(seeAlldata=True)
Public class Cum_incentive_Test{
static testMethod void Cum_incentive_Test(){
String opportunityName = 'My Opportunity';
String standardPriceBookId = '';
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Incentive__c INC= new Incentive__c(Name='Indoor test', Active__c = true, Product_Type__c = 'Indoor',
Start_Date__c = date.newinstance(2014,12,25), Area__c = 'All India');
insert INC;
IncentiveLineItem__c inclitem = new IncentiveLineItem__c(Incentive__c = INC.id,Other_Mode__c=0.80 ,Customer_Mode__c='Type 3',Neft_Cash__c=0.75 , Discount_From__c=0,Discount_To__c=10,Field_Staff__c=1,Telesales__c=1,Combined__c=2);
insert inclitem;
PriceBook2 pb2Standard = [select Id ,Incentive_Slab__c from Pricebook2 where isStandard=true];
standardPriceBookId = pb2Standard.Id;
pb2Standard .Incentive_Slab__c=inc.ID;
Update pb2Standard ;
Account a = new Account(Name = 'ApprovalTest' ,Lock_record__C=FALSE , Customer_Type__c='Builders');
insert a;
Contact con = new COntact();
con.email='test@fmail.co';
con.ACCOUNTID=a.ID;
con.lastname='test' ;
insert con;
Opportunity o = new Opportunity(AccountId=null, Name='test',
StageName='Prospecting', CloseDate=Date.today());
insert o;
Opportunity opp = [SELECT Name,IncentiveSlab__c,Discount__c FROM Opportunity WHERE Id = :o.Id];
Product2 p2 = new Product2(Name='Test Product',isActive=true);
insert p2;
Product2 p2ex = [SELECT Name FROM Product2 WHERE Id = :p2.Id];
System.assertEquals('Test Product', p2ex.Name);
PricebookEntry pbe = new PricebookEntry(Pricebook2Id=standardPriceBookId, Product2Id=p2.Id, UnitPrice=99, isActive=true);
insert pbe;
PricebookEntry pbeex = [SELECT Pricebook2Id FROM PricebookEntry WHERE Id = :pbe.Id];
System.assertEquals(standardPriceBookId, pbeex.Pricebook2Id);
OpportunityLineItem oli = new OpportunityLineItem(PriceBookEntryId=pbe.Id, OpportunityId=o.Id, Quantity=1, TotalPrice=99);
insert oli;
OpportunityLineItem oliex = [SELECT PriceBookEntryId FROM OpportunityLineItem WHERE Id = :oli.Id];
System.assertEquals(pbe.Id, oliex.PriceBookEntryId);
Quote Q = new Quote();
Q.Name = 'Quote';
Q.OpportunityId = Opp.id;
Q.Quote_Count__c = 00000000;
Q.Approved__c = true;
Q.Quote_Number__c ='000000';
Q.Quotation_Date__c = date.newinstance(2013,3,5);
Q.Pricebook2Id = pb2Standard .id;
insert Q;
Project__c Proj = new Project__c(name='Proj't, Opportunity__c = Opp.id, Quote__c = Q.id, Project_Type__c = 'New PE', Date_of_Installation__c = date.newinstance(2013,4,5),
Nature_of_Case__c ='No Adv, Dspch & Erection Pending',Contact__C=con.ID,Customer_Name__c=a.id,Special_Instructions__c ='Test for Work order Pdf to be generated');
insert Proj;
Opp.Pricebook2Id = pb2Standard .id;
opp.IncentiveSlab__c= pb2Standard .Incentive_Slab__c;
opp.Field_Executive__c='Raman.A';
update Opp;
list<Incentive__c > lstInc1=new list<Incentive__c >{INC};
/*lstInc1=[select ID from Incentive__c where ID=:Opp.IncentiveSlab__c AND Opp_Discount_To__c>=:opp.Discount__c];
update lstInc1;*/
Target__c TC= NEw Target__c (Name='Raman.A',Out_Standing_Amount__c=10000,Active__c=True,Target_Amount__c=700000);
Insert TC;
Cumulative__c CTC= New Cumulative__c (From_Date__c=Date.today(),
To_Date__c=date.newinstance(2018,7,30),Target__c=TC.ID);
insert CTC;
Target__c TC1= NEw Target__c (Name='Ashok',Out_Standing_Amount__c=10000,Active__c=True,Target_Amount__c=700000);
Insert TC1;
Cumulative__c CTC1= New Cumulative__c (From_Date__c=Date.today(),
To_Date__c=date.newinstance(2018,7,30),Target__c=TC1.ID);
insert CTC1;
Opportunity o1 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o1;
Opportunity o2 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o2;
o2.StageName='Closed/Lost';
Update o2;
Opportunity o3 = new Opportunity(AccountId=null, Name='test',
StageName='Open', CloseDate=Date.today());
insert o3;
try{
o3.StageName='Closed Won';
Update o3;
}Catch (DMLException e){
System.assert(e.getMessage().contains('No Test Record'), 'No Test Record.');
}
}
}
Thanks,
Shakila
- shakila G
- August 14, 2018
- Like
- 0
- Continue reading or reply
Salesforce developer 1 - help with one question please
HI, i am practicing for Salesforce developer 1. I came across this question and the answer offered didnt make any sense to me.
The operation manager at a construction company uses a custom object called Machinery to manage the usage and maintenance of its cranes and other machinery. The manager wants to be able to assign machinery to different construction jobs, and track the dates and cost associated with each job. More than one piece of machinery can be assigned to one construction job. What should a developer do to meet these requirements?
The answer provided was n.3. I would have gone with n.2.
Would you be able to help me with this and explain the answer to this by any chance
Many thanks
The operation manager at a construction company uses a custom object called Machinery to manage the usage and maintenance of its cranes and other machinery. The manager wants to be able to assign machinery to different construction jobs, and track the dates and cost associated with each job. More than one piece of machinery can be assigned to one construction job. What should a developer do to meet these requirements?
- Create a lookup field on the machinery object to the construction job object
- Create a junction object with Master-Detail Relationship to both the machinery object and the construction job object.
- Create a lookup field on the construction job object to the machinery object
- Create a Master-Detail lookup field on the machinery object to the construction job object
The answer provided was n.3. I would have gone with n.2.
Would you be able to help me with this and explain the answer to this by any chance
Many thanks
- Emily soares
- August 13, 2018
- Like
- 0
- Continue reading or reply
no response for action.setCallback
Hello,
i have problem with my lightning code.
i am using this action in a save function:
It is actually called successfully (i can see the apex debug messages), but the javascript debugs are not showing in the developer console of my browser.
Note: 120 is just a return for testing.
Any advise about this?
thanks
Peter
i have problem with my lightning code.
i am using this action in a save function:
var getDateDifference = cmp.get('c.getDateDiff'); getDateDifference.setParams({deliveryDate: soldByDate.get('v.value')}); getDateDifference.setCallback(this, function(respDate){ console.debug("DATE DIFF " + respDate.getState()); console.debug("DATE DIFF " + respDate.getReturnValue()); }); $A.enqueueAction(getDateDifference);it calls this Apex-Method:
@AuraEnabled public static Integer getDateDiff(String deliveryDate){ system.debug('divdate' + deliveryDate); system.debug('date ' + system.today()); return 120; }
It is actually called successfully (i can see the apex debug messages), but the javascript debugs are not showing in the developer console of my browser.
Note: 120 is just a return for testing.
Any advise about this?
thanks
Peter
- Peter Bölke
- August 13, 2018
- Like
- 0
- Continue reading or reply
Write Test Class for this Trigger Code
Handler--------------------------
public class UpdateAccAddressTriggerHandler{
public static void changeAccAddress(list<contact> contList){
set<Id> AcctIds=new set<Id>();
list<Account> accList=new list<Account>();
map<Id,Contact> contMap = new map<Id,Contact>();
for(Contact con:contList){
AcctIds.add(con.AccountId);
}
for(Contact con:[Select Id,AccountId, MailingStreet,MailingCity, MailingState, MailingCountry, MailingPostalCode,LastModifiedDate from Contact
WHERE AccountId IN:AcctIds order by LastModifiedDate Desc limit 1]){
if(!contMap.containskey(con.accountId)){
contMap.put(con.AccountId,con);
}
}
for(Account acc:[select id,BillingCity,BillingStreet,BillingCountry,BillingPostalCode from Account where id IN:AcctIds]){
Contact con =contMap.get(acc.id);
acc.BillingStreet=con.MailingStreet;
acc.BillingCity=con.MailingCity;
acc.BillingState=con.MailingState;
acc.BillingPostalCode=con.MailingPostalCode;
acc.BillingCountry=con.MailingCountry;
accList.add(acc);
}
update accList;
}
}
Trigger--------------------------
trigger updateAccAddressTrigger on Contact (after insert,after update) {
if(Trigger.isAfter){
UpdateAccAddressTriggerHandler.changeAccAddress(Trigger.New);
}
}
public class UpdateAccAddressTriggerHandler{
public static void changeAccAddress(list<contact> contList){
set<Id> AcctIds=new set<Id>();
list<Account> accList=new list<Account>();
map<Id,Contact> contMap = new map<Id,Contact>();
for(Contact con:contList){
AcctIds.add(con.AccountId);
}
for(Contact con:[Select Id,AccountId, MailingStreet,MailingCity, MailingState, MailingCountry, MailingPostalCode,LastModifiedDate from Contact
WHERE AccountId IN:AcctIds order by LastModifiedDate Desc limit 1]){
if(!contMap.containskey(con.accountId)){
contMap.put(con.AccountId,con);
}
}
for(Account acc:[select id,BillingCity,BillingStreet,BillingCountry,BillingPostalCode from Account where id IN:AcctIds]){
Contact con =contMap.get(acc.id);
acc.BillingStreet=con.MailingStreet;
acc.BillingCity=con.MailingCity;
acc.BillingState=con.MailingState;
acc.BillingPostalCode=con.MailingPostalCode;
acc.BillingCountry=con.MailingCountry;
accList.add(acc);
}
update accList;
}
}
Trigger--------------------------
trigger updateAccAddressTrigger on Contact (after insert,after update) {
if(Trigger.isAfter){
UpdateAccAddressTriggerHandler.changeAccAddress(Trigger.New);
}
}
- 123_P
- August 07, 2018
- Like
- 0
- Continue reading or reply
apex trigger suggestions/help!!
Hi, we are a publishing company that sell adverts into different magazine 'Issues'(custom SF Object)
I have an apex trigger called EndOfSeriesIssue that takes the latest Issue from opportunityLineItem and puts it to a look up field on opportunity called last_issue__c, based on Issue_publication_date__c
This works fine. However there is a problem when two issues have the same Issue_publication_date__c. Could anyone tell me how to modify my trigger to deal with this problem? Trigger below:
trigger EndOfSeriesIssue on Opportunity (before update) {
for (Opportunity o : Trigger.new) {
OpportunityLineItem[] LineItemArray =
[select Issue__c, Issue_publication_date__c from OpportunityLineItem where OpportunityId = :o.id ORDER BY Issue_publication_date__c DESC];
if (LineItemArray.size() > 0) {
o.last_issue__c = LineItemArray[0].Issue__c;
}else{
o.last_issue__c = null;
}
}
}
I have an apex trigger called EndOfSeriesIssue that takes the latest Issue from opportunityLineItem and puts it to a look up field on opportunity called last_issue__c, based on Issue_publication_date__c
This works fine. However there is a problem when two issues have the same Issue_publication_date__c. Could anyone tell me how to modify my trigger to deal with this problem? Trigger below:
trigger EndOfSeriesIssue on Opportunity (before update) {
for (Opportunity o : Trigger.new) {
OpportunityLineItem[] LineItemArray =
[select Issue__c, Issue_publication_date__c from OpportunityLineItem where OpportunityId = :o.id ORDER BY Issue_publication_date__c DESC];
if (LineItemArray.size() > 0) {
o.last_issue__c = LineItemArray[0].Issue__c;
}else{
o.last_issue__c = null;
}
}
}
- Conor Bradley 5
- July 26, 2018
- Like
- 0
- Continue reading or reply
Attempt to de-reference a null object Error is in expression '{!go}' in component <apex:commandButton> in page createcase: Class.assign_1_Controller.go
I have Visualforce page with below code
<apex:page controller="assign_1_Controller">
<apex:pageBlock >
<apex:form >
<apex:pageBlockSection columns="1">
<apex:inputField value="{!newCase.ContactId}" label="Search Contact">
</apex:inputField>
<apex:commandButton value="Go" title="Go" action="{!go}"/>
<!-- <apex:commandButton value="Add New Contact" title="Add New Contact" action="{!addNewContact}"/> -->
</apex:pageBlockSection>
</apex:form>
</apex:pageBlock>
</apex:page>
and
Controller
public Contact contactbyLookup{get;set;}
public PageReference go(){
PageReference p = new PageReference('/apex/Casetabsearchassignment');
if(newCase.ContactId != null){
contactByLookup = [select id,
Name,
Business_Vertical__c
from Contact
where id =: newCase.ContactId];
}
return p;
}
<apex:page controller="assign_1_Controller">
<apex:pageBlock >
<apex:form >
<apex:pageBlockSection columns="1">
<apex:inputField value="{!newCase.ContactId}" label="Search Contact">
</apex:inputField>
<apex:commandButton value="Go" title="Go" action="{!go}"/>
<!-- <apex:commandButton value="Add New Contact" title="Add New Contact" action="{!addNewContact}"/> -->
</apex:pageBlockSection>
</apex:form>
</apex:pageBlock>
</apex:page>
and
Controller
public Contact contactbyLookup{get;set;}
public PageReference go(){
PageReference p = new PageReference('/apex/Casetabsearchassignment');
if(newCase.ContactId != null){
contactByLookup = [select id,
Name,
Business_Vertical__c
from Contact
where id =: newCase.ContactId];
}
return p;
}
- Pankaj Gupta 94
- July 26, 2018
- Like
- 0
- Continue reading or reply
Test class for STOWD API
Hi All,
Any help in writting test class for the below trigger is appreciated.
trigger test on Mail__c (after update) {
list<Duration__c> durations = new list<Duration__c>();
set<string> trackedFields = new set<string> {'OwnerId', 'Status__c', 'Sub_Status__c'};
STOWD.API.CalculateDurations(durations, trackedFields, 'Request__History', 'ParentId');
database.insert(durations, false);
}
Any help in writting test class for the below trigger is appreciated.
trigger test on Mail__c (after update) {
list<Duration__c> durations = new list<Duration__c>();
set<string> trackedFields = new set<string> {'OwnerId', 'Status__c', 'Sub_Status__c'};
STOWD.API.CalculateDurations(durations, trackedFields, 'Request__History', 'ParentId');
database.insert(durations, false);
}
- Pappu
- July 26, 2018
- Like
- 0
- Continue reading or reply
Method does not exist or incorrect signature: void makeZipCallout(Id) from the type AccountClass
I am trying to build a test class for accounts that populate the city and state based on the zip code when they are created. I am getting the error however on line 25 "Method does not exist or incorrect signature: void makeZipCallout(Id) from the type AccountClass" I have tried multiple ways of correcting it but cannot for the life of me to figure out whats wrong.
Here is the test class:
Here is the code used to call the city and state based on the zip if that helps :
Any help is appreciate!
Here is the test class:
@IsTest public class TestAccountClass { Static testMethod void AccountClassTest(){ Account a = new Account(Name = 'Test Class'); a.BillingCity = 'SAINT PAUL'; a.BillingState = 'MN'; a.BillingPostalCode = '55113'; a.BillingCountry = 'US'; insert a; Test.startTest(); HttpRequest request = new HttpRequest(); StaticResourceCalloutMock mock = new StaticResourceCalloutMock(); mock.setStaticResource('GoogleMapsAPI'); mock.setStatusCode(200); mock.setHeader('Content-Type', 'application/json'); mock.respond(request); HttpResponse response = new HttpResponse(); JSONParser responseParser = JSON.createParser(response.getBody()); // Set the mock callout mode Test.setMock(HttpCalloutMock.class, mock); // Call the method that performs the callout AccountClass.makeZipCallout(a.Id); } }
Here is the code used to call the city and state based on the zip if that helps :
// Use a name besides "Account" otherwise you'll get compilation problems due to symbol collision public with sharing class AccountClass { private static boolean isTrigger = false; // Pitfall #4: Used to prevent infinite loops public class accountException extends Exception {} /* format from ziptasticapi.com: {"country":"US","state":"CA","city":"SAN JOSE"} */ // Format returned by ziptastic API public class ziptasticReturn { string country; string state; string city; } // Trigger Handler to do zipCodeLookup when new records are created // Do this after the record is created so we have an ID we can reference public static void onAfterInsert( List<Account> triggerNew) { // Pitfall #4 - Prevent infinite loops if (isTrigger == true) { return; // Just return if this is called as a result of our DML operation } else isTrigger = true; // Set this so we know we caused ourselves to be called again // Must pass IDs & not SObjects to @future because the SObject may change by the time @future executes List<Id> accountsId = new List<Id>(); for (Account a : triggerNew) { accountsId.add(a.Id); } system.debug(LoggingLevel.Info, 'onAfterInsert called with '+triggerNew+'; sending IDs='+accountsId); makeZipCallout(accountsId); } // Pitfall #1 & #2 - Triggers must do callouts from an '@future' and (callout = true) anotated function @future (callout = true) private static void makeZipCallout(List<Id>acct) { system.debug(LoggingLevel.Info, 'makeZipCallout with '+acct); string resp; // Pitfall #3 - Fetch records of the IDs for updating List<Account> accountSet = [SELECT Id, BillingPostalCode, BillingCity, BillingState, BillingCountry FROM account WHERE Id = :acct]; for (Account a : accountSet) { // Note this version of the API is only for the US string endpoint ='http://ziptasticapi.com/'; endpoint = endpoint + a.BillingPostalCode; system.debug(LoggingLevel.Info,'zipCode.clslling endpoint='+endpoint); HttpRequest req = new HttpRequest(); HttpResponse res = new HttpResponse(); Http http = new Http(); req.setMethod('GET'); req.setEndpoint(endpoint); try { res = http.send(req); if (res.getStatusCode() != 200) { throw new accountException(res.getStatus()); } } catch (accountException e) { system.debug(LoggingLevel.Error, 'Error HTTP response code = '+res.getStatusCode()+'; calling '+endpoint ); return; } resp = res.getBody(); JSONParser parser = JSON.createParser(resp); parser.nextToken(); // Start object "{" ziptasticReturn zipInfo = new ziptasticReturn(); // This convenient method reads the JSON stream into a class in one go zipInfo = (ziptasticReturn) parser.readValueAs(ziptasticReturn.class); a.BillingState = zipInfo.state; a.BillingCity = zipInfo.city; a.BillingCountry = zipInfo.country; } update accountSet; // Call DML operation to update isTrigger = false; // Pitfall #4 - Trigger is done so reset this } //makeZipCallout() }
Any help is appreciate!
- Andrew Kennedy 6
- July 26, 2018
- Like
- 0
- Continue reading or reply
Hi am unable to cover the below method in my test class
public void setLandDRecordCount() {
for(AggregateResult ar : [select Product__r.city_ins__SubType__c, count(ID)
from Quote_Temp__C
where Product__r.city_ins__Type__c = 'LAndD'
and Quote__c = :quoteId
group by Product__r.city_ins__SubType__c
] )
{
LandDMap.put((String) ar.get('city_ins__SubType__c'), (Integer) ar.get('expr0'));
}
}
/*********************************************************/
/* Setect the appropriate L&D templates */
/*********************************************************/
public String getTemplateNameForLAndD(string groupSize) {
/*
One Product Template either ( LAndD , LAndDD or STD ) <Sub_ProductType>_Template
Two Product Templates ( LAndD + LAndDD Template )
Two Product Templates ( LandD + STD Template )
Two Product Template ( LandDD + STD Template )
LAndD Count
LAndDD count
STD Count
Template 1 : LAndDLAndDD
Template 2 : LAndDLAndDDSTD
Template 3 : LAndDSTD
Template 3 : LAndD
*/
setLandDRecordCount();
String LAndD_Str = '';
String LAndDD_Str = '';
String STD_Str = '';
String LandDTemplate = '';
if (LAndDMap.get('LAndD') > 0 ) {
LAndD_Str = 'LAndD';
LAndDD_Str = '';
}
if (LAndDMap.get('LAndDD') > 0) {
LAndDD_Str = 'LAndDD';
LAndD_Str = '';
}
if ( LAndDMap.get('STD') > 0) {
STD_Str = 'STD';
}
return LAndD_Str + LAndDD_Str + STD_Str + 'Template'+groupSize;
}
for(AggregateResult ar : [select Product__r.city_ins__SubType__c, count(ID)
from Quote_Temp__C
where Product__r.city_ins__Type__c = 'LAndD'
and Quote__c = :quoteId
group by Product__r.city_ins__SubType__c
] )
{
LandDMap.put((String) ar.get('city_ins__SubType__c'), (Integer) ar.get('expr0'));
}
}
/*********************************************************/
/* Setect the appropriate L&D templates */
/*********************************************************/
public String getTemplateNameForLAndD(string groupSize) {
/*
One Product Template either ( LAndD , LAndDD or STD ) <Sub_ProductType>_Template
Two Product Templates ( LAndD + LAndDD Template )
Two Product Templates ( LandD + STD Template )
Two Product Template ( LandDD + STD Template )
LAndD Count
LAndDD count
STD Count
Template 1 : LAndDLAndDD
Template 2 : LAndDLAndDDSTD
Template 3 : LAndDSTD
Template 3 : LAndD
*/
setLandDRecordCount();
String LAndD_Str = '';
String LAndDD_Str = '';
String STD_Str = '';
String LandDTemplate = '';
if (LAndDMap.get('LAndD') > 0 ) {
LAndD_Str = 'LAndD';
LAndDD_Str = '';
}
if (LAndDMap.get('LAndDD') > 0) {
LAndDD_Str = 'LAndDD';
LAndD_Str = '';
}
if ( LAndDMap.get('STD') > 0) {
STD_Str = 'STD';
}
return LAndD_Str + LAndDD_Str + STD_Str + 'Template'+groupSize;
}
- swetha parameshwar
- July 24, 2018
- Like
- 0
- Continue reading or reply
Im unable to use queried field in where condtion
How to resolve
Select Id ,name,(Select Product_dashcode__c from IX_V1__PP_Relationships__r)from IX_V1__ICIX_Product__c
Where Name
LIKE:newSearchText
OR Product_dashcode__c=:productName
It showing
OR Product_dashcode__c=:productName
^
ERROR at Row:5:Column:65
No such column 'Product_dashcode__c' on entity 'IX_V1__ICIX_Product__c'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.
Select Id ,name,(Select Product_dashcode__c from IX_V1__PP_Relationships__r)from IX_V1__ICIX_Product__c
Where Name
LIKE:newSearchText
OR Product_dashcode__c=:productName
It showing
OR Product_dashcode__c=:productName
^
ERROR at Row:5:Column:65
No such column 'Product_dashcode__c' on entity 'IX_V1__ICIX_Product__c'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.
- Sandy1
- July 24, 2018
- Like
- 0
- Continue reading or reply
Apex Code deployment Error
Hi All,
I have written a trigger to update both opportunity and cumulative object.
My logic is working fine for the same I have written a test class. My code coverage is 81 % in Sandbox when I go for deployment in production ...during the validation am getting following error. Kindly let me know How to overcome from the below error.
My trigger:
trigger UpdateAmountInWords on Opportunity (Before Update) {
List<Target__C> Tglist= New List<Target__C>();
List<Target__C> Tglist1= New List<Target__C>();
Map<String,ID> Mapfield = New map<String,ID>();
Map<String,ID> MapTele = New map<String,ID>();
List<Incentive__c >lstInc =New list<Incentive__c >();
List<Incentive__c >lstInc1 =New list<Incentive__c >();
List <Cumulative__c> Cumlist= New list <Cumulative__c>();
List <Cumulative__c> Cumlist1= New list <Cumulative__c>();
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Utils u = new Utils();
For(Opportunity opp:Trigger.New){
// Update opporunity Amount In Words
opp.Amount_To_Words_Total_Amount_With_Tax__c = u.convert(opp.Total_Amount_With_IGST__c.longValue())+' Only';
opp.Amount_To_Words_Total_Tax_Amount__c = u.convert(opp.Total_Tax_Amount__c.longValue())+' Only';
//
Mapfield .put(opp.Field_Executive__c,opp.ID);MapTele.put(opp.Hidden_Owner_Name__c,opp.ID);}
TGlist1=[select ID, name from target__C where Name in:Mapfield.keyset() and Active__c=True];
TGlist=[select ID, name from target__C where Name in:MapTele.keyset() and Active__c=True];
for(Opportunity opp: trigger.new ) {
if(TGlist1.size()>0){if(opp.Field_Executive__c==TGlist1[0].NAme){
opp.Target__C= TGlist1[0].ID; } }
IF(TGlist.size()>0){if(opp.Hidden_Owner_Name__c==TGlist[0].NAme){
opp.Telecaller__c=TGlist[0].ID;}}
If(opp.Telecaller__c!=Null && opp.Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Telecaller__c and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c];
if(Cumlist.size()>0){For(Cumulative__c Cum:Cumlist){lstInc = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c];
If(lstInc.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){
Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c; opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}} IF(lstInc.size()<=0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_MPD__c += opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
} }lstcum .add(Cum);opplist.add(opp);} } }
If(opp.Target__C!=Null && opp.FE_Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist1=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c ,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Target__C and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c];
if(Cumlist1.size()>0){For(Cumulative__c Cum:Cumlist1){
lstInc1 = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c];
If(lstInc1.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c += opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}} IF(lstInc1.size()<=0 ){ If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){ Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){ Cum.Type3_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}
}lstcum .add(Cum); opplist.add(opp);
} } }
update lstcum ; }}
I have written a trigger to update both opportunity and cumulative object.
My logic is working fine for the same I have written a test class. My code coverage is 81 % in Sandbox when I go for deployment in production ...during the validation am getting following error. Kindly let me know How to overcome from the below error.
My trigger:
trigger UpdateAmountInWords on Opportunity (Before Update) {
List<Target__C> Tglist= New List<Target__C>();
List<Target__C> Tglist1= New List<Target__C>();
Map<String,ID> Mapfield = New map<String,ID>();
Map<String,ID> MapTele = New map<String,ID>();
List<Incentive__c >lstInc =New list<Incentive__c >();
List<Incentive__c >lstInc1 =New list<Incentive__c >();
List <Cumulative__c> Cumlist= New list <Cumulative__c>();
List <Cumulative__c> Cumlist1= New list <Cumulative__c>();
list<Cumulative__c > lstcum = new list<Cumulative__c >();
list<Opportunity > opplist = new list<Opportunity >();
Utils u = new Utils();
For(Opportunity opp:Trigger.New){
// Update opporunity Amount In Words
opp.Amount_To_Words_Total_Amount_With_Tax__c = u.convert(opp.Total_Amount_With_IGST__c.longValue())+' Only';
opp.Amount_To_Words_Total_Tax_Amount__c = u.convert(opp.Total_Tax_Amount__c.longValue())+' Only';
//
Mapfield .put(opp.Field_Executive__c,opp.ID);MapTele.put(opp.Hidden_Owner_Name__c,opp.ID);}
TGlist1=[select ID, name from target__C where Name in:Mapfield.keyset() and Active__c=True];
TGlist=[select ID, name from target__C where Name in:MapTele.keyset() and Active__c=True];
for(Opportunity opp: trigger.new ) {
if(TGlist1.size()>0){if(opp.Field_Executive__c==TGlist1[0].NAme){
opp.Target__C= TGlist1[0].ID; } }
IF(TGlist.size()>0){if(opp.Hidden_Owner_Name__c==TGlist[0].NAme){
opp.Telecaller__c=TGlist[0].ID;}}
If(opp.Telecaller__c!=Null && opp.Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Telecaller__c and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c];
if(Cumlist.size()>0){For(Cumulative__c Cum:Cumlist){lstInc = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c];
If(lstInc.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){
Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c; opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}} IF(lstInc.size()<=0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_MPD__c += opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.Cumulative_Updated__c=True;
} }lstcum .add(Cum);opplist.add(opp);} } }
If(opp.Target__C!=Null && opp.FE_Cumulative_Updated__c==False && opp.Work_Order_Created_Date__c!=Null ){
Cumlist1=[select ID,Target__c,Type1_Customer_Order_value_MPD__c,Type1_Customer_Order_Value_PD__c,Type2_Customer_Order_value_MPD__c,Type2_Customer_Order_value_PD__c,Type3_Customer_Order_value_MPD__c,Type3_Customer_Order_value_PD__c ,Type4_Customer_Order_value_MPD__c,Type4_Customer_Order_value_PD__c,From_Date__c,To_Date__c from Cumulative__c where Target__c=:opp.Target__C and From_Date__c<=:opp.Work_Order_Created_Date__c and To_Date__c>=:opp.Work_Order_Created_Date__c];
if(Cumlist1.size()>0){For(Cumulative__c Cum:Cumlist1){
lstInc1 = [select ID from Incentive__c where ID =:Opp.IncentiveSlab__c and Opp_Discount_To__c>=:opp.Discount__c];
If(lstInc1.size()>0 ){If(Opp.Customer_Slab_Type__c=='Type 4'){ Cum.Type4_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){Cum.Type2_Customer_Order_value_PD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){Cum.Type3_Customer_Order_value_PD__c += opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_Value_PD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}} IF(lstInc1.size()<=0 ){ If(Opp.Customer_Slab_Type__c=='Type 4'){Cum.Type4_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 2'){ Cum.Type2_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
}Else IF(Opp.Customer_Slab_Type__c=='Type 3'){ Cum.Type3_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c; opp.FE_Cumulative_Updated__c=True;
} Else IF(Opp.Customer_Slab_Type__c=='Type 1'){Cum.Type1_Customer_Order_value_MPD__c+= opp.Individual_Order_value__c;opp.FE_Cumulative_Updated__c=True;}
}lstcum .add(Cum); opplist.add(opp);
} } }
update lstcum ; }}
- shakila G
- July 24, 2018
- Like
- 0
- Continue reading or reply
Dynamic Table to add/remove no.of columns and position of column will be changeable
Hi,
My requirement is like that:
1. We can add/remove any no.of column in table.
2. Position of column should be changable and in sorting order on tha basis of value in column/cell.
Please suggest some idea/workaround on it.
My requirement is like that:
1. We can add/remove any no.of column in table.
2. Position of column should be changable and in sorting order on tha basis of value in column/cell.
Please suggest some idea/workaround on it.
- Niraj Kr Singh
- September 09, 2015
- Like
- 0
- Continue reading or reply
How to disable <apex:inputfield> using javascript
Hi Everyone,
I am facing problem to hide the input field using javascript:
<apex:inputField Id="IFWhatId" value="{!objTask.WhatId}"/>
how can hide this <apex:inputField> using javascript.
Thanks
Niraj
I am facing problem to hide the input field using javascript:
<apex:inputField Id="IFWhatId" value="{!objTask.WhatId}"/>
how can hide this <apex:inputField> using javascript.
Thanks
Niraj
- Niraj Kr Singh
- August 04, 2015
- Like
- 0
- Continue reading or reply
How to create a "Related to" picklist lookup field
My requirement is to create a field like "Related to" in this image.
Step1: Picklist with the Objects
Step2: On select of any one object, need to display all related records
Give me quick suggestion.
Thakns Niraj
Step1: Picklist with the Objects
Step2: On select of any one object, need to display all related records
Give me quick suggestion.
Thakns Niraj
- Niraj Kr Singh
- July 30, 2015
- Like
- 1
- Continue reading or reply
How to create a "Related to" picklist lookup field
My requirement is to create a field like "Related to" in this image.
Step1: Picklist with the Objects
Step2: On select of any one object, need to display all related records
Give me quick suggestion.
Thakns Niraj
Step1: Picklist with the Objects
Step2: On select of any one object, need to display all related records
Give me quick suggestion.
Thakns Niraj
- Niraj Kr Singh
- July 30, 2015
- Like
- 1
- Continue reading or reply
Help with a Test Class for Batch
What I have so far covers 26% of the batch class. I'm not able to cover the execute portion of the batch class.
batch.cls
batch.cls
public class Batch implements Database.Batchable<sObject> { public Database.QueryLocator start(Database.BatchableContext bc) { String query = 'SELECT Id, jstcl__Consultant__r.Previous_Timesheet_Status__c FROM jstcl__TG_Timesheet__c WHERE jstcl__Placement__r.ts2__Status__c =\'Active\' AND jstcl__Placement__r.VMS__c = \'\' AND jstcl__Week_Ending__c = LAST_N_DAYS:4 AND jstcl__Status__c = \'Pending\''; return Database.getQueryLocator(query); } public void execute(Database.BatchableContext BC, List<jstcl__TG_Timesheet__c> timesheets){ List<Contact> consultants = new List<Contact>(); List<Contact> consultants2 = new List<Contact>(); for(jstcl__TG_Timesheet__c timesheet : timesheets){ Contact consultant = timesheet.jstcl__Consultant__r; if (consultant == null) continue; consultant.Previous_Timesheet_Status__c = 'Pending'; if(consultants.contains(consultant)){ consultants2.add(consultant); }else{consultants.add(consultant);} } update consultants; } public void finish(Database.BatchableContext BC){} }test.cls
@istest private class Test { static TestMethod void hfTest() { Profile prof = [select id from profile where name='system Administrator']; User usr = new User(alias = 'usr', email='us.name@vmail.com', emailencodingkey='UTF-8', lastname='lstname', timezonesidkey='America/Los_Angeles', languagelocalekey='en_US', localesidkey='en_US', profileid = prof.Id, username='testuser128@testorg.com'); insert usr; Id idRecordId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Candidate').getRecordTypeId(); ts2__Source__c source = new ts2__Source__c(Name = 'LinkedIn.com - Resume Search'); Account acc = new Account(Name = 'Express Scripts Holding Company'); insert acc; Account acc2 = new Account(Name = 'Candidates- 10-2018'); insert acc2; Contact con = new Contact(FirstName='fnadmes', LastName = 'lnamdes', Email = 'emadils@gmail.com', Phone = '9744800300', AccountId = acc2.Id, ts2__Source__c = source.Id, ts2__People_Status__c = 'Placed'); Contact con2=new Contact(FirstName='fnames', LastName = 'lnames', Email = 'emails@gmail.com', Phone = '9743800300', AccountId=acc.Id, Relationship_Status__c = 'Lunch'); insert con; insert con2; ADP_Department__c adp = new ADP_Department__c(Name = 'Georgia'); insert adp; ts2__Job__c job = new ts2__Job__c(Name = 'Software Engineer',Hiring_Manager_Contact__c = con2.Id); insert job; ts2__HolidayCalendar__c hcal = new ts2__HolidayCalendar__c(Name= 'Holiday Calendar'); insert hcal; Labor_Category__c lcat = new Labor_Category__c(Name='Software Engineer 1'); insert lcat; ts2__Placement__c plc = new ts2__Placement__c(ts2__Job__c = job.Id, Contractor_Type__c = 'Technical Youth', Onboarding_Method__c= 'Staff Augmentation', ts2__Start_Date__c= Date.newInstance(2019, 1, 7), ts2__End_Date__c= Date.newInstance(2019, 2, 15), jstcl__HireType__c= 'W2', ADP_Department__c= adp.Id, ts2__Bill_Rate__c= 60.00, ts2__Pay_Rate__c= 30.00, jstcl__Invoice_Batch__c= 'Placement', ts2__Client__c= acc.Id, ts2__Hiring_Manager__c= con2.Id, jstcl__TimecardApprover__c= con2.Id, jstcl__HolidayCalendar__c= hcal.Id, State_Worked_In_Non_TFI_Placements__c= 'GA - Georgia', jstcl__Overtime_Bill_Rate__c= 60, jstcl__Burden__c= 0.20, jstcl__Accounts_Receivable_U__c= '00537000005d7F2AAI', jstcl__Terms__c= 'Net 60', ts2__Employee__c= con.Id, Labor_Category__c= lcat.Id); insert plc; List<jstcl__TG_Timesheet__c> tsList = new List<jstcl__TG_Timesheet__c>(); jstcl__TG_Timesheet__c ts = new jstcl__TG_Timesheet__c(jstcl__Consultant__c = con2.Id, jstcl__Placement__c = plc.Id, jstcl__Week_Ending__c = Date.newInstance(2019, 2, 15)); tsList.add(ts); Test.startTest(); Batch abcd = new Batch(); ID batchprocessid = Database.executeBatch(abcd); Test.stopTest(); } }
- Luke Higgins 22
- February 03, 2020
- Like
- 0
- Continue reading or reply
Picklist Formula for a Workflow Rule Not Functioning Error Message: Error: Incorrect number of parameters for function 'ISPICKVAL()' Expected 2, received 3
I've created a formula for a Workflow Rule to Update a field value. But I get and error message: Error: Incorrect number of parameters for function 'ISPICKVAL()' Expected 2, received 3
I don't seem able to correct this. Anyone have any ideas?
I don't seem able to correct this. Anyone have any ideas?
- Glenn Nyhan 54
- October 09, 2018
- Like
- 0
- Continue reading or reply
Get Started with Apex Triggers
Hi All,
I am getting following error message:
Challenge not yet complete... here's what's wrong:
A field with an API Name 'Match_Billing_Address__c' does not exist on the Account object
my code is as follows:
trigger AccountAddressTrigger on Account (before insert, before update) {
for(Account a : Trigger.New) {
if(a.Match_Billing_Address__c==true){a.ShippingPostalCode=a.BillingPostalCode;}
}
}
Thanks in Advance
I am getting following error message:
Challenge not yet complete... here's what's wrong:
A field with an API Name 'Match_Billing_Address__c' does not exist on the Account object
my code is as follows:
trigger AccountAddressTrigger on Account (before insert, before update) {
for(Account a : Trigger.New) {
if(a.Match_Billing_Address__c==true){a.ShippingPostalCode=a.BillingPostalCode;}
}
}
Thanks in Advance
- Swamy Naren
- October 01, 2018
- Like
- 0
- Continue reading or reply
Batch class for sending an email notification to public group user
Dear Developers,
I would like to send notification of public group users by using batch class(weekly based). can anyone please advise me how can i change my code for accurate requirement.
Batch Class
Hearty Thanks In Advance !!
Regards,
Soundar P
I would like to send notification of public group users by using batch class(weekly based). can anyone please advise me how can i change my code for accurate requirement.
Batch Class
global class PSO_etmfErrorLogBatch implements database.batchable<SObject>{ global database.querylocator start(database.batchableContext bc){ system.debug('Start Method Running'); return Database.getQueryLocator('Select Id,name from eTMF_Files_Error_Log__c'); } global void execute(database.batchableContext bc, List<eTMF_Files_Error_Log__c> errlogList){ system.debug('Execute Method Running'); List<String> toAddresses = new List<String>(); List<User> userList = [select id, name, email, isactive, profile.name, userrole.name, usertype from user where id in (select userorgroupid from groupmember where group.name = 'Document Tracking Admin')]; for(User u : userList){ toAddresses.add(u.email); } List < Messaging.SingleEmailMessage > emails = new List < Messaging.SingleEmailMessage > (); for (eTMF_Files_Error_Log__c irow_erLog : errlogList) { Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage(); email.setToAddresses(toAddresses}); email.setSubject('Last Week ETMF Error Log'); email.setPlainTextBody('Dear user, Please Check Last Week ETMF Error Log'); emails.add(email); } Messaging.sendEmail(emails); } global void finish(database.batchableContext bc){} }
Hearty Thanks In Advance !!
Regards,
Soundar P
- Soundar Rajan Ponpandi
- October 01, 2018
- Like
- 0
- Continue reading or reply
trigger to fetch the custom metadata to user
Hello Guys,
I am working on custom metadata, I have custom meta data "Org_Email_Signature__mdt" and is having field type Long text Area "Email_Signature__c".
Now, when I create a new user, I need to fetch that custom meta data to a field "Signature" in user object. I need to write a trigger for this.
Please help me to achieve this functionality.
I am working on custom metadata, I have custom meta data "Org_Email_Signature__mdt" and is having field type Long text Area "Email_Signature__c".
Now, when I create a new user, I need to fetch that custom meta data to a field "Signature" in user object. I need to write a trigger for this.
Please help me to achieve this functionality.
- Sainath Venkat
- October 01, 2018
- Like
- 0
- Continue reading or reply
Can we run an apex trigger in a user context to create a record so that the created by Field is always a single user?
Hello Group Members,
I just have a qauestion about apex trigger which is used to create a record. This trirgger currently sets the created by user to current user who has doen the transaction. Is there any way to make sure that I set the user to run the apex trigger in a saingle user context so that the record created by field is always same user irrespective of who did the transaction?
I just have a qauestion about apex trigger which is used to create a record. This trirgger currently sets the created by user to current user who has doen the transaction. Is there any way to make sure that I set the user to run the apex trigger in a saingle user context so that the record created by field is always same user irrespective of who did the transaction?
- Raji Kannan
- September 17, 2018
- Like
- 0
- Continue reading or reply
How to create child based on multi pick list value selection.
Hi All
How can i create child based on multi picklist value selectio on parent.I will select 1 value in multi picklist then it will create 1 child .i will select 2 value then it will create 2 child and so on.
How can i create child based on multi picklist value selectio on parent.I will select 1 value in multi picklist then it will create 1 child .i will select 2 value then it will create 2 child and so on.
- SFDC@Error
- September 14, 2018
- Like
- 0
- Continue reading or reply
How Can I find date 365 days before from a given date in a field using soql query
I have a date field in Account . I need to find the date 365 days before the mentioned date in SOQL query
- Sharad Jain 9
- September 13, 2018
- Like
- 0
- Continue reading or reply
Help me test class with extended class?
Hi,
Can you please help me with test class
Class:
global class CDPWeeklyDigestBatchScheduler implements Schedulable {
global void execute(SchedulableContext sc) {
String query = 'SELECT Id, Deal_Id__c, Deal_Name__c, Deal_Stage__c, Type__c, Region_Type__c, Market__c, Deal_Owner__c, Latest_Change__c, Deal_Lost_Reason__c, Number_Of_Updates__c FROM CDP_Notification__c WHERE LastModifiedDate = LAST_N_DAYS:7 ';
List<SObject> records = Database.query(query);
NotificationHelper.getNotificationHelperInstance().notifyUsersAboutWeeklyDigest(records);
}
Can you please help me with test class
Class:
global class CDPWeeklyDigestBatchScheduler implements Schedulable {
global void execute(SchedulableContext sc) {
String query = 'SELECT Id, Deal_Id__c, Deal_Name__c, Deal_Stage__c, Type__c, Region_Type__c, Market__c, Deal_Owner__c, Latest_Change__c, Deal_Lost_Reason__c, Number_Of_Updates__c FROM CDP_Notification__c WHERE LastModifiedDate = LAST_N_DAYS:7 ';
List<SObject> records = Database.query(query);
NotificationHelper.getNotificationHelperInstance().notifyUsersAboutWeeklyDigest(records);
}
- Guru 91
- September 11, 2018
- Like
- 0
- Continue reading or reply
Help me with test class for batch apex?
Hi,
Can you please help me with test class
Class:
global with sharing class BatchToEndCarouselAnnouncementsScheduler extends BatchScheduler implements Schedulable
{
global BatchToEndCarouselAnnouncementsScheduler()
{
super(10 /*minutes between attempts */, 'End Carousel Announcements');
}
global void execute(SchedulableContext sc)
{
schedule(new BatchToEndCarouselAnnouncements());
}
}
Extended Class:
public with sharing abstract class BatchScheduler implements Schedulable
{
@TestVisible static final Integer MAX_CONCURRENT_BATCH = 5;
@TestVisible Integer minutesBeforeReschedule;
@TestVisible String title;
public BatchScheduler( Integer minutes, String title )
{
this.minutesBeforeReschedule = minutes;
this.title = title;
}
public void schedule( IBatchHelper helper, Integer batchSize )
{
Integer currentlyRunningBatches = [SELECT count() FROM AsyncApexJob WHERE JobType='BatchApex'
AND (Status = 'Processing' OR Status = 'Preparing')];
if( currentlyRunningBatches < MAX_CONCURRENT_BATCH )
{
BatchHandler batch = new BatchHandler( helper );
Database.executeBatch( batch, batchSize );
}
else
{
scheduleRetry();
}
}
public void schedule( IBatchHelper helper )
{
schedule( helper, 200 );
}
@TestVisible void scheduleRetry()
{
Datetime rescheduleDateTime = Datetime.now().addMinutes(minutesBeforeReschedule);
String timeForScheduler = rescheduleDateTime.format('s m H d M \'?\' yyyy');
System.schedule(title + ' ' + timeForScheduler, timeForScheduler, this);
}
}
Can you please help me with test class
Class:
global with sharing class BatchToEndCarouselAnnouncementsScheduler extends BatchScheduler implements Schedulable
{
global BatchToEndCarouselAnnouncementsScheduler()
{
super(10 /*minutes between attempts */, 'End Carousel Announcements');
}
global void execute(SchedulableContext sc)
{
schedule(new BatchToEndCarouselAnnouncements());
}
}
Extended Class:
public with sharing abstract class BatchScheduler implements Schedulable
{
@TestVisible static final Integer MAX_CONCURRENT_BATCH = 5;
@TestVisible Integer minutesBeforeReschedule;
@TestVisible String title;
public BatchScheduler( Integer minutes, String title )
{
this.minutesBeforeReschedule = minutes;
this.title = title;
}
public void schedule( IBatchHelper helper, Integer batchSize )
{
Integer currentlyRunningBatches = [SELECT count() FROM AsyncApexJob WHERE JobType='BatchApex'
AND (Status = 'Processing' OR Status = 'Preparing')];
if( currentlyRunningBatches < MAX_CONCURRENT_BATCH )
{
BatchHandler batch = new BatchHandler( helper );
Database.executeBatch( batch, batchSize );
}
else
{
scheduleRetry();
}
}
public void schedule( IBatchHelper helper )
{
schedule( helper, 200 );
}
@TestVisible void scheduleRetry()
{
Datetime rescheduleDateTime = Datetime.now().addMinutes(minutesBeforeReschedule);
String timeForScheduler = rescheduleDateTime.format('s m H d M \'?\' yyyy');
System.schedule(title + ' ' + timeForScheduler, timeForScheduler, this);
}
}
- Guru 91
- September 11, 2018
- Like
- 0
- Continue reading or reply
How to pass date as a parameter from custom button url to constructor
Hi, I have created a detail custom button of url type and passing Opportunity Date as shown below.
/apex/vfpage?oliId={!OpportunityLineItem.Id} && oppDate={!Opportunity.customDate__c}
And in apex constructor i am receiving the custom date value as below.
customDate = Date.valueOf(ApexPages.currentPage().getParameters().get('oppDate'));
But I am receiving error as
"Argument cannot be null. An unexpected error has occurred. Your development organization has been notified. "
How to pass the oppDate from url to constructor.
/apex/vfpage?oliId={!OpportunityLineItem.Id} && oppDate={!Opportunity.customDate__c}
And in apex constructor i am receiving the custom date value as below.
customDate = Date.valueOf(ApexPages.currentPage().getParameters().get('oppDate'));
But I am receiving error as
"Argument cannot be null. An unexpected error has occurred. Your development organization has been notified. "
How to pass the oppDate from url to constructor.
- SFDC Guest
- September 11, 2018
- Like
- 0
- Continue reading or reply
Upsert Problem
Hello,
I am doing Upsert Operation....
Below is my code.
I have a problem while performing Upsert operation:
Scenirio:
Firstly i have to insert a records
then perform Upsert Operation.
I am using external Id while performing DML (Non Atomic)
The records in inserted insted of upsert .
public class upsertDatabase {
public list<Customer_Project__c> cPlist;
public upsertDatabase(){
cPlist=new list<Customer_Project__c>();
list<Opportunity> opList=[select id,name from Opportunity where name='Sapna'];
// insert the new Records
for(Opportunity ops:opList){
Customer_Project__c c1=new Customer_Project__c();
c1.Name='Timakshi';
c1.ExternalID__c=111;
c1.Opportunity__c=ops.id;
c1.Payment__c=78787;
cPlist.add(c1);
}
database.SaveResult[] sr=database.insert(cpList,false);
for(database.SaveResult s:sr){
if(s.isSUCCESS()){
system.debug('success Message' +s.getID());
}
else{
database.Error[] myError=s.getErrors();
for(database.Error er:myError){
system.debug('Error Mesaage for Inserting the records' +er.getMessage());
}
}
}
// upsert the Records
for(Opportunity oops:opList){
Customer_Project__c c2=new Customer_Project__c();
c2.Name='Taniya';
c2.Opportunity__c=oops.id;
c2.Payment__c=8888855;
c2.ExternalID__c=989;
cPlist.add(c2);
}
for(Opportunity oops:opList){
Customer_Project__c c3=new Customer_Project__c();
c3.Name='Geta';
c3.Opportunity__c=oops.id;
c3.Payment__c=8744;
c3.ExternalID__c=99;
cPlist.add(c3);
}
database.UpsertResult[] UpResult=database.upsert(cPlist,false);
for(database.UpsertResult uR:UpResult){
if(uR.isSUCCESS()){
system.debug('Success for Upserting the records' +uR.getId());
}
else{
database.Error[] myUpsertError=uR.getErrors();
for(database.Error ero:myUpsertError){
system.debug('My upsert Errors Message' +ero.getMessage());
}
}
}
}
}
I am doing Upsert Operation....
Below is my code.
I have a problem while performing Upsert operation:
Scenirio:
Firstly i have to insert a records
then perform Upsert Operation.
I am using external Id while performing DML (Non Atomic)
The records in inserted insted of upsert .
public class upsertDatabase {
public list<Customer_Project__c> cPlist;
public upsertDatabase(){
cPlist=new list<Customer_Project__c>();
list<Opportunity> opList=[select id,name from Opportunity where name='Sapna'];
// insert the new Records
for(Opportunity ops:opList){
Customer_Project__c c1=new Customer_Project__c();
c1.Name='Timakshi';
c1.ExternalID__c=111;
c1.Opportunity__c=ops.id;
c1.Payment__c=78787;
cPlist.add(c1);
}
database.SaveResult[] sr=database.insert(cpList,false);
for(database.SaveResult s:sr){
if(s.isSUCCESS()){
system.debug('success Message' +s.getID());
}
else{
database.Error[] myError=s.getErrors();
for(database.Error er:myError){
system.debug('Error Mesaage for Inserting the records' +er.getMessage());
}
}
}
// upsert the Records
for(Opportunity oops:opList){
Customer_Project__c c2=new Customer_Project__c();
c2.Name='Taniya';
c2.Opportunity__c=oops.id;
c2.Payment__c=8888855;
c2.ExternalID__c=989;
cPlist.add(c2);
}
for(Opportunity oops:opList){
Customer_Project__c c3=new Customer_Project__c();
c3.Name='Geta';
c3.Opportunity__c=oops.id;
c3.Payment__c=8744;
c3.ExternalID__c=99;
cPlist.add(c3);
}
database.UpsertResult[] UpResult=database.upsert(cPlist,false);
for(database.UpsertResult uR:UpResult){
if(uR.isSUCCESS()){
system.debug('Success for Upserting the records' +uR.getId());
}
else{
database.Error[] myUpsertError=uR.getErrors();
for(database.Error ero:myUpsertError){
system.debug('My upsert Errors Message' +ero.getMessage());
}
}
}
}
}
- Ashu sharma 38
- September 11, 2018
- Like
- 0
- Continue reading or reply
UserId to be excluded from trigger
If((LeadList[0].OwnerId != '005User1') || (LeadList[0].OwnerId != '005User2) || (LeadList[0].OwnerId != '005User3'))
Need help writing this line better
- Domnic Johnson
- September 10, 2018
- Like
- 0
- Continue reading or reply
Before Insert and Update Triggers - Restrict Recursive ?
Hi Team,
We have updated the field in same object using before insert & Update triggers, Is it necessary to use Recursive class for this trigger.
Please let me know.
Thanks,
Lakshmi.
We have updated the field in same object using before insert & Update triggers, Is it necessary to use Recursive class for this trigger.
Please let me know.
Thanks,
Lakshmi.
- Lakshmi S
- September 10, 2018
- Like
- 0
- Continue reading or reply
Too many SOQL queries: 101 in apex
list<HCP_User_BMS_CN__c> hcplist =[SELECT ,Hospital_Name_BMS_CN__c, Id, User_BMS_CN__r.name, Status_BMS_CN__c FROM HCP_User_BMS_CN__c ];
for(HCP_User_BMS_CN__c hcp : hcplist){
String hco = hcp.Hospital_Name_BMS_CN__c;
String temp='';
for (integer i = 0; i < hco.length(); i++) {
temp += hco.substring(i, i+1) + '%';
}
String hcolike ='%'+temp ;
list<Account> hcos = [SELECT Name FROM Account where Name like: hcolike];
list<String> hcolist = new list<String>();
for (integer i = 0; i < hcos.size(); i++) {
hcolist.add(hcos[i].Name);
}
//System.debug('hcolist'+' '+hco+' '+hcolist.size());
if(hcolist.size()>0){
list<Account> acclist = [select id ,Name,Primary_Parent_vod__r.Name FROM Account where Primary_Parent_vod__r.Name in :hcolist and Name=:hcp.User_BMS_CN__r.name];
if(acclist.size()>0){
System.debug('acclist'+acclist);
}
}
}
Because soql inside a for loop ,I am Getting This Below Error:System.LimitException: Too many SOQL queries: 101 . How to deal with it?
for(HCP_User_BMS_CN__c hcp : hcplist){
String hco = hcp.Hospital_Name_BMS_CN__c;
String temp='';
for (integer i = 0; i < hco.length(); i++) {
temp += hco.substring(i, i+1) + '%';
}
String hcolike ='%'+temp ;
list<Account> hcos = [SELECT Name FROM Account where Name like: hcolike];
list<String> hcolist = new list<String>();
for (integer i = 0; i < hcos.size(); i++) {
hcolist.add(hcos[i].Name);
}
//System.debug('hcolist'+' '+hco+' '+hcolist.size());
if(hcolist.size()>0){
list<Account> acclist = [select id ,Name,Primary_Parent_vod__r.Name FROM Account where Primary_Parent_vod__r.Name in :hcolist and Name=:hcp.User_BMS_CN__r.name];
if(acclist.size()>0){
System.debug('acclist'+acclist);
}
}
}
Because soql inside a for loop ,I am Getting This Below Error:System.LimitException: Too many SOQL queries: 101 . How to deal with it?
- Sheed
- September 05, 2018
- Like
- 0
- Continue reading or reply
any can explain this code to? thanks im new..sorry
Map<String,String> resultMap = new Map<String,String>();
- kagago mo
- September 05, 2018
- Like
- 0
- Continue reading or reply
Help in Wring Test Class?
Can any onecan help me with test class
public with sharing class OpportunityQuickCreateExt
{
public OpportunityQuickCreateExt( QuickCreateController quickCreateCont )
{
User currentUser = [ SELECT Default_Continent__c, Default_Market__c, Default_Region__c
FROM User WHERE Id = :UserInfo.getUserId() ];
quickCreateCont.quickCreateObject.put( 'Name', 'Dummy Name' );
quickCreateCont.quickCreateObject.put( 'StageName', 'E Qualify / Suspect-No RFP' );
quickCreateCont.quickCreateObject.put( 'Continent__c', currentUser.Default_Continent__c );
if( !String.isEmpty( currentUser.Default_Region__c ) )
{
List<Region__c> defaultRegion = [SELECT Id FROM Region__c WHERE Name = :currentUser.Default_Region__c LIMIT 1 ];
quickCreateCont.quickCreateObject.put( 'Region__c', defaultRegion.isEmpty() ? NULL : defaultRegion[0].Id );
}
if( !String.isEmpty( currentUser.Default_Market__c ) )
{
List<Market__c> defaultMarket = [SELECT Id FROM Market__c WHERE Name = :currentUser.Default_Market__c LIMIT 1 ];
quickCreateCont.quickCreateObject.put( 'Market__c', defaultMarket.isEmpty() ? NULL : defaultMarket[0].Id );
}
}
}
public with sharing class OpportunityQuickCreateExt
{
public OpportunityQuickCreateExt( QuickCreateController quickCreateCont )
{
User currentUser = [ SELECT Default_Continent__c, Default_Market__c, Default_Region__c
FROM User WHERE Id = :UserInfo.getUserId() ];
quickCreateCont.quickCreateObject.put( 'Name', 'Dummy Name' );
quickCreateCont.quickCreateObject.put( 'StageName', 'E Qualify / Suspect-No RFP' );
quickCreateCont.quickCreateObject.put( 'Continent__c', currentUser.Default_Continent__c );
if( !String.isEmpty( currentUser.Default_Region__c ) )
{
List<Region__c> defaultRegion = [SELECT Id FROM Region__c WHERE Name = :currentUser.Default_Region__c LIMIT 1 ];
quickCreateCont.quickCreateObject.put( 'Region__c', defaultRegion.isEmpty() ? NULL : defaultRegion[0].Id );
}
if( !String.isEmpty( currentUser.Default_Market__c ) )
{
List<Market__c> defaultMarket = [SELECT Id FROM Market__c WHERE Name = :currentUser.Default_Market__c LIMIT 1 ];
quickCreateCont.quickCreateObject.put( 'Market__c', defaultMarket.isEmpty() ? NULL : defaultMarket[0].Id );
}
}
}
- Sai Ram 118
- September 04, 2018
- Like
- 0
- Continue reading or reply
While insert new account records before update account trigger is firing.
While inserting new account records before update account trigger is firing. I don't want to execute update trigger how to stop these update trigger execution. Please assist me.
Thanks!
Thanks!
- krishna23
- September 04, 2018
- Like
- 0
- Continue reading or reply
How to retrieve Apex Class name from CronTrigger ?
I am working on writing a service which is expected to monitor Scheduled batch jobs. I am querying CronTrigger to get list of all scheduled classes but could not find a direct way to find out which ApexClass is scheduled.
Is there a way in recent releases to find out which apex class is scheduled in particular CronTrigger record in Apex ?
Is there a way in recent releases to find out which apex class is scheduled in particular CronTrigger record in Apex ?
- Utkarsh Ugale 8
- September 04, 2018
- Like
- 0
- Continue reading or reply
One Trigger(T1) updates a field. This field update induces another Trigger (T2). Now both Trigger events will come under same transaction or different transaction ?
One Trigger(T1) updates a field. This field update induces another Trigger (T2). Now both Trigger events will come under same transaction or a different transaction ?
- Jothi Eswaran
- August 14, 2018
- Like
- 1
- Continue reading or reply
Lightning Connect to create External Objects to track phone plans
Getting this error " There was an unexpected error while verifying this challenge. Usually this is due to some pre-existing configuration or code in the challenge Org. We recommend using a new Developer Edition (DE) to check this challenge. If you're using a new DE and seeing this error, please post to the developer forums and reference error id: CZIZGUYC " , when trying to do second challege of lightning connect.
- Smitha Prabhu 18
- July 20, 2015
- Like
- 1
- Continue reading or reply