QAD Progress OpenEdge Storage Area Sizing Calculator
This calculator sizes a Type II storage area for a large QAD table, such as tr_hist or ld_det, on Progress OpenEdge 11 and 12. It shows how records per block, block size and mean record size decide how many blocks you need, and how big the area grows.
Your numbers
Current record count, from tabanalys.
The Mean column for the table in proutil dbanalys or tabanalys.
Space kept free in each block for record growth.
Your results
Block header overhead and per-record overhead are approximations. Use dbanalys on a copy of your database to check real fill, and size index areas separately.
Area size today vs mean record size
Sweeps Mean record size from 50 to 1000, holding your other inputs fixed.
Want your storage layout reviewed?
Send us your dbanalys output and structure file and we will suggest RPB, areas and extents for your largest QAD tables.
Optional. The tool and every export work without this. No spam.
How to use it
Run proutil dbname -C dbanalys (or tabanalys) on a recent copy of the QAD database and take the record count and the Mean record size for the table. Pick the database block size and the RPB you plan for the area, keep the create limit at its default unless you changed it, and enter growth and horizon. The two primary outputs give the area size today and at the end of the horizon; the extents output tells you how many fixed extents of your chosen size to define in the structure file, with a variable extent last.
- Block size is set when the database is created: changing it means a dump and load.
- RPB is set per area: changing it means moving the table to a new area.
- Size index areas separately; this tool covers data blocks only.
The method behind it
Each data block holds at most RPB records, and also only as many as fit in the space left after the block header and the create limit. Usable space is block size minus create limit minus about 64 bytes of header, divided by mean record size plus 2 bytes for the record's directory entry. The effective records per block is the lower of the two. Blocks are rows divided by that, rounded up, and size is blocks times block size. Growth compounds yearly. RPB must be a power of 2 from 1 to 256. Overheads are approximations: the dbanalys fill figures on your own data are the real check.
Worked example: 25 million rows at 220 bytes
With 8 KB blocks and a 150-byte create limit, usable space is about 7,978 bytes, so 35 records of 222 bytes fit. With RPB 64 the block fills by space at 35 records; 25,000,000 rows need about 714,286 blocks, about 5.45 GB. At 12 percent growth for 3 years the area reaches about 7.66 GB, or 4 fixed extents of 2 GB. Choosing RPB 32 instead caps each block at 32 records and leaves about 10 percent of every block empty, so the area is about 9 percent bigger for no benefit.
Choosing RPB and gotchas
A practical rule: divide the block size by mean record size plus overhead, then pick the next power of 2 above that number. Too high an RPB only wastes row addresses; too low wastes disk and buffer pool. Tables with very different record sizes belong in different areas. QAD databases often use 8 KB blocks on Unix and Linux, but that is a common practice, not a rule. Add extents online with prostrct add or addonline before the last fixed extent fills.
Frequently Asked Questions
How do I choose records per block in OpenEdge?
Take the mean record size from dbanalys, add overhead, divide the block size by that figure and choose the next power of 2 above the result, between 1 and 256. Setting RPB slightly high wastes only row addresses; setting it low leaves empty space in every block. Put tables with very different record sizes in separate areas.
Where do I get the mean record size for a QAD table?
Run proutil dbname -C dbanalys or proutil dbname -C tabanalys against the database or a recent copy. The record block summary lists each table with record count, total size and the Min, Max and Mean record size. Use the Mean figure in this calculator and rerun the analysis yearly as data changes.
Can I change the block size of a QAD database?
Not in place. The block size is fixed when the database is created, so changing it means creating a new database with the new block size and dumping and loading the data. Many sites combine that with an upgrade or a move to Type II storage areas, because the dump and load already requires downtime.
How do I add space to a storage area?
Write a structure file with the new extents for the area and run prostrct add with the database offline, or prostrct addonline while it runs on versions that support it. Then check the result with prostrct list or prostrct statistics. Add space before the variable extent starts growing on a busy system.
If you want to ask your QAD database about growth, history and open transactions in plain English on your own servers, we can set that up alongside your DBA routines.
Related Tools
QAD Progress OpenEdge Database Maintenance Checklist
Daily, weekly, monthly, pre-upgrade and disaster recovery tasks for on-prem QAD databases on Progress OpenEdge, with the utility to use for each.
Developer ToolsQAD Progress Connection Parameter File Generator
Generate .pf parameter files for connecting a Progress client to a remote QAD database over TCP.
Other ERPsQAD EE Key Fields Reference (pt_mstr, so_mstr, sod_det, wo_mstr, po_mstr)
Searchable list of the QAD Enterprise Edition fields report writers use most, by table, with type, meaning and the menu program that maintains them.
Other ERPsQAD Core Tables Reference
A searchable lookup of the QAD EE tables you query most, what each holds and how they are keyed.
More Other ERPs tools
See all- QAD Menu Program Reference Worksheet
- Infor VISUAL Work Order Status and Structure Reference
- Infor VISUAL Manufacturing Scheduling Checklist
- Infor XA (MAPICS) Period End Close Checklist
- Infor VISUAL Database Table Reference
- Infor XA (MAPICS) Application Module Reference
- IBM i Commands for Infor XA Administrators Reference
- Acumatica Generic Inquiry Design Template
- Acumatica Manufacturing Edition Setup Checklist
Keep exploring
Free tools
- QAD Progress OpenEdge Database Maintenance ChecklistDaily, weekly, monthly, pre-upgrade and disaster recovery tasks for on-prem QAD databases on Progress OpenEdge, with the utility to use for each.
- QAD Progress 4GL Query GeneratorFill in domain, site and a part prefix to get ready-to-run, read-only Progress 4GL queries against common QAD EE tables.
- QAD Progress Connection Parameter File GeneratorGenerate .pf parameter files for connecting a Progress client to a remote QAD database over TCP.
ERP fixes and how-tos
- How to Add a Private AI Layer to QAD Enterprise Edition On-PremHow to add a private, on-prem AI assistant to QAD Enterprise Edition: OpenEdge SQL access, QXtend write-back, domain security, GPU sizing and rollout.
- QAD ERP Tables and API Access: Key Tables, SQL and Integration OptionsKey QAD ERP tables such as pt_mstr and so_mstr, how to query them via OpenEdge SQL, and which API options exist for integration. Read-only guidance.
- How to Back Up and Restore a QAD Progress Database with probkup and prorestStep by step guide to online backup of a QAD Progress database with probkup, incremental backups, verification, and restore with prorest, plus the traps to avoid.
AI on your ERP
- AI for QAD in Automotive: Schedules, Traceability and IATF Evidence From Your Own OpenEdge DataPrivate AI on QAD Adaptive ERP for automotive suppliers: schedule releases, ASN, lot traceability and IATF 16949 evidence, read-only, on-prem or sovereign.
- AI for QAD Adaptive ERP in automotive and industrial manufacturingAdd AI to QAD Adaptive ERP or Enterprise Edition for automotive and industrial manufacturing, grounded on QXtend and QAD's API layer, on-prem or private cloud.
Integrations
- How to add AI agents to QAD Adaptive ERPBuild AI agents on QAD Adaptive ERP: a tool layer over QXtend and read-only OpenEdge access, MRP exception triage, PO expediting and human approval before writes.
- How to connect Power BI to QAD Adaptive ERPConnect Power BI to QAD through ODBC to an OpenEdge replica, QAD analytics exports or a warehouse. Gateway setup, key manufacturing dashboards and natural-language Q&A.