{"id":921,"date":"2010-04-22T13:35:18","date_gmt":"2010-04-22T11:35:18","guid":{"rendered":"http:\/\/websha.de\/xstepcafe\/?p=921"},"modified":"2018-06-01T06:45:21","modified_gmt":"2018-06-01T04:45:21","slug":"restriction-on-table-row-numbers-and-performance-3","status":"publish","type":"post","link":"https:\/\/websha.de\/xstepcafe\/2010\/04\/22\/restriction-on-table-row-numbers-and-performance-3\/","title":{"rendered":"Restriction on Table Row numbers and Performance"},"content":{"rendered":"<p>There was a <a href=\"http:\/\/websha.de\/xstepcafe\/cafe\/topic-discussion\/comment-page-1\/#comment-56\">question <\/a>by Maddy in the Topic Discussion section about the maximum number of table lines (more than 999) which I would like to answer here. <!--more-->In fact you could assume by the setting for the maximum table lines in the XStep element for a table that this is the limit because you cannot enter more than 3 digits:<br \/>\n<img loading=\"lazy\" class=\"alignnone\" src=\"http:\/\/websha.de\/xstepcafe\/wp-content\/uploads\/2010\/04\/moz-screenshot-2.png\" alt=\"\" width=\"587\" height=\"116\" \/><\/p>\n<p>However when you look at the characteristic PPPI_MAXIMUM_TABLE_SIZE you&#8217;ll see that this characteristic is restricted to 4 digits. If you leave these settings open there is no limitation that I know of. I have made a test with up to 5000 lines in one table (No, I did not add 5000 times a line manually, but I used a function module \ud83d\ude09 ):<br \/>\n<img loading=\"lazy\" class=\"alignnone\" src=\"http:\/\/websha.de\/xstepcafe\/wp-content\/uploads\/2010\/04\/moz-screenshot-3.png\" alt=\"\" width=\"341\" height=\"323\" \/><\/p>\n<p>I did not try to create more than 9999 lines (the real limit of the characteristic PPPI_MAXIMUM_TABLE_SIZE) because that would have taken too long. And this is probably the restriction which you will encounter even before some technical hard limit &#8211; the performance. You have to know that the performance in PI Sheets is not degrading linear with the number of elements you have in that PI Sheet. Especially in tables where you also have a lot of HTML table tags nested together the effect becomes quickly obvious. Here are the results of my little investigation.<\/p>\n<p>In the first series I created a table with only one column (the index that I use to fill the table by the function module) and measured the time it took to load the PI Sheet for a different amount of lines. Up to 2000 lines showed a rather linear rise in time. After this mark it took off in a more exponential way (see red line in diagram below). But one output element is not a very realistic example so I did another series with 10 columns of output fields. Here that point was reached already below 1000 lines and at a much higher level (blue line). Please consider that loading times may differ when you do the same tests in a different environment (e.g. faster\/slower server,&#8230;), however the principal\u00a0behaviour should be the same.<br \/>\n<img src=\"http:\/\/websha.de\/xstepcafe\/wp-content\/uploads\/2010\/04\/moz-screenshot-6.png\" alt=\"\" \/><\/p>\n<p>Now imagine you also have more complex elements like input fields or even commands or function modules that react on events for every line&#8230;<\/p>\n<p>The bottom line is that you need to be very careful about using tables with a lot of lines. Make some extensive tests with real data and check the performance. Maybe it would be a good alternative to capture data in a simple data request and write it to an ABAP database table with a function module if you have a lot of different data sets to store. Even if you need to put this data into an electronic batch record later you could use a custom report there to read the data from that database table and display it in the report that is to be archived later on.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There was a question by Maddy in the Topic Discussion section about the maximum number of table lines (more than 999) which I would like to answer here.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[72],"tags":[74,75],"_links":{"self":[{"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/posts\/921"}],"collection":[{"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/comments?post=921"}],"version-history":[{"count":14,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/posts\/921\/revisions"}],"predecessor-version":[{"id":2162,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/posts\/921\/revisions\/2162"}],"wp:attachment":[{"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/media?parent=921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/categories?post=921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websha.de\/xstepcafe\/wp-json\/wp\/v2\/tags?post=921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}