You need to sign in to do that
Don't have an account?
Supriyo Ghosh 5
field update and filter
Hi,
I have a apex class.I want to add a fiter criteria if vertical__c=='test' from case object then update date__c=system.today();.Please help.
Class
public with sharing class GenerateDtfCase {
Public List<Case> customerObj{get;set;}
Public List<Employee_Master__c> Emp{get;set;}
public String branchcode{get;set;}
public Date Today { get { return Date.today(); }}
public GenerateDtfCase(ApexPages.StandardController controller) {
try
{
Emp= [Select e.User__r.Id, e.User__c, e.Id, e.Branch_Code__r.BranchCode__c, e.Branch_Code__r.Cash_inCounter_Limit__c,
e.Branch_Code__r.Cash_in_Safe_Limit__c, e.Branch_Code__r.Name, e.Branch_Code__c
From Employee_Master__c e where User__r.Id = : UserInfo.getUserId() and Active__c= : true limit 1];
if(Emp[0].Branch_Code__r.BranchCode__c!= null)
{
branchcode=Emp[0].Branch_Code__r.Name;
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No Branch mapping found in Employee master for the logged in user. Please contact the system administrator to get it corrected.'));
}
}catch(exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No mapping record found in Employee Master for the Logged in user. Please contact the system administrator to get it corrected.'));
}
system.debug('branch code:'+branchcode);
customerObj = [select id,CaseNumber,Branch_name__c,Account_Name__c,Proposal_Detail__c,Policy_Number__c,Creation_Date__c,Document_List__c,Vertical__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Request_Type__c,Supporting_Document__c
FROM Case WHERE Vertical__c='LI' AND RecordType.ID ='012O00000005BMS' AND created_date__c=true ];
//customerObj = [select id, Name, Complete_Status__c, Branch_name__c,Branch__r.Name , Creation_Date__c, Document_List__c, Vertical__c, Status__c, DTF_Creation_Date__c, Effective_date_of_coverage__c, Policy_No__c, proposal_Application_no__c, proposal_Name__c, Request_Type__c, Request_Type_new_del__c, Branch__c, Supporting_Document_del__c, OwnerId from POSDetails__c where (Vertical__c = 'LI'and Branch__r.Name =:branchcode)];
system.debug('test query branch:'+branchcode);
system.debug('test query customerObj:'+customerObj );
}
public GenerateDtfCase() {
}
}
I have a apex class.I want to add a fiter criteria if vertical__c=='test' from case object then update date__c=system.today();.Please help.
Class
public with sharing class GenerateDtfCase {
Public List<Case> customerObj{get;set;}
Public List<Employee_Master__c> Emp{get;set;}
public String branchcode{get;set;}
public Date Today { get { return Date.today(); }}
public GenerateDtfCase(ApexPages.StandardController controller) {
try
{
Emp= [Select e.User__r.Id, e.User__c, e.Id, e.Branch_Code__r.BranchCode__c, e.Branch_Code__r.Cash_inCounter_Limit__c,
e.Branch_Code__r.Cash_in_Safe_Limit__c, e.Branch_Code__r.Name, e.Branch_Code__c
From Employee_Master__c e where User__r.Id = : UserInfo.getUserId() and Active__c= : true limit 1];
if(Emp[0].Branch_Code__r.BranchCode__c!= null)
{
branchcode=Emp[0].Branch_Code__r.Name;
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No Branch mapping found in Employee master for the logged in user. Please contact the system administrator to get it corrected.'));
}
}catch(exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No mapping record found in Employee Master for the Logged in user. Please contact the system administrator to get it corrected.'));
}
system.debug('branch code:'+branchcode);
customerObj = [select id,CaseNumber,Branch_name__c,Account_Name__c,Proposal_Detail__c,Policy_Number__c,Creation_Date__c,Document_List__c,Vertical__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Request_Type__c,Supporting_Document__c
FROM Case WHERE Vertical__c='LI' AND RecordType.ID ='012O00000005BMS' AND created_date__c=true ];
//customerObj = [select id, Name, Complete_Status__c, Branch_name__c,Branch__r.Name , Creation_Date__c, Document_List__c, Vertical__c, Status__c, DTF_Creation_Date__c, Effective_date_of_coverage__c, Policy_No__c, proposal_Application_no__c, proposal_Name__c, Request_Type__c, Request_Type_new_del__c, Branch__c, Supporting_Document_del__c, OwnerId from POSDetails__c where (Vertical__c = 'LI'and Branch__r.Name =:branchcode)];
system.debug('test query branch:'+branchcode);
system.debug('test query customerObj:'+customerObj );
}
public GenerateDtfCase() {
}
}
Please find the below code:
Here I just wrote a method to update the above retrieved list of cases.
Regards,
Mahesh
public with sharing class GenerateDtfCase
{
Public List<Case> customerObj{get;set;}
Public List<Employee_Master__c> Emp{get;set;}
public String branchcode{get;set;}
public Date Today { get { return Date.today(); }}
public GenerateDtfCase(ApexPages.StandardController controller)
{
try
{
Emp= [Select e.User__r.Id, e.User__c, e.Id, e.Branch_Code__r.BranchCode__c, e.Branch_Code__r.Cash_inCounter_Limit__c,
e.Branch_Code__r.Cash_in_Safe_Limit__c, e.Branch_Code__r.Name, e.Branch_Code__c
From Employee_Master__c e where User__r.Id = : UserInfo.getUserId() and Active__c= : true limit 1];
if(Emp[0].Branch_Code__r.BranchCode__c!= null)
{
branchcode=Emp[0].Branch_Code__r.Name;
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No Branch mapping found in Employee master for the logged in user. Please contact the system administrator to get it corrected.'));
}
}catch(exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No mapping record found in Employee Master for the Logged in user. Please contact the system administrator to get it corrected.'));
}
system.debug('branch code:'+branchcode);
customerObj = [select id,CaseNumber,Branch_name__c,Account_Name__c,Proposal_Detail__c,Policy_Number__c,Creation_Date__c,Document_List__c,Vertical__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Request_Type__c,Supporting_Document__c
FROM Case WHERE Vertical__c='test' AND RecordType.ID ='012O00000005BMS' AND created_date__c=true ];
for(Case c: customerObj)
{
if(c.Vertical__c == 'test')
{
c.Date__c = System.today();
}
}
update customerObj
}
public GenerateDtfCase() {
}
}
Let us know if this will help you
I have written the code but after execution of the query filds is not updating.
public with sharing class GenerateDtfCase {
//public POSDetails__c customerObj{get;set;}
Public List<Case> customerObj{get;set;}
Public List<Employee_Master__c> Emp{get;set;}
public String branchcode{get;set;}
//public String cityBranch {get;set;}
public Date Today { get { return Date.today(); }}
public GenerateDtfCase(ApexPages.StandardController controller) {
try
{
Emp= [Select e.User__r.Id, e.User__c, e.Id, e.Branch_Code__r.BranchCode__c, e.Branch_Code__r.Cash_inCounter_Limit__c,
e.Branch_Code__r.Cash_in_Safe_Limit__c, e.Branch_Code__r.Name, e.Branch_Code__c
From Employee_Master__c e where User__r.Id = : UserInfo.getUserId() and Active__c= : true limit 1];
if(Emp[0].Branch_Code__r.BranchCode__c!= null)
{
branchcode=Emp[0].Branch_Code__r.Name;
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No Branch mapping found in Employee master for the logged in user. Please contact the system administrator to get it corrected.'));
}
}catch(exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'No mapping record found in Employee Master for the Logged in user. Please contact the system administrator to get it corrected.'));
}
system.debug('branch code:'+branchcode);
//customerObj = [select id, Name,Complete_Status__c,Branch_name__c,Creation_Date__c,Document_List__c,Vertical__c,Status__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Policy_No__c,proposal_Application_no__c,proposal_Name__c,Request_Type__c,Request_Type_new_del__c,Branch__c ,Supporting_Document_del__c
//FROM POSDetails__c WHERE Vertical__c='LI' AND Branch__r.Name =:branchcode];
customerObj = [select id,CaseNumber,Branch_name__c,Account_Name__c,Proposal_Detail__c,Policy_Number__c,Creation_Date__c,Document_List__c,Vertical__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Request_Type__c,Supporting_Document__c
FROM Case WHERE Vertical__c='LI' AND RecordType.ID ='012O00000005BMS' AND created_date__c=true ];
//customerObj = [select id, Name, Complete_Status__c, Branch_name__c,Branch__r.Name , Creation_Date__c, Document_List__c, Vertical__c, Status__c, DTF_Creation_Date__c, Effective_date_of_coverage__c, Policy_No__c, proposal_Application_no__c, proposal_Name__c, Request_Type__c, Request_Type_new_del__c, Branch__c, Supporting_Document_del__c, OwnerId from POSDetails__c where (Vertical__c = 'LI'and Branch__r.Name =:branchcode)];
system.debug('test query branch:'+branchcode);
system.debug('test query customerObj:'+customerObj );
}
public GenerateDtfCase() {
for(Case c: customerObj) {
if(c.Vertical__c == 'LI')
customerObj = [select id,CaseNumber,Branch_name__c,Account_Name__c,Proposal_Detail__c,Policy_Number__c,Creation_Date__c,Document_List__c,Vertical__c,DTF_Creation_Date__c,Effective_date_of_coverage__c,Request_Type__c,Supporting_Document__c
FROM Case WHERE Vertical__c='LI' AND RecordType.ID ='012O00000005BMS' AND created_date__c=true ];
c.DTF_Creation_Date__c = System.today();
}
update customerObj;
}
}
As the SOQL is in Constructor, we can't use the DML statement inside the Constructor. Hence we have to write a new method and update the Case records.
Regards,
Mahesh
I am not sure which Constructor you are using it from your Controller. Also you can't perform the DML operations inside the Constructor.
Please write a new method and try to update the Case list by looping through it.
Regards,
Mahesh
I have written the code but after execution of te query the field is not updating.Please help.
Regards,
Mahesh
<apex:page id="pg" renderAs="PDF" standardController="Case" extensions="GenerateDtfCase" sidebar="false" showHeader="false" standardStylesheets="false">
<center><h4 style="font: 100% Verdana, Arial, Helvetica, sans-serif;
">Peerless Financial products Distribution Limited</h4></center>
<br/><br/>
<apex:pageMessages />
<apex:form id="thisForm">
<center>
<table border="1" width="100%" height="50px" cellpadding="0" cellspacing="0" >
<tr>
<th colspan="7"><center style="
font-weight: normal;
">DTF-Policy Owner Service</center></th>
</tr>
<tr>
<th></th>
<th></th>
<th colspan="3" style="
font-weight: normal;
">PB-</th>
<th colspan="3" style="
font-weight: normal;
">Date-<apex:outputText value="{0,date}">
<apex:param value="{!Today}" />
</apex:outputText></th>
</tr>
<tr>
<td>Sl no</td>
<td>Proposal no</td>
<td>Proposer Name</td>
<td>Work type</td>
<td>Documents</td>
<td>Document Lists</td>
<td>Remarks</td>
</tr>
<apex:repeat value="{!customerObj }" var="case" id="theEquipmentRepeat">
<tr>
<td> <apex:outputText value="{!case.CaseNumber}" />
</td>
<td> <apex:outputText value="{!case.Proposal_Detail__c}" />
</td>
<td> <apex:outputText value="{!case.Account_Name__c}" />
</td>
<td> <apex:outputText value="{!case.Request_Type__c}" />
</td>
<td> <apex:outputText value="{!case.Supporting_Document__c }"/>
</td>
<td> <apex:outputText value="{!case.Document_List__c}"/>
</td>
<td> <apex:outputText value=""/>
</td>
</tr>
</apex:repeat>
</table>
<apex:commandButton value="Print" onClick="window.print()"/>
</center>
</apex:form>
</apex:page>
Please use the below sample code to call the method which will update the Case records.
Whenever user clicks on the above button then it will update the case records.
Please do let me know if it helps.
Regards,
Mahesh
Unknown method 'CaseStandardController.ModifyCase()'
vf page
<apex:page id="pg" renderAs="PDF" standardController="Case" extensions="GenerateDtfCase" sidebar="false" showHeader="false" standardStylesheets="false">
<center><h4 style="font: 100% Verdana, Arial, Helvetica, sans-serif;
">Peerless Financial products Distribution Limited</h4></center>
<br/><br/>
<apex:pageMessages />
<apex:form id="thisForm">
<center>
<table border="1" width="100%" height="50px" cellpadding="0" cellspacing="0" >
<tr>
<th colspan="7"><center style="
font-weight: normal;
">DTF-Policy Owner Service</center></th>
</tr>
<tr>
<th></th>
<th></th>
<th colspan="3" style="
font-weight: normal;
">PB-</th>
<th colspan="3" style="
font-weight: normal;
">Date-<apex:outputText value="{0,date}">
<apex:param value="{!Today}" />
</apex:outputText></th>
</tr>
<tr>
<td>Sl no</td>
<td>Proposal no</td>
<td>Proposer Name</td>
<td>Work type</td>
<td>Documents</td>
<td>Document Lists</td>
<td>Remarks</td>
</tr>
<apex:repeat value="{!customerObj }" var="case" id="theEquipmentRepeat">
<tr>
<td> <apex:outputText value="{!case.CaseNumber}" />
</td>
<td> <apex:outputText value="{!case.Proposal_Detail__c}" />
</td>
<td> <apex:outputText value="{!case.Account_Name__c}" />
</td>
<td> <apex:outputText value="{!case.Request_Type__c}" />
</td>
<td> <apex:outputText value="{!case.Supporting_Document__c }"/>
</td>
<td> <apex:outputText value="{!case.Document_List__c}"/>
</td>
<td> <apex:outputText value=""/>
</td>
</tr>
</apex:repeat>
</table>
<apex:commandButton value="Modify Case" action="{!ModifyCase}" />
<apex:commandButton value="Print" onClick="window.print()"/>
</center>
</apex:form>
</apex:page>
Regards,
Mahesh
record is still not updating.
Please enable the debug log and paste it here.
Regards,
Mahesh