function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
SachinSankadSachinSankad 

Save Button is Not working need help it's urgent

Hi All,

 

Here is my controller & VF page.

 

My save button is not working when i'm saving date after modification.

 

Please need help. It's urgent.

 

VF Page:-

 

<apex:page standardController="Contract"    extensions="RevenueScheduleForOpportunity">
    <apex:form id="myForm">
        <apex:pageBlock title="schedule" id="pgBlckSchedule">
            
            <apex:pageBlockButtons >
                 <apex:commandButton value="Edit" action="{!editRevenueSchedule}" />
<!--                   <apex:commandButton value="Save1" action="{!savedRevenueSchedule}"/> -->
                 
                  <apex:commandButton value="SaveNew" action="{!savedRevenueSchedule1}"/>  
            </apex:pageBlockButtons>
            
            <apex:pageBlockTable value="{!OpportunityLineItemSchedule}"
                var="oppLineItemSchedule" rendered="{!bIsDisplay}">

                <apex:column >
                    <apex:facet name="header">Date</apex:facet>
                    <apex:outputText value="{0,date,dd/MM/yyyy}">
                        <apex:param value="{!oppLineItemSchedule.ScheduleDate}" />
                    </apex:outputText>
                </apex:column>

                <apex:column >
                    <apex:facet name="header">Revenue</apex:facet>
                    <apex:outputText value="{!oppLineItemSchedule.Revenue}" />
                </apex:column>

                <apex:column >
                    <apex:facet name="header">Comments</apex:facet>
                    <apex:outputText value="{!oppLineItemSchedule.Description}" />
                </apex:column>

        </apex:pageBlockTable>
                    
        <apex:pageBlockTable value="{!editedList}"  var="objEdit" rendered="{!if(bIsDisplay == false, true, false)}">

                
<!--                 <apex:pageBlockTable value="{!editedList}"  var="objEdit" rendered="true"> -->
                <apex:column >
                    <apex:facet name="header">Date</apex:facet>
                    <apex:inputText value="{!objEdit.scheduleDate}" >
<!--                         <apex:param /> -->
                    </apex:inputText>
                </apex:column>

                <apex:column >
                    <apex:facet name="header">Revenue</apex:facet>
                    <apex:inputText value="{!objEdit.revenue}">
<!--                     <apex:param value="{!objEdit.revenue}" /> -->
                    </apex:inputText>
                </apex:column>

                <apex:column >
                    <apex:facet name="header">Comments</apex:facet>
                    <apex:inputText value="{!objEdit.description}" />
                </apex:column>

        </apex:pageBlockTable>
        
    </apex:pageBlock>        
    </apex:form>
</apex:page>

 

Controller:-

 

public with sharing class RevenueScheduleForOpportunity
{
    public List<OpportunityLineItemSchedule> lstOppLineItemSch;
    public boolean bIsDisplay{get; set;}
    
    public List<editRevenueSchedule> editedList{get; set;}
    OpportunityLineItem objOpportunityLineItem;
    Map<Id, OpportunityLineItemSchedule> opportunityLineItemScheduleMap = new Map<Id, OpportunityLineItemSchedule>();
    
    public RevenueScheduleForOpportunity(ApexPages.StandardController stdController)
    {
            system.debug('=========In parametrized standard Constructor=>');
              Contract objContract = (Contract)stdController.getRecord();
            objContract = [Select Opportunity__c From Contract where Id =:objContract.Id];
            //System.debug('List of Contracts=======>'+objContract);
            objOpportunityLineItem = [Select OpportunityId, Id From OpportunityLineItem
                                                       Where OpportunityId =:objContract.Opportunity__c];
            //System.debug('List of OpportunityLineItem====>'+objOpportunityLineItem);
            bIsDisplay  = true;
    }
    
    public List<OpportunityLineItemSchedule> getOpportunityLineItemSchedule()
    {
        if(lstOppLineItemSch==null)
        {
            opportunityLineItemScheduleMap = new Map<Id, OpportunityLineItemSchedule>([Select OpportunityLineItemId, ScheduleDate, Revenue, Description
                                                                                                                                              From OpportunityLineItemSchedule
                                                                                                                                              Where OpportunityLineItemId=:objOpportunityLineItem.Id
                                                                                                                                              Order by ScheduleDate]);
                                                                                                        
            lstOppLineItemSch = opportunityLineItemScheduleMap.values();
            lstOppLineItemSch.sort();
            System.debug('List of OpportunityLineItemSchedule==========='+opportunityLineItemScheduleMap.size());
            //List<editRevenueSchedule> lst = getEditRevenueSchedule();
        }
        //return opportunityLineItemScheduleMap.values();
        return lstOppLineItemSch;
    }
    
    public void editRevenueSchedule()
    {

        bIsDisplay = false;            
        //system.debug('=========In===>');
        //bIsDisplay  = true;
        //Pagereference editRef = new Pagereference('/apex/RevenueScheduleSave');
        //editRef.setRedirect(true);
        
        editedList  = new List<editRevenueSchedule>();
        //List<editRevenueSchedule> lsteditRevenueSchedule = new List<editRevenueSchedule>();
        editRevenueSchedule objEdit;
        
        if(lstOppLineItemSch != null)
        {
            for(OpportunityLineItemSchedule objOpp : lstOppLineItemSch)
            {
                objEdit = new editRevenueSchedule();
                system.debug('=========In==For=>');
                objEdit.scheduleDate = (objOpp.ScheduleDate != null) ? objOpp.ScheduleDate : Date.valueOf('');
                objEdit.revenue = (objOpp.Revenue != null) ? objOpp.Revenue : 0.0;
                objEdit.description = (objOpp.Description != null) ? objOpp.Description : '';
                objEdit.Id= objOpp.Id;
                editedList.add(new editRevenueSchedule(objEdit.scheduleDate, objEdit.revenue , objEdit.description,  objEdit.Id));
                //system.debug('List lsteditRevenueSchedule in for loop of getEditRevenueSchedule ============>'+lsteditRevenueSchedule);
                system.debug('Size of list editedList in getEditRevenueSchedule function======'+editedList);
            }
            //editedList.addAll(lsteditRevenueSchedule);
        }
    
    //    return null;
    }
    
    public Pagereference savedRevenueSchedule1()
    {
        system.debug('=== Exceuted');
        List<OpportunityLineItemSchedule> opportunityLineItemScheduleList = new List<OpportunityLineItemSchedule>();
        OpportunityLineItemSchedule objOppLineItmSc = new OpportunityLineItemSchedule();
        
        if(editedList != null)
        {
            system.debug('==If  =Exceuted'+editedList.size());
            for(editRevenueSchedule objEditSc : editedList)
            {
                system.debug('===For==========Exceuted');
                if(opportunityLineItemScheduleMap.containsKey(objEditSc.Id ))
                {
                    System.debug('===If=========Exceuted');
                    objOppLineItmSc = new OpportunityLineItemSchedule();
                    objOppLineItmSc = opportunityLineItemScheduleMap.get(objEditSc.Id);
                    objOppLineItmSc.ScheduleDate = objEditSc.scheduleDate;
                    objOppLineItmSc.Revenue = objEditSc.revenue;
                    
                    objOppLineItmSc.Description = objEditSc.description;
                
                    opportunityLineItemScheduleList.add(objOppLineItmSc);
                }
            }
            
            if(opportunityLineItemScheduleList !=null)
            {
                List<Database.Saveresult> bdSave = database.update(opportunityLineItemScheduleList) ;
                System.debug(' List after clicking save button ==============>'+bdSave);
            }
        }
        return null;
    }
    
    public class editRevenueSchedule
    {
        public Date scheduleDate{get;set;}
        public Double revenue{get;set;}
        public String description{get;set;}
        public String Id{get;set;}
        
        public editRevenueSchedule (){}
        
        public editRevenueSchedule(Date scheduleDate, Double revenue, String description, Id oppLISchedule)
        {
            this.scheduleDate = scheduleDate;
            this.revenue = revenue;
            this.description = description;
            this.id = oppLISchedule;
        }            
    }
        
}

Eugene NeimanEugene Neiman

At the end, why don't you just try:

 

insert opportunityLineItemScheduleList;