Thursday, December 16, 2010

D2K Interview Questions and Answers: PART6


FORMS Questions and Answers: PART5 (51-60)

51. When a form is run, which are the triggers fire, and in what sequence they fire?
 Ans:
PRE-FORM
 WHEN-NEW-FORM-INSTANCE
 PRE-BLOCK
 WHEN-NEW-BLOCK-INSTANCE
WHEN-NEW-ITEM-INSTANCE
 POST-BLOCK, POST-FORM
52. What is the utility used to call the report from the forms?
Ans: RUN_REPORT
53. What is a Property Class? Different methods of creating property class?
Ans: Property Class is defining properties of objects along with their settings.  The property class inheritance allows the user to perform global changes very quickly and efficiently.
Methods:
Object Navigator Method
Properties Window Method
54. WHEN-NEW-FORM trigger written at Form Level, Block Level and Item Level
which one will fire first?
Ans: The trigger written at the lower level Item Level Fires first.
55. In the previous question circumstance, is it possible to change the order of trigger Execution?  If Yes, where it needs to be changed?
Ans: Yes, in the trigger property (Before, After, Default)by changing the attributes.
56. Form Registration Steps
Ans: Save as the TEMPLATE.fmb as your continent form name such as emp.fmb
Delete the BLOCK_NAME, DATA_BLOCK, BLOCK_NAME and  BLOCK_NAME in Data Block, Canvas and Window list.
Create window, canvas and block in the module and assign the subclass information to properties of them.
Change the code in the package of app_custom in the program units.
when_window_closed
if (wnd = 'window_name') then
app_window.close_first_window;
end if;
when_window_opened
if (wnd = 'window_name') then
GO_BLOCK('Block_name');
Change the code in the pre_form trigger as bellow
app_window.set_window_position('window_name',NULL,'block_name');

Copy the fmb and pll file into AU_TOP/forms/US and AU_TOP/resource directories respectively and compile them.

Form
======================
f60gen F20601.fmb Userid=apps/g00g1e
mv F20601.fmx /apps/qoedv2/appl_top/xxcpd/11.5.0/forms/US

pll   
=====================
f60gen Module=XXCPDLXPLAVA.pll Module_Type=LIBRARY Userid=apps/g00g1e

In front-end application, go to the following path
Application DeveloperàApplicationàform and create one new record
Application DeveloperàApplicationàFunction  create one function and link the form to this function.
Application DeveloperàApplicationàMenu and create the menu and link the function to this menu.
57. Create the messages in Apps.
Ans: Go to Application DeveloperàApplicationàmessage and create one message in the form and run request.
Go to Viewàrequests, select submit new request
Select the ‘Generate Message’ program and give  input parameters for this form.
You can access this messages in the form level code as below.

Fnd_message.set_name(‘Application_id’, ‘Message_Name’)
Fnd_message.show.

2. Fnd_message.set_name(‘Application_id’, ‘Message_Name’)
Fnd_message.set_token(‘Token_varialbe in the message Dictionary’, Value)
fnd_message.show.
58. PRE– FORM
Ans:
FND_STANDARD.FORM_INFO(’$Revision: $’,
’,
’,
’$Date: $’,
’$Author: $’);
APP_STANDARD.EVENT(’PRE– FORM’);
APP_WINDOW.SET_WINDOW_POSITION(’BLOCKNAME’, ’FIRST_WINDOW’);
59. To Code the Zooms into Custom.pll
Ans:  
Open the $AU_TOP/RES/PLSQL/CUSTOM.PLL
Code the custom function Zoom_available this function return Boolean we check here the form name and block name and return true.
And then code the event procedure here we check for event if it is ZOOM then we check for the form and the block name and using FND_FUNCTION.EXECUTE open the new form  fnd_function.execute takes 4 parameters
FND_FUNCTION.EXECUTE(FUNCTION_NAME=>’  ,
OPEN_FLAG=>  ,
SESSION_FLAG=>  ,
OTHER_PARAMS=> );
60. Find Window
Ans:
Copy the query_find object from appsstand.fmb
New Button: When-Button-Pressed write this code :- app_find.new(‘Resultant Block’);
Find button: When-button-Pressed write this code :- apps_find.new(‘Resultant Block’);                              
2) Pre-Query trgger at resultant block execution style before
if :parameter.g_query_find =’TRUE’ Then
Copy(‘:QF_block.empno’,’:emp.empno’);
Source                 ,  destination                                               

App_find.query_range(‘hiredate_from’,’hiredate_to’,’emp.hiredate’ )        

3) Create user defined trigger QUERY_FIND BLOCK level (override)

App_find.query_find(Resultant window , find window , find block);


0 Responses to “D2K Interview Questions and Answers: PART6”

Post a Comment

Disclaimer

The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.