Oracle Forms handles the SQL within PL/SQL by processing the cursors which PL/SQL requires for DML operations.
Since PL/SQL blocks in a form can have Oracle Forms Built-ins, you cannot send the whole block to the database. To workaround this restriction, the SQL within PL/SQL takes advantage of the techniques implemented in Forms to reduce network traffic. These changes dramatically reduce the level of traffic seen using prior versions.
To send entire blocks of PL/SQL to the database, you can:
Constants like INSERT_ALLOWED and PROPERTY_ON that you pass to Built-ins are numeric constants. If you write a generic procedure that sets the properties of objects you need to make sure that the parameters passed are typed as NUMBER to ensure that no data type conflicts occur.