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
Ranu JainRanu Jain 

system limit Exception

Hii

The below code is written in a controller 

it this code i am getting an Exception : system limit Exception : to may DML statements 

i am not able to get this ...i haven't write nay DML in loop........

 

and if there is an exception , why code is not going to catch statements.....the  debug is not showing in debug lig which i written in catch statements

 

 

here is the code :

public PageReference saveProfilePic()
  {
    system.debug('EEEEEEEEE'+'in saveProfilePic function');
  //Contact to update  
        List<Contact> conToUpdate = new List<Contact>() ;  
        conToUpdate = [select id,ranu__StoreImageUrl__c from contact where id =: contactId] ;  
  
        //Inserting image parth  
        if(conToUpdate.size() > 0)  
        {  
            conToUpdate[0].ranu__StoreImageUrl__c = 'https://c.ap1.content.force.com/servlet/servlet.FileDownload?file=' + selectedImage;  
            try
            {
            update conToUpdate[0] ;  
            }
            catch(Exception e)
            {
              system.debug('CCCCCCCCCC');
             
        
           ApexPages.addmessage(new ApexPages.message(ApexPages.severity.FATAL,e.getMessage()));
        
              
            }
        }  
        return null ;  
    
  }

 

abhishektandon2abhishektandon2

Do you have any trigger , workflow tc also on Contact object.

 

Plz share the debug logs

Ranu JainRanu Jain

no there isno trigger or workflow...

here i am sharing debug log

look at  ******* CLose To Limit  . i think u can grab the problem here 

******* CLOSE TO LIMIT

 

 

23.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO
00:43:01.030 (30433000)|EXECUTION_STARTED
00:43:01.030 (30485000)|CODE_UNIT_STARTED|[EXTERNAL]|066900000011hPY|VF: /apex/ranu__DisplayImages
00:43:01.031 (31529000)|VF_DESERIALIZE_VIEWSTATE_BEGIN|066900000011hPY
00:43:01.036 (36885000)|VF_DESERIALIZE_VIEWSTATE_END
00:43:01.037 (37881000)|CODE_UNIT_STARTED|[EXTERNAL]|01p9000000126lv|DispalyImageController get(lstImages)
00:43:01.037 (37896000)|SYSTEM_MODE_ENTER|true
00:43:01.039 (39488000)|CODE_UNIT_STARTED|[EXTERNAL]|01p9000000126lv|DispalyImageController invoke(getlstImages)
00:43:01.039 (39653000)|METHOD_ENTRY|[1]|01p9000000126lv|DispalyImageController.DispalyImageController()
00:43:01.039 (39833000)|METHOD_EXIT|[1]|DispalyImageController
00:43:01.039 (39923000)|SYSTEM_METHOD_ENTRY|[20]|LIST.iterator()
00:43:01.039 (39952000)|ENTERING_MANAGED_PKG|
00:43:01.040 (40915000)|SYSTEM_METHOD_EXIT|[20]|LIST.iterator()
00:43:01.041 (41127000)|SYSTEM_METHOD_ENTRY|[20]|system.ListIterator.hasNext()
00:43:01.041 (41157000)|SYSTEM_METHOD_EXIT|[20]|system.ListIterator.hasNext()
00:43:01.041 (41178000)|SYSTEM_METHOD_ENTRY|[20]|system.ListIterator.next()
00:43:01.041 (41211000)|SYSTEM_METHOD_EXIT|[20]|system.ListIterator.next()
00:43:01.042 (42663000)|METHOD_ENTRY|[1]|01p9000000126m5|ImageValidation.ImageValidation()
00:43:01.042 (42679000)|METHOD_EXIT|[1]|ImageValidation
00:43:01.043 (43617000)|METHOD_ENTRY|[22]|01p9000000126m5|ranu.ImageValidation.validateImage(String)
00:43:01.043 (43788000)|SYSTEM_METHOD_ENTRY|[6]|system.Pattern.compile(String)
00:43:01.044 (44073000)|SYSTEM_METHOD_EXIT|[6]|system.Pattern.compile(String)
00:43:01.044 (44103000)|SYSTEM_METHOD_ENTRY|[7]|system.Pattern.matcher(String)
00:43:01.044 (44411000)|SYSTEM_METHOD_EXIT|[7]|system.Pattern.matcher(String)
00:43:01.044 (44434000)|SYSTEM_METHOD_ENTRY|[8]|system.Matcher.matches()
00:43:01.044 (44518000)|SYSTEM_METHOD_EXIT|[8]|system.Matcher.matches()
00:43:01.044 (44531000)|METHOD_EXIT|[22]|01p9000000126m5|ranu.ImageValidation.validateImage(String)
00:43:01.044 (44568000)|SYSTEM_METHOD_ENTRY|[24]|System.debug(ANY)
00:43:01.044 (44574000)|ENTERING_MANAGED_PKG|
00:43:01.044 (44614000)|USER_DEBUG|[24]|DEBUG|QQQQQQQQQ
00:43:01.044 (44623000)|SYSTEM_METHOD_EXIT|[24]|System.debug(ANY)
00:43:01.044 (44748000)|SYSTEM_METHOD_ENTRY|[25]|LIST.add(ANY)
00:43:01.044 (44755000)|ENTERING_MANAGED_PKG|
00:43:01.044 (44811000)|SYSTEM_METHOD_EXIT|[25]|LIST.add(ANY)
00:43:01.044 (44821000)|SYSTEM_METHOD_ENTRY|[20]|system.ListIterator.hasNext()
00:43:01.044 (44832000)|SYSTEM_METHOD_EXIT|[20]|system.ListIterator.hasNext()
00:43:01.044 (44842000)|SYSTEM_METHOD_ENTRY|[20]|system.ListIterator.next()
00:43:01.044 (44862000)|SYSTEM_METHOD_EXIT|[20]|system.ListIterator.next()
00:43:01.044 (44887000)|METHOD_ENTRY|[22]|01p9000000126m5|ranu.ImageValidation.validateImage(String)
00:43:01.044 (44903000)|SYSTEM_METHOD_ENTRY|[6]|system.Pattern.compile(String)
00:43:01.044 (44969000)|SYSTEM_METHOD_EXIT|[6]|system.Pattern.compile(String)
00:43:01.044 (44991000)|SYSTEM_METHOD_ENTRY|[7]|system.Pattern.matcher(String)
00:43:01.045 (45051000)|SYSTEM_METHOD_EXIT|[7]|system.Pattern.matcher(String)
00:43:01.045 (45063000)|SYSTEM_METHOD_ENTRY|[8]|system.Matcher.matches()
00:43:01.045 (45087000)|SYSTEM_METHOD_EXIT|[8]|system.Matcher.matches()
00:43:01.045 (45097000)|METHOD_EXIT|[22]|01p9000000126m5|ranu.ImageValidation.validateImage(String)
00:43:01.045 (45123000)|SYSTEM_METHOD_ENTRY|[30]|System.debug(ANY)
00:43:01.045 (45128000)|ENTERING_MANAGED_PKG|
00:43:01.045 (45166000)|USER_DEBUG|[30]|DEBUG|WWWWWWWWWWW
00:43:01.045 (45175000)|SYSTEM_METHOD_EXIT|[30]|System.debug(ANY)
00:43:01.045 (45183000)|SYSTEM_METHOD_ENTRY|[20]|system.ListIterator.hasNext()
00:43:01.045 (45193000)|SYSTEM_METHOD_EXIT|[20]|system.ListIterator.hasNext()
00:43:01.045 (45218000)|CODE_UNIT_FINISHED|DispalyImageController invoke(getlstImages)
00:43:01.045 (45231000)|CODE_UNIT_FINISHED|DispalyImageController get(lstImages)
00:43:01.045 (45345000)|CODE_UNIT_STARTED|[EXTERNAL]|01p9000000126lv|DispalyImageController get(selectedImage)
00:43:01.045 (45356000)|SYSTEM_MODE_ENTER|true
00:43:01.045 (45377000)|CODE_UNIT_STARTED|[EXTERNAL]|01p9000000126lv|selectedImage
00:43:01.045 (45441000)|CODE_UNIT_FINISHED|selectedImage
00:43:01.045 (45455000)|CODE_UNIT_FINISHED|DispalyImageController get(selectedImage)
00:43:01.045 (45607000)|CODE_UNIT_STARTED|[EXTERNAL]|DispalyImageController set(selectedImage,00P90000001i4YUEAY)
00:43:01.045 (45618000)|SYSTEM_MODE_ENTER|true
00:43:01.045 (45642000)|CODE_UNIT_STARTED|[EXTERNAL]|DispalyImageController set(selectedImage,00P90000001i4YUEAY)
00:43:01.045 (45723000)|CODE_UNIT_FINISHED|DispalyImageController set(selectedImage,00P90000001i4YUEAY)
00:43:01.045 (45735000)|CODE_UNIT_FINISHED|DispalyImageController set(selectedImage,00P90000001i4YUEAY)
00:43:01.045 (45890000)|CODE_UNIT_STARTED|[EXTERNAL]|01p9000000126lv|DispalyImageController invoke(saveProfilePic)
00:43:01.045 (45982000)|SYSTEM_METHOD_ENTRY|[38]|System.debug(ANY)
00:43:01.045 (45989000)|ENTERING_MANAGED_PKG|
00:43:01.046 (46028000)|USER_DEBUG|[38]|DEBUG|EEEEEEEEEin saveProfilePic function
00:43:01.046 (46038000)|SYSTEM_METHOD_EXIT|[38]|System.debug(ANY)
00:43:01.047 (47962000)|SOQL_EXECUTE_BEGIN|[41]|Aggregations:0|select id, ranu__StoreImageUrl__c from contact where id = :tmpVar1
00:43:01.052 (52697000)|SOQL_EXECUTE_END|[41]|Rows:1
00:43:01.052 (52781000)|SYSTEM_METHOD_ENTRY|[44]|LIST.size()
00:43:01.052 (52788000)|ENTERING_MANAGED_PKG|
00:43:01.053 (53142000)|SYSTEM_METHOD_EXIT|[44]|LIST.size()
00:43:01.053 (53175000)|METHOD_ENTRY|[46]|01p9000000126lv|ranu.DispalyImageController.__sfdc_selectedImage()
00:43:01.053 (53219000)|METHOD_EXIT|[46]|01p9000000126lv|ranu.DispalyImageController.__sfdc_selectedImage()
00:43:01.053 (53355000)|SYSTEM_METHOD_ENTRY|[49]|String.valueOf(Object)
00:43:01.053 (53362000)|ENTERING_MANAGED_PKG|
00:43:01.053 (53428000)|SYSTEM_METHOD_EXIT|[49]|String.valueOf(Object)
00:43:01.053 (53457000)|SYSTEM_METHOD_ENTRY|[49]|System.debug(ANY)
00:43:01.053 (53462000)|ENTERING_MANAGED_PKG|
00:43:01.053 (53469000)|USER_DEBUG|[49]|DEBUG|********* Contact:{ranu__StoreImageUrl__c=https://c.ap1.content.force.com/servlet/servlet.FileDownload?file=00P90000001i4YUEAY, Id=0039000000AB2rMAAT}
00:43:01.053 (53476000)|SYSTEM_METHOD_EXIT|[49]|System.debug(ANY)
00:43:01.053 (53542000)|DML_BEGIN|[50]|Op:Update|Type:Contact|Rows:1
00:43:01.053 (53590000)|EXCEPTION_THROWN|[50]|System.LimitException: ranu:Too many DML statements: 1
00:43:01.053 (53864000)|FATAL_ERROR|System.LimitException: ranu:Too many DML statements: 1

Class.ranu.DispalyImageController.saveProfilePic: line 50, column 1
00:43:01.053 (53881000)|CODE_UNIT_FINISHED|DispalyImageController invoke(saveProfilePic)
00:43:02.119 (215191000)|CUMULATIVE_LIMIT_USAGE
00:43:02.119|LIMIT_USAGE_FOR_NS|ranu|
  Number of SOQL queries: 1 out of 100
  Number of query rows: 1 out of 1000000
  Number of SOSL queries: 0 out of 20
  Number of DML statements: 1 out of 0 ******* CLOSE TO LIMIT
  Number of DML rows: 0 out of 0
  Number of script statements: 19 out of 200000
  Maximum heap size: 0 out of 3000000
  Number of callouts: 0 out of 10
  Number of Email Invocations: 0 out of 0
  Number of fields describes: 0 out of 100
  Number of record type describes: 0 out of 100
  Number of child relationships describes: 0 out of 100
  Number of picklist describes: 0 out of 100
  Number of future calls: 0 out of 10

00:43:02.119|CUMULATIVE_LIMIT_USAGE_END

00:43:01.215 (215257000)|CODE_UNIT_FINISHED|VF: /apex/ranu__DisplayImages
00:43:01.215 (215269000)|EXECUTION_FINISHED

 Thnaks

mridu86mridu86

HI,

 

I  think we can solve this by using this

 

if(limits.getDMLStatements()== limits.getLimitDMLStatements())
{
  //throw exception
}

abhishektandon2abhishektandon2

Hi Renu,

 

as you can see issue is in the logs

 

There is no DMLstatement limits and you are trying ti execute 1 DML statement

 Number of DML statements: 1 out of 0 ******* CLOSE TO LIMIT
Ranu JainRanu Jain

yes u are right.... but  just not understanding ...why there is no DMl limit..

simply we write DMLs in controller function ....

why this exception is here ......i tried this type of functionality. many time.:(

abhishektandon2abhishektandon2

Do your profile has all access on Contact object? your controller is with sharing or without sharing?

Nisse Knudsen.ax1026Nisse Knudsen.ax1026

Could it be that your method is called from another method that has the @ReadOnly annotation? Inside those marked methods you have higher query governor limits, but can't perform any DML operation (that's why it is called READonly :) ).