TMA-0115: Timesheet not found error, when trying to save a timesheet with a high amount of tasks on the PPM Classic UI

Document ID : KB000109657
Last Modified Date : 03/08/2018
Show Technical Document Details
Question:
When trying to save a timesheet with a high amount of tasks you get an error
In 15.4 the error is as follows:
TMA-0115: Timesheet not found. Most likely your session has been invalidated. Go back to the timesheet list.
In 15.4.1, the error is different:
"The server was unable to parse the parameters on the URL or from a form. This may be caused by too many parameters on the URL or form - the maximum allowed is 10000. The request has been rejected." 
How can we resolve this?
Answer:
The scenarios can vary:

If you are using weekly time periods, a single timesheet will throw an error at saving time if more than 250 tasks are added
If you are using monthly time periods, the error will occur at around 70 tasks.

Engineering was involved on setting reasonable limits for timesheets.
These are the *recommended* maximums for each Timesheet period types. 
DAILY = 650 
WEEKLY = 250 
BIWEEKLY = 125 
MONTHLY = 60 
QUARTERLY = 30 
SEMIANNUAL = 15 
ANNUAL = 6 

PPM limits, between those the maximum allowed tasks are specified as governor limits.
See below a KB on these limits:
KB000009826
As the above KB says the limits can be modified.

With timesheets, incrementing the governor limit might not be enough.

If you need to set a bigger number of tasks on timesheets and increasing the governor limit does not help, please have a look to the below information.

Tomcat by default is limited to 10,000 values in a form post. See link below. 

Tomcat by default handles upto 2M of payload  
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html 

Increase the value and set the maxParameterCount to 20000 

{install.dir}\tomcat-app-deploy\conf\server.xml 

    <Connector port="85" protocol="HTTP/1.1" connectionTimeout="60000" secure="false" maxThreads="200" minSpareThreads="1" URIEncoding="UTF-8" useBodyEncodingForURI="true" maxHttpHeaderSize="65536" server="CA Clarity PPM" /> 

If this get's overwritten then update this file as below 

{install.dir}\.setup\scripts\j2ee\tomcat\deploy.xml 

2 places: 
    <xpath file="${app.absolute.deployDir}/conf/server.xml"> 
      <apply select="/Server/@port" value="${app.rmiPort}"/> 
      <apply parent="/Server/Service[@name='Catalina']"> 
        <element if="app.enable.port" removeOtherwise="true" name="Connector" select="Connector[(not(@protocol) or @protocol != 'AJP/1.3') and (not(@secure) or @secure != 'true')]"> 
          <attribute name="port" value="${app.web.port}"/> 
.... 
         <attribute name="maxParameterCount" value="20000"/> 

        <element if="app.enable.ssl.port" removeOtherwise="true" name="Connector" select="Connector[(not(@protocol) or @protocol != 'AJP/1.3') and @secure = 'true']" after="Connector"> 
          <attribute name="port" value="${app.ssl.port}"/> 
.... 
          <attribute name="maxParameterCount" value="20000"/> 

Setting the maxParameterCount to a higher value than 10000 will allow you to increase the number of tasks on timesheets.
 
Additional Information:
In 15.4.1 the error you see is:
"The server was unable to parse the parameters on the URL or from a form. This may be caused by too many parameters on the URL or form - the maximum allowed is 10000. The request has been rejected." 

Note.
This error is identical to the message thrown on an IE related defect: DE42037
This is a different case though, as the timesheet error discussed on the current KB is also seen on Chrome browser.
Both issues are different.