Error FRM-40733 appears when a new columns is added to a TYPE in procedure
Hi Everyone,
We're using oracle forms 10.1.2.02 and database 10g.
We have an oracle form with a "Data Block" having "Query Data Source" as "Procedure". The procedure is part of a database package.
In package specs we have defined a TYPE and a procedure e.g.
TYPE my_type IS RECORD (
a varchar2(30)
, b number
, c varchar2(240)
, d varchar2(1)
, e varchar2(1)
);
TYPE my_type_t IS TABLE OF my_type
INDEX BY BINARY_INTEGER;
PROCEDURE my_user_rec(p_table IN OUT my_type_t);
In package body some variables and the procedure is defined:
--global variables (whose values are set in some other procedures in the package body)
l_a varchar2(30);
l_b number
l_c varchar2(240)
l_d varchar2(1)
l_e varchar2(1)
PROCEDURE my_user_rec(p_table IN OUT my_type_t) IS
l_array_count PLS_INTEGER := 0;
BEGIN
//other logic such as loops, variable increments etc
...
...
...
l_array_count := l_array_count + 1;
p_table (l_array_count).a := l_a;
p_table (l_array_count).b := l_b;
p_table (l_array_count).c := l_c;
p_table (l_array_count).d := l_d;
p_table (l_array_count).e := l_e;
...
...
...
END;
Now we have a new requirement to add another column to this type and procedure. When I add this new column to the type, an error message starts appearing when execute_query to the data block is executed, "FRM-40733 PL/SQL built-in PLSQL_TABLE.POPULATE_BLOCK failed".
Following changes have been made:
1. I added a new column "NEW_COL" to the data block in form, with database column = Yes and column name = NEW_COL.
2. Added a new col to the type:
TYPE my_type IS RECORD (
a varchar2(30)
, b number
, c varchar2(240)
, d varchar2(1)
, e varchar2(1)
, new_col varchar2(1)
);
and added the following to my package and procedure
--global var
l_new_col varchar2(1);
--statement in procedure
p_table (l_array_count).new_col := l_new_col;
Please note the error appears when a new column is added to the TYPE. Even if I comment out the statment in procedure or delete the new column in my Data Block, the error still appears. But if I comment out the new_col statment in TYPE the error is not displayed but obviously without the new requirment fulfilled.
I think form is unable to create the mapping between this new_col and the data block column.
Can anyone please suggest what's happening and how to fix it?
Thanks,
Amir