Sunday, May 10, 2009

ORACLE INFORMATION


1. What is Mutating? How will you resolve it?

"Mutating" means "changing". A mutating table is a table that is currently being modified by an update, delete, or insert statement. When a trigger tries to reference a table that is in state of flux (being changed), it is considered "mutating" and raises an error since Oracle should not return data that has not yet reached its final state.

Avoiding the mutating table error is fairly easy. We must defer processing against the mutating or constrainng table until an AFTER trigger. We will consider two cases:

  • Hitting the ORA-4091 in an INSERT trigger or an UPDATE trigger where you only need access to the :new values
  • Hitting the ORA-4091 in a DELETE trigger or an UPDATE trigger where you need to access the :old values

  1. What is PL/SQL table and its syntax? What is Index by Binary Integer?

An associative array (or INDEX-BY table) that can be indexed by NUMBER or VARCHAR2. Elements are retrieved using number or string subscript values. Unlike with data tables, PL/SQL tables are stored in memory. PL/SQL Tables are sparse and elements are unordered.

First I can declare a type as a collection type as follows:-

            create or replace type jpl_row as object(
                        id                      number, 
                        description          varchar2(40)
            );
            /
            
            create or replace type jpl_array as table of jpl_row;
            /

So I have a type which is an array of objects. I can now populate a variable of this type with code of the following form:

            declare
                        my_table            jpl_array:= jpl_array();
            begin
                        my_table := jpl_array(
                                     jpl_row(3,'Desc 3'),
                                     jpl_row(1,'Desc 1'),
                                     jpl_row(2,'Desc 2')
                        );          
            end;
            /

  1. What are the Mandatory Parameters in PL/SQL Procedure in Apps. What is the use of it?

Mandatory Parameters are “Errorbuf” and “Retcode”.

Errorbuf for Generating the error message of the concurrent program.

Retcode for Generating the status of the concurrent program.

0 – Success 1 – Warning 2 – Error

  1. How do you develop new form in Apps?

1. Open Template.fmb and Appstand.fmb

2. Remove the Default datablock, Canvas and Window

3. Create New Window and Canvas

4. Set Window’s Primary Canvas as New Canvas

5. Set Canvas Window Property as New Window

6. Create New Datablock

7. Modify the code in PRE-FORM (change the template.fmb file name in header) and WHEN-NEW-FORM-INSTANCE triggers (change the as New Window)

8. Apply the “SUBCLASS” Property for all the objects Module, Window, Canvas and all the data block objects

  1. What are all triggers fire when we Commit, Query and Update a record?

Commit - ON SAVE

Query -

Update -

  1. What are the statuses of record level in forms?

Forms statuses

1. from QUERY to CHANGED

2. from NEW to INSERT

  1. What are all PLLs we attach in a form and what is APPDAYPK library?

1. APPCORE.pll

2. APPCORE2.pll

3. APPDAYPK.pll

4. APPFLDR.pll

5. FNDSQF.pll

6. GLOBAL.pll

  1. How do you display message in forms?

Two Types:

First Method:

    1. Difine Message in Application
    2. Set Message (FND_MESSAGE.SET_MESSAGE)
    3. Show Message (FND_MESSAGE.SHOW)

Second Method:

1. Display Message Direct form the form

FND_MESSAGE.SET_STRING(‘Message’)

FND_MESSAGE.SHOW

  1. When we select a query what exceptions we raise?

NO-DATA-FOUND, TOO-MANY-ROWS

  1. How do you pass data from one form to another form?

Through Parameters we will pass data from one form to another form

  1. What is the difference between Open_Form and Call_Form?

OPEN FORM:

To programmatically open another form, execute the OPEN_FORM built-in procedure:

OPEN_FORM('stocks');

By default, Form Builder immediately activates the opened form and sets focus in the form's first navigable item. To explicitly specify this default behavior, include the optional ACTIVATE parameter:

OPEN_FORM('stocks', activate);

When you open a form with ACTIVATE specified, Form Builder ignores (and never executes) any trigger statements that follow the call to OPEN_FORM.

If you do not want Form Builder to place focus in the opened form, include the NO_ACTIVATE parameter:

OPEN_FORM('stocks', no_activate);

When you open a form with NO_ACTIVATE specified, Form Builder executes any trigger statements that follow the call to OPEN_FORM after the opened form has been loaded into memory and its initial start-up triggers (if any) have been fired.

CALL FORM:

Runs an indicated form while keeping the parent form active. Form Builder runs the called form with the same Runform preferences as the parent form. When the called form is exited Form Builder processing resumes in the calling form at the point from which you initiated the call to CALL_FORM.

Syntax

PROCEDURE CALL_FORM

(formmodule_name VARCHAR2,

display NUMBER,

switch_menu NUMBER,

query_mode NUMBER,

data_mode NUMBER,

paramlist_name VARCHAR2);

  1. What is the difference between Database block and Control block?

Database Block represents the fields map to database.

Control Block represents the fields like Buttons etc.


  1. How do you setup Set of Books in GL?

1. Creating the Value Sets for the Segments

2. Creating the Structure for KFF (Accounting Flexfiled)

3. Entering Values for Value Sets

4. Defining Period Type

5. Define Accounting Calendar

6. Define Currency

7. Define SOB using (Chart of Accounts, Accounting Calendar and Currency)

  1. After giving update statement how do you know that how many records are updated?

SQL%ROWCOUNT

  1. What is Multi-Org and its structure?

Business Unit ->

Legal Entity ->

SOB ->

Item Master Organization ->

Operating Unit->

Inventory Organizations ->

Sub Inventory ->

Locator ->

Row, Rack, Bin etc.

  1. What are user-exits and where do we use it in reports?

SRWINIT

SRWEXIT

FORMAT_CURRENCY

  1. What is mandatory parameter in reports? Do we need to register this parameter in Apps?

P_CONC_REQUEST_ID, Registration is not required in Apps

  1. How do you pass parameters in Apps?

In the concurrent program we need to register the parameters.

  1. How do you display message in Reports and where it will display?

SRW.MESSAGE(Number, ‘Message’)

The message will display in Log file

No comments:

View My Stats