Reputation: 308
I have a trouble with oracle forms. The scenario is:
There is main form with a data block that contains records from TABLE_A.
User selects a record in data block then press button "Generate details", at that moment records in TABLE_B are generated for the master record in TABLE_A.
User press button "Details", the next code is executed:
DECLARE
L_Item item_master.item%TYPE;
L_pl_id PARAMLIST;
BEGIN
Post;
P_Destroy_Parameter_List('RTVDTL');
L_pl_id := Create_Parameter_List('RTVDTL');
L_Item := :B_RTV_DETAIL.Item;
Add_Parameter(L_pl_id, 'PM_RTV_ORDER_NO', Text_Parameter, To_Char(:B_RTV_HEAD.Rtv_Order_no));
Add_Parameter(L_pl_id, 'PM_ITEM', Text_Parameter, To_Char(L_Item));
--Open_Form('xxlmrtvdetail', ACTIVATE, No_Session, L_pl_id);
Call_Form('xxlmrtvdetail', No_Hide, No_Replace, No_Query_Only, No_Share_Library_Data);
END;
If I comment row with "Call_Form" function and uncomment "Open_Form" the data is shown. Also, if I change "Post" with "Commit", the data is shown. It seems that child form is using the other session. Does some one know what could be the reason of the problem and how to fix it?
Thanks!
Upvotes: 1
Views: 394
Reputation: 143103
Forms help says the following for OPEN_FORM
's session_mode:
NO_SESSION
(The default.) Specifies that the opened form should share the same database session as the current form.POST
andCOMMIT
operations in any form will cause posting, validation, and commit processing to occur for all forms running in the same session.
There's no such thing in CALL_FORM
so it is quite obvious - use OPEN_FORM
with NO_SESSION
. Then you can use POST
or COMMIT
, whichever suits your needs.
Upvotes: 2