You need to sign in to do that
Don't have an account?
List has no rows for assignment to SObject Class.RenderController.<init>: line 30, column 1
public with sharing class RenderController
{
public RFQ__C rfq {get; set;}
public boolean privatefleet {get; set;}
public boolean Dryvan{get; set;}
public boolean Flatbed{get; set;}
public boolean Reefer{get; set;}
public boolean IMDL{get; set;}
public boolean LTL{get; set;}
public boolean RFI{get; set;}
public Bid__C bid {get; set;}
public RenderController(ApexPages.StandardController controller)
{
String rfqid = Apexpages.Currentpage().getparameters().get('rfqid');
if(rfqid !=null)
{
bid = [select name,Modes__c,RFQ__c,f_RFQ_Due_Date__c,Lanes__c,RFQ_Status__c,Expected_LPD__c,Bid_Status__c,Bid_Stage__c,FSC_Type__c,
FSC_Peg__c,LPD_Goal__c,Total_LPD__c,Send_to_Pricing_Team__c,Notes__c from Bid__c limit 1];
}
else
{
bid = new Bid__c();
}
}
public RenderController()
{
rfq = new RFQ__C();
String rfqid = Apexpages.Currentpage().getparameters().get('rfqid');
rfq = [select Mode_s__c from RFQ__c where id=:rfqid limit 1]; //30th line - Error is in this line
if(rfq.Mode_s__c.contains('Private Fleet'))
{
privatefleet = true;
bid = [select Will_Load_Following_Trailers__c,Days_of_Week__c,Must_be_food_grade_trailer__c,Driver_Work__c,Lead_Time__c,Shipper_Hours_To__c,Shipper_Hours_From__c,Cons_Hours_To__c,Cons_Hours_From__c from Bid__C where Modes__C = 'Private Fleet'];
}
if(rfq.Mode_s__c.contains('Dry Van'))
{
}
if(rfq.Mode_s__c.contains('Flatbed'))
{
Flatbed = true;
bid = [select Ready_at__c,Securing_Accessories__C,Deliver_by__c,Level_of_flexibility__c,Are_moves_Over_Dimensional__c,Dimensions__c,Well_Space_Needed_or_Floor_Space__c,Tarps__c,Products_Overhang_on_Front_or_Rear__c from Bid__C where Modes__C = 'Flatbed'];
}
if(rfq.Mode_s__c.contains('Reefer'))
{
Reefer= true;
bid = [select Temp_Low_del__c,Temp_High_del__C from Bid__C where Modes__C = 'Reefer'];
}
if(rfq.Mode_s__c.contains('IMDL'))
{
IMDL= true;
bid = [select Container_Size__c,f_IMDL_Opportunity_Type__C,f_Shipment_Types__c,f_Current_IMDL_provider_types__c,f_Incumbent_IMDL_Providers__c,f_Other_IMDL_providers_notes__c from Bid__C where Modes__C = 'IMDL'];
}
if(rfq.Mode_s__c.contains('LTL'))
{
LTL= true;
bid = [select LTL_Class__c,Class_Distribution_Notes__C,FAK_Applicable__c,FAK_Notes__c,Tariff_Base_Year__c,FSC_Schedule__c from Bid__C where Modes__C = 'LTL'];
}
if(rfq.Mode_s__c.contains('RFI'))
{
RFI= true;
bid = [select RFI_Required__c,RFI_Status__C,RFI_Dependent__c,RFI_Due_Date__c from Bid__C where Modes__C = 'RFI'];
}
}
public pagereference save()
{
upsert bid;
Pagereference pg = new Pagereference('/a0B/o');
return pg;
}
public PageReference Cancel()
{
Pagereference pg = new Pagereference('/a01/o');
return pg;
}
}
The line rfq = [select Mode_s__c from RFQ__c where id=:rfqid limit 1]; fails because the SOQL query does not return anything back as a result and when you assign that to a single object it fails. Define rfq as a List and this will not fail. But make sure to check if the list has any records and handle error accordingly.
Hi,
Try this
public List<RFQ__C> rfqList =new List<RFQ__C>();
public RFQ__C rfq {get; set;}
rfqList = [select Mode_s__c from RFQ__c where id=:rfqid limit 1];
if(rfqList .size()>0){
rfq = rfqList.get(0);
}
If this post solves your problem kindly mark it as solution. if this post is helpful please throw Kudos.
Thanks