Super Dynamic APEX Forms Using APEX_ITEM and Dynamic Actions

Working with forms in Oracle APEX is really easy and even fun thanks to the improved wizard that can create a form page on any table, view, or even on a web source in a few simple and clear steps. But sometimes you'll need to enter multiple 'rows' at once. In most of these cases, you will not know how many items or rows the user will need to enter until run time, so the user may want to enter one row or 10 rows, and sometimes the user will enter zero rows of this specific type. So the question now is how can you, as a developer, build a 'dynamic form', a form that accepts multiple rows that can change in size according to the user's wish?

The answer is APEX_ITEM package + APEX's dynamic actions. Using this mix, you can build a very dynamic, powerful form on any page of your application. APEX_ITEM is a package that, according to Oracle's formal definition, is used to "create form elements dynamically based on a SQL query instead of creating individual items page by page." So basically, it gives the developer the ability to create items dynamically, and from these items, a form can be built. APEX_ITEM offers a list of item types: text box, text area, LOV (list of values), date popup, etc. For details, see Oracle's reference.