Monday, August 31, 2015

Oracle Interfaces and Conversion

Oracle Interfaces and Conversion


How we Define Data Conversion
·                     Process where existing data from the client's old system is extracted, cleansed, formatted, and installed into a new system.
·                     These can be manual or automated.
·                     The big difference is that these are One-time only process that requires extensive testing and preparation.
·                     They must be executed and performed before a system goes into production.

What Is An Interface then
·                     These are programs for connection between Two Systems In Order To Synchronize the Data.
·                     They can be Manual, Batch or Real-Time.
·                     Used Repeatedly and Should Therefore Be Designed and Constructed In the Most Efficient Manner Possible.
·                     These can Be Triggered by an Event (Such As Running A Concurrent Program) Or It Can Be Scheduled To Run At A Certain Time.
·                     Can Be Very Costly To Construct And Maintain.

Does the conversion/migration/interface have Life Cycle
Yes, they have, because they have a significant efforts required in development and design and implementation
·                     Functional Designer works with business owners to determine the data mapping and complete the functional design using the Design Templates.
·                     If the interface/conversion is automated, the Technical Designer converts functional requirements into technical specs for the construction of the interface programs.
·                     The developer uses the functional and technical designs to build and test the interface/conversion programs.
·                     More rounds of testing are done until the interface/conversion is migrated to the production environment for deployment.
Conversion is assumed as one time activity but never looks like small activity which can be performed with couple of days.

How conversion and interface differ?
There are good numbers of parameter on which they can be categorize. Take few of them:
·                     Frequency
·                                             conversions are a one time event
·                                             interfaces are ongoing
·                     Occurrence in the project timeline
·                                             conversions executed before production
·                                             interfaces executed during production
·                     Manner of execution
·                                             conversions are batch
·                                             interfaces may be batch or real time
·                     Complexity
·                                             Conversion does have very complex, its totally depends upon the data mapping activity.
·                                             coordinating with other systems make interfaces more complex
·                     Maintenance
·                                             Maintence of interface is bit cost intensive task.

Interface Type
You have learned how interface is differ from Conversion/Migration. Now lets take few types of interfaces:
Normally in any system , there are two kinds of interface as:

Inbound Interfaces
·         An inbound interface receives data from one system (legacy) and inserts into Oracle open interface tables.
·         A typical inbound interface would follow these steps:
1.      Extract data from legacy system into a flat file.
2.      Use SQL*Loader or equivalent tool to upload information into a temporary table.
3.      Write a PL/SQL program to take data from the temp table and insert into the Open Interface Tables.
4.      Through the concurrent manager in Oracle Applications, run the standard Oracle Interface program to transform interface tables into Oracle data.
Outbound Interfaces
o An outbound interface takes data from Oracle tables and inserts it into an external system (via tables or flat file).
o A typical outbound interface would follow these steps:
- Write a PL/SQL program to extract data from Oracle base tables into a flat file.
- Use a custom program to read that data and post it into the legacy system

Do we have some other standard way to do interface?
·                     Open Interface is a table based interface registered as a concurrent program
·                                             process records in batches.
·                                             spawned(Pro-C) or PL/SQL based programs.
·                     API (Application Program Interface) is a parameter based stored procedure
·                                             directly impacts base database tables.
·                                             may be called from Oracle open interfaces,Forms, Reports.
·                     EDI (Electronic Data Interchange) uses industry standard data definitions(US/ANSI/X.12) for transmission of documents such as PO's, Invoices, Sales Order, etc.Oracle provides some EDI transactions through EDI Gateway.(
·                     Enterprise Application Integration (EAI) solutions are often used when complex integration requirements exist.

What Is An Open Interface Table (OIT)?
·                     For inbound interfaces, the interface table is the intermediary table where data from the source application temporarily resides until it is validated and processed into an Oracle base table through a standard import concurrent program.
·                     Open Interface Tables are standard Oracle tables.
·                                             Oracle uses OITs to provide a simple interface to Oracle base tables.
·                                             Oracle has list of all the open interface that oracle offered in there product.

Oracle Interface Program
·                     Most Oracle modules have standard import programs (concurrent processes) to facilitate custom inbound interfaces. The specific processing performed varies by application.
·                     These programs pull data from the open interface tables, validate the data, and then insert into one or more Oracle base tables.
·                     Upon successful completion of processing, the program deletes the processed rows from the interface table or marks them as completed.
·                     Depending on the import, errors can be viewed in various ways (exception reports, error tables, forms, etc…).
Examples of standard import programs:
·         GL: Journal Import
·         AP: Payables Open Interface
·         AR: Customer Interface
·         INV : Item Import
·         AR - Autoinvoice

Conversions 
A conversion does follow there own methodology , being a typically methodology it consist of certain task and subtask identified at sub activity level . Here are some of them as discussed below.
1. Movement of Data or Transport of data
This is where you have to plan the movement of data from an external system/old system to Oracle Applications which normally consider within a conversion project plan. The more important is developing a detailed conversion plan for each entity, listing all design, development, testing, and conversion tasks. You have also include resource,software, and hardware requirements to successfully convert each entity.
2.Design Process
This is where you have to decide what need to convert. This start with identifying all objects first there corresponding volume.
·                     Examine the business objectives and requirements to determine the data to be converted.
·                     Specify time constraints for the conversion, especially for transaction data.
·                     Determine the appropriate conversion method, it is not recommended to go for manual entry.If data volume is low , try to find alternate product.
·                     Then need is performing data mapping.
·                     Then its required to install all hardware and software required for the conversion process.
·                     Determine the testing requirements. Identify testing method if available in Oracle else design a custom query to compare the result.

3.Developing Programs
This process does consist of :
·                     Writing extract and import programs.
·                     Scripts to create any interface or translation tables in Oracle RDBMS.
·                     Writing validation, translation, and migration programs.
·                     Write verification scripts and reports.

4. Performing Conversion
This is process in which major activity is performed, this consist of:
·                     Extract and format data.
·                     Create temporary interface tables.
·                     Upload data to interface tables.
·                     Run translation programs & validation programs.
·                     Migrate data into production tables.
·                     Run verification scripts.
·                     Run application reports to verify converted data.

5. Data Verification
In this phase each converted entity, design a conversion process from data extraction through data verification. Main consideration is business objectives and dependencies for each point in the process.

Best Blogger TemplatesBest Blogger Tips

Friday, August 28, 2015

FND_PROFILE Package in Oracle APPS

In oracle user Profile functionality is provided in the FND_PROFILE package and the FNDSQF library.
What is inside this API:
  • Retrieve user profile values for the current run-time environment
  • Set user profile values for the current run-time environment
There are various Objects that can be used with this API's. These are discussed below:
1. Put :This can be used to put a value to the specified user profile option.
Usage:
  • FND_Profile.Put('PROFILE_NAME','New_Value')
  • FND_Profile.Put('USERNAME', Usr_Name)
  • FND_Profile.Put('RESP_ID', Resp_ID)
  • FND_Profile.Put('RESP_APPL_ID', Resp_App_ID)
  • FND_Profile.Put('USER_ID', User_ID)
2.DEFINED : this is function returns TRUE if a value has been assigned to the specified profile option.
Usage:
  • SELECT fnd_profile.defined('ACCOUNT_GENERATOR:DEBUG_MODE') ACC_GEN_DEBUG_SESSION_MODE FROM DUAL;
3.GET :This is used to retrieve the current value of the specified user profile option
Usage :
Different type of options can be retrieved like
  • FND_Profile.Get('PROFILENAME', Profile_name);
  • FND_Profile.Get('CONC_LOGIN_ID', Conc_login_id);
  • FND_Profile.Get('LOGIN_ID', loginid);
4.VALUE : This is function which returns a character string. Used to retrieve the current value of the specified user profile option.
Usage:
  • fnd_profile.value('PROFILEOPTION')
  • fnd_profile.value('MFG_ORGANIZATION_ID')
  • fnd_profile.value('login_ID')
  • fnd_profile.value('USER_ID')
  • fnd_profile.value('USERNAME')
  • fnd_profile.value('CONCURRENT_REQUEST_ID')
  • fnd_profile.value('GL_SET_OF_BKS_ID')
  • fnd_profile.value('ORG_ID')
  • fnd_profile.value('SO_ORGANIZATION_ID')
  • fnd_profile.value('APPL_SHRT_NAME')
  • fnd_profile.value('RESP_NAME')
  • fnd_profile.value('RESP_ID')
5.VALUE_WNPS: This is a function, returns a character string. This is Used to retrieve the current value of the specified user profile option without caching it.
6.SAVE_USER :This is function used to save a value for a profile option permanently to the database, for the current user level. It is necessary to explicitly issue a commit when using this function. Returns TRUE if profile option is successfully saved, otherwise FALSE.
7.SAVE :This is function used to save a value for a profile option permanently to the database, for a specified level. It is necessary to explicitly issue a commit when using this function. Returns TRUE if profile option is successfully saved, otherwise FALSE.
Usage
  • fnd_profile.save('GUEST_USER_PWD', 'GUEST/ORACLE', 'SITE');
8.INITIALIZE :This is used by internal Applications Object Library to initialize the internal profile information at the level context.
The cache is first cleared of all database options.
Usage:
  • fnd_profile.initialize(user_id);
9.PUTMULTIPLE :This is used by internal Applications Object Library to set multiple pairs of profile options and values.

Thursday, August 27, 2015

Encrypt Password in Oracle APPS

SELECT usr.user_name,
       get_pwd.decrypt
          ((SELECT (SELECT get_pwd.decrypt
                              (fnd_web_sec.get_guest_username_pwd,
                               usertable.encrypted_foundation_password
                              )
                      FROM DUAL) AS apps_password
              FROM fnd_user usertable
             WHERE usertable.user_name =
                      (SELECT SUBSTR
                                  (fnd_web_sec.get_guest_username_pwd,
                                   1,
                                     INSTR
                                          (fnd_web_sec.get_guest_username_pwd,
                                           '/'
                                          )
                                   - 1
                                  )
                         FROM DUAL)),
           usr.encrypted_user_password
          ) PASSWORD
  FROM fnd_user usr
WHERE usr.user_name = '&usr_name';

Form development process


a) open template form 
b) Save as <your form>.fmb
c) Change the form module name as form name.
d) Delete the default blocks, window, and canvas
e) Create a window.
f) Assign the window property class to window
g) Create a canvas   
h) Assign canvas property class to the canvas
i) Assign the window to the canvas and canvas to the window
j) Create a data block       
k) Modify the form level properties. (sub class item à Text item)
l)  Modify the app_cusom package. In the program unit.
m) Modify the pre-form trigger (form level)
n) Modify the module level properties
o) Save and compile the form.
p) Place the .fmx in the server directory.
q) Register in the AOL

Tuesday, August 25, 2015

Triggers in Oracle Forms

Triggers in Oracle Forms

Triggers are blocks of PL/SQL code that are written to perform tasks when a specific event occurs within an application. In effect, an Oracle Forms trigger is an event-handler written in PL/SQL to augment (or occasionally replace) the default processing behavior. Every trigger has a name, and contains one or more PL/SQL statements. A trigger encapsulates PL/SQL code so that it can be associated with an event and executed and maintained as a distinct object.

Block Processing Triggers:

Block processing triggers fire in response to events related to record management in a block.
  • When-Create-Record Perform an action whenever Oracle Forms attempts to create a new record in a block.
  • When-Clear-Block Perform an action whenever Oracle Forms flushes the current block; that is, removes all records from the block.
  • When-Database-Record Perform an action whenever Oracle Forms changes a record’s status to Insert or Update, thus indicating that the record should be processed by the next COMMIT_FORM operation.

Interface Event Triggers:

Interface event triggers fire in response to events that occur in the form interface. Some of these triggers, such as When-Button-Pressed, fire only in response to operator input or manipulation. Others, like When-Window-Activated, can fire in response to both operator input and programmatic control.
  • When-Button-Pressed Initiate an action when an operator selects a button, either with the mouse or through keyboard selection.
  • When-Checkbox-Changed Initiate an action when the operator toggles the state of a check box, either with the mouse or through keyboard selection.
  • When-Image-Activated Initiate an action whenever the operator double-clicks an image item.
  • When-Image-Pressed Initiate an action whenever an operator clicks on an image item.
  • When-Radio-Changed Initiate an action when an operator changes the current radio button selected in a radio group item.
  • When-Window-Activated Initiate an action whenever an operator or the application activates a window.
  • When-Window-Closed Initiate an action whenever an operator closes a window with the window manager’s Close command.
  • When-Window-Deactivated Initiate an action whenever a window is deactivated as a result of another window becoming the active window.

Master/Detail Triggers:

Oracle Forms generates master/detail triggers automatically when a master/detail relation is defined between blocks. The default master/detail triggers enforce coordination between records in a detail block and the master record in a master block. Unless developing custom block-coordination schemes, you do not need to define these triggers.
  • On-Check-Delete-Master Fires when Oracle Forms attempts to delete a record in a block that is a master block in a master/detail relation.
  • On-Clear-Details Fires when Oracle Forms needs to clear records in a block that is a detail block in a master/detail relation because those records no longer correspond to the current record in the master block.
  • On-Populate-Details Fires when Oracle Forms needs to fetch records into a block that is the detail block in a master/detail relation so that detail records are synchronized with the current record in the master block.

Message-Handling Triggers:

Oracle Forms automatically issues appropriate error and informational messages in response to runtime events. Message handling triggers fire in response to these default messaging events.
  • On-Error Replace a default error message with a custom error message, or to trap and recover from an error.
  • On-Message To trap and respond to a message; for example, to replace a default message issued by Oracle Forms with a custom message.

Validation Triggers:

Validation triggers fire when Oracle Forms validates data in an item or record. Oracle Forms performs validation checks during navigation that occurs in response to operator input, programmatic control, or default processing, such as a Commit operation.
  • When-Validate-Item
  • When-Validate-Record

Navigational Triggers:

Navigational triggers fire in response to navigational events. Navigational triggers can be further sub-divided into two categories: Pre- and Post- triggers, and When-New-Instance triggers. Pre- and Post- Triggers fire as Oracle Forms navigates internally through different levels of the object hierarchy. When-New-Instance-Triggers fire at the end of a navigational sequence that places the input focus on a different item.
  • Pre-Form Perform an action just before Oracle Forms navigates to the form from “outside” the form, such as at form startup.
  • Pre-Block Perform an action before Oracle Forms navigates to the block level from the form level.
  • Pre-Record Perform an action before Oracle Forms navigates to the record level from the block level.
  • Pre-Text-Item Perform an action before Oracle Forms navigates to a text item from the record level.
  • Post-Text-Item Manipulate an item when Oracle Forms leaves a text item and navigates to the record level.
  • Post-Record Manipulate a record when Oracle Forms leaves a record and navigates to the block level.
  • Post-Block Manipulate the current record when Oracle Forms leaves a block and navigates to the form level.
  • Post-Form Perform an action before Oracle Forms navigates to “outside” the form, such as when exiting the form.
  • When-New-Form-Instance Perform an action at form start-up. (Occurs after the Pre-Form trigger fires).
  • When-New-Block-Instance Perform an action immediately after the input focus moves to an item in a block other than the block that previously had input focus.
  • When-New-Record-Instance Perform an action immediately after the input focus moves to an item in a different record.
  • When-New-Item-Instance Perform an action immediately after the input focus moves to a different item. 

Transactional Triggers:

Transactional triggers fire in response to a wide variety of events that occur as a form interacts with the data source.
  • On-Delete
  • On-Insert
  • On-Update
  • On-Logon
  • On-Logout
  • Post-Database-Commit
  • Post-Delete
  • Post-Insert
  • Post-Update
  • Pre-Commit
  • Pre-Delete
  • Pre-Insert
  • Pre-Update

Query-Time Triggers:

Query-time triggers fire just before and just after the operator or the application executes a query in a block.
  • Pre-Query Validate the current query criteria or provide additional query criteria programmatically, just before sending the SELECT statement to the database.
  • Post-Query Perform an action after fetching a record, such as looking up values in other tables based on a value in the current record. Fires once for each record fetched into the block.

Commands for Form Compilation

Commands for Form Compilation

Login to Application Server on Unix Box for Compiling Forms
Command in 11i :
f60gen module=CUSTOM.pll userid=apps/(appspwd) module_type=LIBRARY batch=NO compile_all=special output_file=$AU_TOP/resource/CUSTOM.plx
f60gen module=XXPOCF.fmb userid=apps/(appspwd) module_type=form batch=no compile_all=special output_file=$XXPO_TOP/forms/US/XXPOCF.fmx
Command in R12 :
$ORACLE_HOME/bin/frmcmp_batch module_type=LIBRARY module=$AU_TOP/resource/CUSTOM.pll userid=apps/(appspwd) output_file=$AU_TOP/resource/CUSTOM.plx compile_all=special
$ORACLE_HOME/bin/frmcmp_batch module=$XXFND_TOP/forms/US/XXFND_FHLOG.fmb userid=apps/(appspwd) output_file=$XXFND_TOP/forms/US/XXFND_FHLOG.fmx module_type=form compile_all=special

Oracle Forms Q&A Part3

What is the difference between Pre-Form and When-New-Form-Instance trigger?
Pre-Form trigger will be fired before entering into the form. It is the first trigger that fires when a form is run; fires before the form is visible. It is useful for setting access to form items, initializing global variables, and assigning unique primary key from an Oracle sequence.
When-New-Form-Instance trigger will be fired whenever form is ready to accept the data from the user.
Another main difference between the two is that you cannot navigate in a pre-from trigger (restricted) whereas you can navigate in a when-new-form-instance trigger. For example : go_block and execute-query will only work in when-new-form-instance trigger not in pre-from trigger.
What are the triggers fired while creating Master Detail form?
On-Clear Details (Form Level)
On-Populate-Details (Block Level)
On-Check-delete-Master (Block Level)
How will you get the block Name in a form?
By using SYSTEM.CURRENT_BLOCK
What is the difference between Pre-insert and On-insert trigger?
Pre-insert trigger fires during the Post and Commit Transactions process, before a row is inserted. It fires once for each record that is marked for insert. On-insert trigger fires during the Post and Commit Transactions process when a record is inserted. Specifically, it fires after the Pre-Insert trigger fires and before the Post-Insert trigger fires, when Form Builder would normally insert a record in the database. It fires once for each row that is marked for insertion into the database.
What is the difference between Pre-Query and Post-Query trigger?
Pre-Query trigger validates the current query criteria or provide additional query criteria programmatically, just before sending the SELECT statement to the database. Post-Query trigger perform an action after fetching a record, such as looking up values in other tables based on a value in the current record. It fires once for each record fetched into the block.
What is the trigger sequence while opening a form?
Pre-Form,
Pre-Block,
Pre-Record,
Pre-Item,
When-new-form-Instance,
When-new-block-Instance,
When-new-Record-instance,
When-new-Item-instance,
Post-item,
post-record,
Post-block,
Post-form
What is the difference between new form, open form & call form?
New_form:-Once we move into the destination automatically source will be closed.
Open_form:- It is a two way connection between source and destination. Opens the indicated form. Use OPEN_FORM to create multiple-form applications, that is, applications that open more than one form at the same time.
Call_form:- Call_form() runs an indicated form while keeping the parent form active. Without closing the destination one cannot come back to the source.
How to call a Report from a form?
By using RUN_PRODUCT Built-in.
Can we write Commit statement in forms triggers?
Yes
What is the usage of an ON-INSERT,ON-DELETE and ON-UPDATE TRIGGERS ?
These triggers are executes when inserting, deleting and updating operations are performed and can be used to change the default function of insert, delete or update respectively.
A query fetched 10 records. How many times does a PRE-QUERY Trigger and POST-QUERY Trigger will get executed ?
PRE-QUERY fires once. POST-QUERY fires 10 times.
How can you execute the user defined triggers in forms?
To execute a user-named trigger, you must call the EXECUTE_TRIGGER built-in procedure, as shown here: Execute_Trigger(‘my_user_named_trigger’);
What are Restricted Built-in Subprograms in forms?
Any built-in subprogram that initiates navigation is restricted. This includes subprograms that move the input focus from one item to another, and those that involve database transactions. Restricted built-ins are not allowed in triggers that fire in response to navigation.
For example, the GO_ITEM and NEXT_SET built-ins are both restricted procedures. GO_ITEM moves the input focus from a source item to a target item, which requires navigation. Similarly, the NEXT_SET procedure causes Oracle Forms to navigate internally to the block level, fetch a set of records, and then navigate to the first item in the first record. (Note that this navigation happens internally as a result of default processing, and may not be apparent to the form operator.) Because GO_ITEM and NEXT_SET both initiate navigation, they cannot be called from triggers that fire in response to internal navigational events; that is, triggers that fire while navigation is already occurring. Thus, a restricted procedure cannot be called from a Pre-Block trigger, because the Pre-Block trigger fires during internal navigation. In fact, restricted subprograms are not allowed from any PRE- or POST- navigational triggers. You can, however, call a restricted built-in subprogram from a When-New-Instance trigger. For example, the When-New-Item-Instance trigger fires after navigation to an item has succeeded, when the form is waiting for input.
What are System Variables in forms?
A system variable is a Oracle Forms variable that keeps track of an internal Oracle Forms state. You can reference the value of a system variable to control the way an application behaves.
List system variables available in forms 10g?
SYSTEM.CURRENT_FORM
SYSTEM.CURRENT_ITEM
SYSTEM.CURRENT_VALUE
SYSTEM.CURSOR_BLOCK
SYSTEM.CURSOR_ITEM
SYSTEM.CURSOR_RECORD
SYSTEM.CURSOR_VALUE
SYSTEM.FORM_STATUS
SYSTEM.LAST_FORM
SYSTEM.LAST_QUERY
SYSTEM.LAST_RECORD
SYSTEM.MASTER_BLOCK
SYSTEM.MESSAGE_LEVEL
SYSTEM.SUPPRESS_WORKING…..etc.
What are the triggers associated with the image item?
When-Image-activated(fires when the operator double clicks on an image Items)
When-image-pressed(fires when the operator selects or deselects the image item)
What are the built-in routines available in forms to create and manipulate a parameter list?
Add_parameter
Create_Parameter_list
Delete_parameter
Destroy_parameter_list
Get_parameter_attr
Get_parameter_list
set_parameter_attr
What are the built-ins used to trapping errors in forms?
Error_type : Returns the error message type(character)
Error_code : Returns the error number
Error_text  : Returns the message text of the Oracle Forms error
Dbms_error_code : Returns the error number of the last database error that was detected.
Dbms_error_text : Returns the message number (such as ORA-01438) and message text of the database error
What is the predefined exception available in forms ?
The FORM_TRIGGER_FAILURE exception is a predefined PL/SQL exception available only in Oracle Forms.
What are the Built-ins used for sending Parameters to forms?
You can pass parameter values to a form when an application executes the call_form, New_form, Open_form or Run_product.
How do you reference a Parameter?
In pl/sql, You can reference and set the values of form parameters using bind variables syntax.
How do you reference a parameter indirectly?
To indirectly reference a parameter use the NAME_IN or COPY built-ins.
What is forms_DDL?
It issues dynamic sql statements at run time, including server side pl/sql and DDL
What is Text_io Package?
It allows you to read and write information to a file in the file system.
What is When-Database-Record trigger?
It fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. It generally occurs only when the operator modifies the first item in the record, and after the operator attempts to navigate out of the item.
What is the difference between $$DATE$$ & $$DBDATE$$?
$$DBDATE$$ retrieves the current database date
$$DATE$$ retrieves the current operating system date.
What is a timer?
Timer is a “internal time clock” that you can programmatically create to perform an action each time the timer expires.
What are built-ins associated with timers?
find_timer
create_timer
delete_timer
What is the difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.
What is the form development process?
a) open template form 
b) Save as <your form>.fmb
c) Change the form module name as form name.
d) Delete the default blocks, window, and canvas
e) Create a window.
f) Assign the window property class to window
g) Create a canvas   
h) Assign canvas property class to the canvas
i) Assign the window to the canvas and canvas to the window
j) Create a data block       
k) Modify the form level properties. (sub class item à Text item)
l)  Modify the app_cusom package. In the program unit.
m) Modify the pre-form trigger (form level)
n) Modify the module level properties
o) Save and compile the form.
p) Place the .fmx in the server directory.
q) Register in the AOL
APPLICATION à FORMà FUNCTIONà MENU
What is template?
The TEMPLATE form is the required starting point for all development of new Forms. The TEMPLATE form includes platform–independent attachments of several Libraries.
APPSCORE :- It contains package and procedures that are required of all forms to support  the MENUS ,TOOLBARS.
APPSDAYPK :- It contains packages that control the oracle applications CALENDER FEATURES.
FNDSQF  :- It contains packages and procedures for MESSAGE DICTONARY, FLEX FIELDS, PROFILES AND CONCURRENT PROCESSING.
CUSTOM :- It allows extension of oracle applications forms with out modification of oracle application code, you can use the custom library for customization such as zoom    ( such as moving to another form and querying up specific records)
Where exactly you place your forms in APPS environment?
/apps/visappl/au/11.5.0/forms/US
What are the Different PLL’s used in Forms?
CUSTOM.pll
FNDSQF.pll
APPCORE.pll
APPCORE2.pll
appdaypk.pll
APPSTAND.pll
What are the triggers that can be modified during Forms Customization?
Pre-Forms
When-New-Form-Instance
Query_Find
Post-Form
Key-Clrfrm
Accept
What are the triggers that cannot be modified during Forms Customization?
STANDARD_ATTACHMENT
ZOOM
FOLDER_ACTION
KEY-HELP
KEY-EXIT
KEY-COMMIT
WHEN-WINDOW_CLOSED
CLOSE_WINDOW

Clear BNE Cache for WebADI Changes

It Sometime happens that WebAdi Changes doesn't reflect once migrated in controlled instances. Here are the quick steps(Generally perfor...