I have recently encountered a few situation where FEB applications have not been deployable because there were too many UI items (database columns). The end user will see the following when trying to deploy the application:
If you inspect the logs you will see an error like:
Caused by: com.ibm.db2.jcc.am.SqlException: The row length of the table exceeded a limit of "32677" bytes. (Table space "32677".). SQLCODE=-670, SQLSTATE=54010, DRIVER=3.57.82
So I set out trying to figure out how big each of our widgets are so that we could calculate how close a form is to the edge. All of the numbers provided here are approximate.
When you add an item to the form a column is created and the size of that column is dependent on the type of item. The maximum size is 32677 bytes.
Defined as CLOB(1000000)
4 bytes per char
Defined as VARCHAR(4-1024) where length is 1-256
Defined as CLOB(102400)
Defined as DATE
Defined as VARCHAR(4-800). Dropdown value can be 1- 200 characters
Defined as VARCHAR(50-800). Survey answer can be 1-200 characters
Number (Decimal), Currency
Defined as DECIMAL()
Defined as BIGINT
Defined as TIME
Defined as VARCHAR(100)
Defined as VARCHAR(52-200) where length is 1-200
Defined as SMALLINT
Defined as CLOB(2048)
Defined as VARCHAR(200)
Defined as TIMESTAMP
1. Create a button in the form you want to test.
2. Add the following js file to your application: tableSpaceSize.js
3. Add the following JS to the onClick of the button:
4. Preview the form and click the button to see how much space is being used!
- You could have a form with 31 SingleLine fields where they were set to the maximum field length of 256 characters.
- You could have a form with 158 SingleLine fields where they were set to the maximum field length of 50 characters.
- You could have a form with 190 MultiLine fields.
- You could have a form with 625 Yes/No Survey questions
- You could have a form with 40 Survey Questions where the question value is at its 200 character max