July 7, 2013

Interview Q&A -5: Form Personalization & Customization

bishnupc / /
Q. Have you heard about Zoom function in Oracle Apps Forms?
Yes. It is CUSTOM.ZOOM_AVAILABLE function

Q. What is the use?
Generally the function CUSTOM.ZOOM_AVAILABLE was used for navigation from a block to another and it by default returns BOOLEAN value; False. It was used in earlier time in Oracle Apps. Now we are using Open_Form, Call_Form etc.
Ex: If Zoom is available for this block, then return TRUE; otherwise FALSE.Always test for the form and block name. Refer to the SYSTEM variables for form name and block name in your code and branch accordingly. The module name of your form must match the form file name.

By default this routine must return FALSE.
The following example enables Zooms in the following places:
Form: FNDSCAUS, Block USER and
Form: FNDCPMCP, Block PROCESS

FUNCTION zoom_available RETURN BOOLEAN IS
form_name  VARCHAR2(30)  := NAME_IN(‘system.current_form’);
block_name VARCHAR2(30)  := NAME_IN(‘system.cursor_block’);
BEGIN
IF (form_name = ’FNDSCAUS’ AND block_name = ’USER’) OR
       (form_name = ’FNDCPMCP’ AND block_name = ’PROCESS’)
THEN
    RETURN TRUE;
ELSE
    RETURN FALSE;
END IF;
                    END zoom_available;

Q. What is the sequence of Trigger firing in Form?
                     a) Pre-Form
b) Pre-Block
c) Pre-Record
d) Pre-Text-Item

e) When-New-Form-Instance
f) When-New-Block-Instance
g) When-New-Record-Instance
                     h) When-New-Item-Instance
i) Post-Text-Item
j) Post-Record
k) Post-Block

l) Post-Form

Q. What is the process of Form registration in Oracle Apps?

  • Send the file through FTP in binary mode to …/forms/US
  • Generate *.fmx by running the fmx script
  • f60gen module=<FORMNAME.fmb> userid=APPS/adm1n output_file=<FORMNAME.fmx> module_type=form batch=no compile_all=special

Q. What is the default directory of Forms in Oracle Apps?
Application top(autop)/forms/US

Q. How can we disable a form from the menu?
System Administrator (Responsibility) > Security > Responsibility -> Define (at Menu) > Find Responsibility Name & The Menu attached to it >  Exclusion > Exclude the Function of the Form

Q. How can you call DFF from Form?
By using a procedure called fnd_descr_flex.define
Ex: FND_DESCR_FLEX.DEFINE(BLOCK=>’ORDER_DETAIL’,  FIELD=>’DESCFF’,
                                                 APPL_SHORT_NAME=>’FND’,
                                                 DESC_FLEX_NAME=>’MYDESC’)

In Brief,
We need to follow the following steps in your form:
a) Create a displayed field to hold your concatenated segment values (the [ ] field).
b) Create fields (normally hidden) for each of the flexfield columns in your table (the
      one used for your flex).
c) In the form-level WHEN-NEW-FORM-INSTANCE,
call FND_DESCR_FLEX.DEFINE,
setting BLOCK parameter to the name of the block containing your [ ] field,
the FIELD parameter to the name of your [ ] field,
the APPL_SHORT_NAME parameter to the short name of your application and the DESC_FLEX_NAME parameter to the name of your descriptive flex.

In the form-level WHEN-NEW-ITEM-INSTANCE,
WHEN-VALIDATE-ITEM,
PRE-INSERT,
PRE-UPDATE,
POST-QUERY and
PRE-QUERY triggers place a call to FND_FLEX.EVENT as follows:
         FND_FLEX.EVENT ( 'TRIGGER_NAME');
where TRIGGER_NAME is the name of the trigger,
e.g. in the PRE-QUERY trigger .... FND_FLEX.EVENT('PRE-QUERY');


Copyright © . Oracle Apps (SCM) . All Rights Reserved
Oracle Apps (SCM) is an online knowledge sharing blog which index online free tutorials, blogs and other sources, to get easier and accessible manner. The blog has been created keeping only one intention of sharing knowledge and for learning purpose. All trademarks, trade names, service marks, copyrighted work, logos referenced herein belong to their respective owners/companies. If any of the posting is violating copyright and you want us to remove that content. Please contact Here