Home » Developer & Programmer » Forms » please response to me
please response to me [message #216436] Sat, 27 January 2007 13:40 Go to next message
m_arafa
Messages: 36
Registered: June 2006
Member
in exams :

1-
consider the following scenario :
In a multiform application , the user started in form A.
1-from form A , the user invoked form B using CALL_FORM
2-from form B , the user invoked form C using OPEN_FORM
3-from form C , the user invoked form D using OPEN_FORM
4-from form B , the user invoked form E using CALL_FORM

form E contains a button with a when-button-pressed trigger.
which trigger code will close the form and navigate successfully?

A.
close_form('FormA');
go_form('FormD');
B.
close_form('FormA');
go_form('FormC');
C.
close_form('FormB');
go_form('FormC');
D.
close_form('FormC');
go_form('FormB');
E.
close_form('FormC');
go_form('FormD');
F.
close_form('FormD');
go_form('FormA');

Answer : E

====================================================
i don't understand this result , please explain it.
====================================================

thanx in advance,
Re: please response to me [message #216456 is a reply to message #216436] Sun, 28 January 2007 06:48 Go to previous message
saadatahmad
Messages: 452
Registered: March 2005
Location: Germany/Paderborn
Senior Member

hi,
it is because Oracle Document says:
Quote:
You cannot close a form that has called another form with CALL_FORM

Now check the answers:

A. WRONG
close_form('FormA');
go_form('FormD');

REASON:
Because The last called form is FormE, which was called from FormB, so we cannot close FormsA. First statement wrong.

B. WRONG
close_form('FormA');
go_form('FormC');

REASON:
Same as answer A is wrong. We cannot close FormA while FormE is invoked.

C. WRONG
close_form('FormB');
go_form('FormC');

REASON:
Same as answer A and B. Because we called FormE from FormB. So while FormE is running we cannot close FormB.

D. WRONG
close_form('FormC');
go_form('FormB');

REASON:
go_form('FormB') is wrong here. Please check the explaantion in the answer F.

E. TRUE
close_form('FormC');
go_form('FormD');

REASON:
Because FormC is not opened by CAL_FORM built-in instead it is opened by OPEN_FORM built-in. So we can close this form. So first statement close_form('FormC') is true.
Also FormD is invoked by OPEN_FORM not by CALL_FORM so we can navigate to this form. Thus statement 2 is also True. i:e go_form('FormD'). So we can execute these two statements.

F. WRONG
close_form('FormD');
go_form('FormA');

REASON:
Because second statement go_form('FormA') will not work here. Because while FormE is called, you cannot go to FormA before closing FormE or FormB. So This statement is also wrong.

Hence the only answer 'E' is True.

Hope this explanation will be helpful.

regards,
Saadat Ahmad
Previous Topic: Developer 6i install on windows XP
Next Topic: I can't update my master-detail
Goto Forum:
  


Current Time: Mon Mar 10 03:30:57 CDT 2025