Friday, 5 April 2013

ORACLE PL/SQL AND ORACLE APPS INTERVIEW QUESTIONS


       
1. Difference b/w procedure and function?  A procedure may return (one or more values using OUT & INOUT Parameters) or may not return a value. But a function has to return a single value and has the return clause in its definition. Function can be called in select statements but procedure can only be called in a pl/sql block.  Procedure's parameters can have IN or OUT or INOUT parameters. But function's parameters can only have IN parameters.
2. Difference b/w ROWID and ROWNUM? ROWID : It gives the hexadecimal string representing the address of a row.It gives the location in database where row is physically stored. ROWNUM: It gives a sequence number in which rows are retrieved from the database.
3. Give some examples of pseudo columns? NEXTVAL, CURRVAL, LEVEL, SYSDATE
4. Difference b/w implicit cursor and explicit cursor? Implicit cursors areautomatically created by oracle for all its DML stmts. Examples of implicit cursors: SQL%FOUND, SQL%NOTFOUND, SQL%ROWCOUNT, SQL%ISOPEN; Explicit cursors are created by the users for multi row select stmts.
5.  How to create a table in a procedure or function? See the below piece of code:  Since create stmt can be used only at the sql prompt, we have used dynamic sql to create a table.            
DECLARE
                    L_STMT VARCHAR2(100);
BEGIN
                    DBMS_OUTPUT.PUT_LINE('STARTING ');
                    L_STMT := 'create table dummy1 (X VARCHAR2(10) , Y NUMBER)';
                    EXECUTE IMMEDIATE L_STMT;
                    DBMS_OUTPUT.PUT_LINE('end ');
END;
The above piece of code can be written In procedure and function DDL's can be used in function provided that function should be invoked in Begin-End block not from Select statement.

6.            Explain the usage of WHERE CURRENT OF clause in cursors ? Look at the following pl/sql code:
DECLARE
                   CURSOR wip_cur IS
                   SELECT acct_no, enter_date
                   FROM wip
WHERE enter_date < SYSDATE -7
FOR UPDATE;
BEGIN
FOR wip_rec IN wip_cur
LOOP
                   INSERT INTO acct_log (acct_no, order_date)
                   VALUES (wip_rec.acct_no, wip_rec.enter_date);

                   DELETE FROM wip
WHERE CURRENT OF wip_cur;
          END LOOP;
END;
"WHERE CURRENT OF" has to be used in concurrence with "FOR UPDATE"  in the cursor select stmt.
"WHERE CURRENT OF" used in delete or update stmts means, delete/update the current record specified by the cursor.
By using WHERE CURRENT OF, you do not have to repeat the WHERE clause in the SELECT statement.

7.            What is the purpose of FORUPDATE? Selecting in FOR UPDATE mode locks the result set of rows in update mode, which means that row cannot be updated or deleted until a commit or rollback is issued which will release the row(s). If you plan on updating or deleting records that have been referenced by a Select For Update statement, you can use the Where Current Of statement.                                                                                                
8.            What is RAISE_APPLICATION_ERROR? The RAISE_APPLICATION_ERROR is a procedure defined by Oracle that allows the developer to raise an exception and associate an error number and message with the procedure other than just Oracle errors. Raising an Application Error With raise_application_error
9.             
DECLARE
   num_tables NUMBER;
BEGIN
   SELECT COUNT(*) INTO num_tables FROM USER_TABLES;
   IF num_tables < 1000 THEN
      /* Issue your own error code (ORA-20101) with your own error message.
         Note that you do not need to qualify raise_application_error with
         DBMS_STANDARD */
      raise_application_error(-20101, 'Expecting at least 1000 tables');
   ELSE
      NULL; -- Do the rest of the processing (for the non-error case).
   END IF;
END;
/
The procedure RAISE_APPLICATION_ERROR lets you issue user-defined ORA- error messages from stored subprograms. That way, you can report errors to your application and
avoid returning unhandled exceptions.
9.            What is mutating error? Mutating error occurs in the following scenario:
WHEN WE ARE UPDATING A TABLE (TRIGGER WRITTEN ON A TABLE FOR UPDATE) AND AT THE SAME TIME TRYING TO RETRIEVE DATA FROM THAT TABLE. IT WILL RESULT INTO MUTATING TABLE AND IT WILL RESULT INTO MUTATING ERROR. 

10.         Can we have commit/rollback in DB triggers? Having Commit / Rollback inside a trigger defeats the standard of whole transaction's commit / rollback all together. Once trigger execution is complete then only a transaction can be said as complete and then only commit should take place. If we still want to carry out some action which should be initiated from trigger but should be committed irrespective of trigger completion / failure we can have AUTONOMUS TRANSACTION. Inside Autonomous transaction block we can have Commit and it will act as actual commit.                                                                                                 
11.         Can we make the trigger an autonomous transaction? This makes all the difference because within the autonomous transaction (the trigger), Oracle will view the triggering table as it was before any changes occurred—that is to say that any changes are uncommitted and the autonomous transaction doesn’t see them. So the potential confusion Oracle normally experiences in a mutating table conflict doesn’t exist.
12.         What is autonomous transaction? Autonomous transaction means a transaction that is embedded in some other transaction, but functions independently.
13.         What is a REF Cursor? The REF CURSOR is a data type in the Oracle PL/SQL language. It represents a cursor or a result set in Oracle Database.
14.         What is the difference between ref cursors and normal pl/sql cursors?
   Declare
          type rc is ref cursor;
          cursor c is
          select * from dual;
          l_cursor rc;
       begin
          if ( to_char(sysdate,'dd') = 30 ) then
                   open l_cursor
                             for select * from emp;
          elsif ( to_char(sysdate,'dd') = 29 ) then
                   open l_cursor
                             for select * from dept;
          else
                   open l_cursor
                             for select * from dual;
          end if;
          open c;
      end;                                                                                                                    
Given that block of code you see perhaps the most "salient" difference, no matter how many times you run that block The cursor C will always be select * from dual.  The ref cursor can be anything.

15.         Is Truncate a DDL or DML statement? And why? Truncate is a DDL statement. Check the LAST_DDL_TIME on USER_OBJECTS after truncating your table. TRUNCATE will automatically commit, and it's not rollback able. This changes the storage definition of the object. That's why it is a DDL.
16.         What are the actions you have to perform when you drop a packageIf you rename a package, the other packages that use it will have to be MODIFIED. A simple compilation of the new renamed package won't do. If you have toad, go to the "used by" tab that will show you the packages that call the package being renamed.
17.         What is cascading triggers? When a trigger fires, a SQL statement within its trigger action potentially can fire other triggers, resulting in cascading triggers.
18.         What are materialized views? A materialized view is a database object that stores the results of a query (possibly from a remote database). Materialized views are sometimes referred to as snapshots.
19.  Example
If the materialized view will access remote database objects, we need to start by creating a database link to the remote DB:

CREATE DATABASE LINK remotedb
CONNECT TO scott IDENTIFIED BY tiger
USING 'orcl';

Now we can create the materialized view to pull in data (in this example, across the database link):

CREATE MATERIALIZED VIEW items_summary_mv
 ON PREBUILT TABLE
 REFRESH FORCE  AS
 SELECT  a.PRD_ID, a.SITE_ID, a.TYPE_CODE, a.CATEG_ID,
        sum(a.GMS)       GMS,
        sum(a.NET_REV)   NET_REV,
        sum(a.BOLD_FEE)  BOLD_FEE,
        sum(a.BIN_PRICE) BIN_PRICE,
        sum(a.GLRY_FEE)  GLRY_FEE,
        sum(a.QTY_SOLD)  QTY_SOLD,
        count(a.ITEM_ID) UNITS
FROM  items@remotedb a
GROUP BY  a.PRD_ID, a.SITE_ID, a.TYPE_CODE, a.CATEG_ID;

Materialized view logs:
Materialized view logs are used to track changes (insert, update and delete) to a table. Remote materialized views can use the log to speed-up data replication by only transferring changed records.
Example:
CREATE MATERIALIZED VIEW LOG ON items;
20.         Commonly occurring Errors in Reports?
Some of the errors are defined below
1. There Exists uncompiled unit: When the report is not compiled before loading in the Oracle Applications.
2. Report File not found: When the rdf is not uploaded in proper directory
3. Width or margin is zero: When the repeating frame is not within proper frames
4. Not in proper group: When the repeating frame is not referred to proper group
21.         What is the difference between Compile and Incremental Compile in oracle reports?
In Full compile all the PL/SQL within the reports are compiled but in incremental compile only the changed PL/SQL units are compiled.
When compiling the report for the first time, we should do the full compilation and not the Incremental compile.

22.         How to compile Procedures and Packages?
ALTER <proc/package> <name>COMPILE;

1)    What is ERP? A packaged business software system that lets a company automate and integrate the majority of its business processes; share common data and practices across the enterprise; [and] produce and access information in a real-time environment.


2)    Tell me some thing about SQL-LOADER? Sql * loader is a bulk loader utility used for moving data from external files into the oracle database.
Sql * loader supports various load formats, selective loading, and multi-tables loads.

Conventional: The conventional path loader essentially loads the data by using standard ‘insert’ statement.
Direct: The direct path loader (direct = true) by possess of logic involved with that, and loads directly in to the oracle data files.
EX:-
My data.csv file
                 1001, “scott tiger”,1000,40
                 1002,”oracleapps4u”,2345,50
Load data
Infile ‘c:\data\mydata.csv’
Into table emp
Fields terminated by “,” optionally enclosed by ‘”’
(empno, empname,sal,deptno)
>sqlldr scott/tiger@vis
control=loader.ctl  log= gvlog.log  bad=gvbad.bad  discard=gvdis.dsc .

3)    How to dump data from pl/sql block to flat files? Using utl_file package, we can dump data from pl/sql block to flat file.
PRE-REQUIREMENTS for UTL_FILE is specify the accessible directories for theUTL_FILE function in the initialization file (INIT.ORA) Using the UTL_FILE_DIR parameters.
       Ex: UTL_FILE_DIR = <Directory name>

EX:- remember to update INITSID.ORA, utl_file_dir = ‘c:\oradata’
Declare
Fp utl_file.file_type;
Begin
Fp := utl_file.fopen(c:\oradata’,tab1.txt’,’w’);
Utl_file.putf(fp,’%s %s \n ‘text field’, 55);
Utl_file.fclose(fp);
End;
4)    What is SET-OF-BOOKS? Collection of Chat of Accounts and Currency andCalendars is called SOB

5)    What is the interface Table? Interface Table is a table which is used as medium for transfer of data between two systems.

6)    What is invoice?  A request sent for payment

7)    What is INBOUND and OUT BOUND? (Different types of interfaces)
Inbound Interface:
For inbound interfaces, where these products are the destination, interface tables as well as supporting validation, processing, and maintenance programs are provided.
      Outbound Interface:
For outbound interfaces, where these products are the source, database views are provided and the destination application should provide the validation, processing, and maintenance programs.

8)    What are the Base tables in the AR? Check the following blog post for AR base tables: http://oracleapps4u.blogspot.com/2011/07/oracle-apps-account-receivable-tables.html 

9)    What are the interface tables of the customer conversion? Check the following blog post for interface tables in customer conversion:http://oracleapps4u.blogspot.com/2011/07/interfaces-and-conversions-in-oracle.html

10)  What is the procedure to develop an interface?           
·         First we will get the Requirement document.
·         We will create control file based on that plot file.
·         Then the control files which loads the data into staging tables.
·         Through pl/sql programs we will mapping and validate the data and then dump into the interface tables.
·         Through the standard programs we will push the data from interface tables to Base tables.
11)  What are the validations in customer interface?
·         customer name : The same customer reference can’t have different customer names          with in this table HZ_PARTIES.PARTY_NAME
·         customer numbermust be null if your r using automatic customer numbering, must exit if you are not using automatic customer numbering. This value much be unique with in HZ_PARTIES
·         customer status : must be ‘A’ for active or ‘I’ for inactive
                                                HZ_PARTIES_STATUS
·         bank account num or bank account currency code :
                             if the bank a/c already exist do not enter a value
                             if the bank a/c does not exist  you must enter a value
·         bank a/c name : it must exist in AP_BANK_ACCOUNTS or if it does not exist values must exist for BANK_A/C_CURRENCY_CODE
                                                                        BANK_A/C_NUM
                                                                        BANK_NAME
                                                                        BANK_BRANCH_NAME
                             Note : every interface table has two error msg
1)   Error code.
2)   Error msg.
12) How to submit a concurrent program from sql or pl/sql code?
              FND_REQUEST.SUBMIT_REQUEST (‘PO’,’EXECUTABLE NAME’,,,, PARAMETERS)
13)  List out some APIs?
FND_FILE.PUTLINE(FND_FILE.LOG)
FND_FILE.PUTLINE(FND_FILE.OUTPUT)
14) What are profile options?
It is some set of options based on which the Functional and Technical behavior of Oracle Applications depends.
             
EX: - I want to assign the user3 responsibility to p4 printer then
                         System Administrator > Profile Ã System
                                    (FND_PROFILE_OPTIONS) 
    15) What are the User PARAMETERS in the Reports?
·         P_CONC_REQUEST_ID
·         P_FLEX_VALUE
    16)  What are FND USER EXITS in oracle reports?
                   
Check the following blog post for user exits in oracle reports:
    17)  What are the two parameters that are mandatory for pl/sql type concurrent prog?       
          Procedure/Function (ERRBUF OUT, RETCODE OUT…)
    ERRBUF:    Used to write the error message to log or request file.
    RETCODE:  Populate log request file with program submission details info.
    18) What are different validation types in value sets?
1) None ------validation is minimal.
2) Independent  ------ input must exist on previously defined list of values
3) Dependent------ input is checked against a subset of values based on a
prior value.
3) Table ----- input is checked against values in an application table
4) Special ------values set uses a flex field itself.
5) Pair ------ two flex fields together specify a range of valid values.
6) Translatable independent ----- input must exist on previously defined list
Of values; translated values can be used.
7) Translatable dependent  ------ input is checked against a subset of values
Based on a prior values; translated value can be used. 
19) What is the sequence of execution of different clause in a select statement?                                                      Check out the following blog post for detailed explanation: http://oracleapps4u.blogspot.com/2011/08/sequence-of-sql-statement-processed.html
20)  Form development process?
1.      open template form
2.      Save as <your form>.fmb
3.      Change the form module name as form name.
4.      Delete the default blocks, window, and canvas
5.      Create a window.
6.      Assign the window property class to window
7.      Create a canvas   (subclass info)
8.      Assign canvas property class to the canvas
9.      assign the window to the canvas and canvas to the window
10.  Create a data block       
11.  Modify the form level properties. (sub class item Ã  Text item)
12.  Modify the app_custom package in the program unit.
13.  Modify the pre-form trigger (form level)
14.  Modify the module level properties ((console window, First navigation
15.  Save and compile the form.
16.  Place the .fmx in the server directory.
17.  Register in the AOL
                                    APPLICATION -> FORM
                                    APPLICATION -> FUNCTION
                                    APPLICATION -> MENU
21)  How to customize the Reports?
·         Identify the Short name of the report and the module in which we have to place the customization
§         Ex: - if you want to customize in the AR module, path is
Appl top\ar\11.5.0\reports\US\ .rdf
·         FTP back the file to the local system in Binary mode
·         Open the .rdf file in Report builder and change the name of the module.
·         Open the data model and Layout mode, perform all the required changes.
·         Go to report wizard and select the newly created columns.
·         Compile it. Save it.
·         Then Register in the AOL          Concurrent > executable.
Concurrent > program.
·         Go to system administrator Security > Responsibility > request
·         Add and assign a concurrent program to a request group

22)  List some report names in oracle apps?
1)   OPEN-DEBIT MEMO REPORT?
This report shows all the open-debit memo transactions, based oncustomer number and dates.
                   Columns: type, customer_no, trx_no, amt_due, remaining.
                        Parameter: type, customer, from_date, to_date.
2)   GENERATING POSITIVE PAY FILE FOR BANK REPORT?
Basically this report generates a flat file of all the payments in order to send in to the bank.
3)   UPDATE POSITIVE PAY CHECKS REPORT?
This report which updates the data into the (AP) account payables system from the plot file, the file which is sent by bank
4)   UPDATE POSITIVEPAY OUT STANDING CHECKS?
This report which shows the out standing checks  
5)   CUSTOMER PAYMENT DETAILS REPORT?
This report shows each customer original amount, amount pay and due amount based on transaction type (books, pens)

Transaction types in AR
Credit memo transaction types
Invoice, debit memo, and charge back transaction types
Commitment transaction types

23)  HOW DO YOU RECTIFY THE ERRORS IN INTERFACE TABLES?
Depending on the naming convention used, errors appear in either alphabetical order or by error code number.

24) What are ‘WHO’ Columns in oracle apps tables?
        1) Created by
        2) Creation date
        3) Last _updated by
        4) last_update_date
        5) last_update_value
25) What are FLEX FIELDS?
            Flexfields are used to capture the additional business information.
                DFF
                    KFF
Additional
Unique Info, Mandatory
Captured in attribute prefixed columns
Segment prefixed
Not reported on standard reports
Is reported on standard reports
To provide expansion space on your form With the help of []. [] Represents descriptive Flex field.

FLEX FILED : DESCRIPTIVE : REGIGSTER
Used for entering and displaying key information
For example Oracle General uses a key Flex field called Accounting Flex field to
Uniquely identifies a general account.
FLEX FILED : KEY : REGIGSTER
  
Oracle Applications KEY FLEX FIELDS
1) GL: ACCOUNTING
2) AR: SALES TAX LOCATION, TERRITORY,
3) AP: BANK DETAILS, COST ALLOCATION, PEOPLE GROUP
Oracle Applications DESCRIPTIVE FLEX FIELDS (Partial)
1) GL: daily rates
2) AR: credit history, information
     3) PA: bank branch, payment terms, site address,  
26)  What are different concurrent requests?
 a) Single request:    this allows you to submit an individual request.
 b) Request set:       this allows you to submit a pre-defined set of requests.
27)  What are the activities in Sys Admin Module?
            a) Define Custom Users, b) Define Login Users, c) Register oracle DB users,
            d) Define Concurrent Programs, e) Register Concurrent Executable, 
            f) Setting Profile Option Values, g) Define Request Types.
28) What activities can be performed in AOL?
            a) Registering tables. b) Registering views c) Registering db sequences
            d) Registering profile options e) Registering lookups and lookup codes
            f)
 Registering forms g) Registering Form and Non-Form functions 
            i)
 Registering menus and sub-menus j) Registering DFF and KFF k) Libraries 
29) What are the type Models in the system parameters of the report?
     1) Bit map
       2) Character mode
30) What is SRW Package?(Sql Report Writer): The Report builder Built in package know as SRW Package This package extends reports ,Control report execution, output message at runtime, Initialize layout fields, Perform  DDL statements  used to create or Drop  temporary table,  Call User Exist, to format width of the columns, to page break the column, to set the colors


Ex:
 SRW.DO_SQL, It’s like DDL command, we can create table, views , etc.,
          SRW.SET_FIELD_NUM
SRW. SET_FILED_CHAR
          SRW. SET FILED _DATE
         
Check the blog post for more details on SRW Package:http://oracleapps4u.blogspot.com/search/label/SRW%20Package

   31)  Difference between Bind and Lexical parameters?
BIND VARIABLE:
-- are used to replace a single value in sql, pl/sql
-- Bind variable may be used to replace expressions in select, where, group, order
    by, having, connect by, start with cause of queries.
-- Bind reference may not be referenced in FROM clause (or) in place of
    reserved words or clauses.
LEXICAL REFERENCE:
-- You can use lexical reference to replace the clauses appearing AFTER select,
    from, group by, having, connect by, start with.
-- You can’t make lexical reference in a pl/sql statement.

32)  Matrix Report: Simple, Group above, Nested              
Simple Matrix Report : 4 groups
                            1. Cross Product Group
                            2. Row and Column Group
                            3. Cell Group
                            4. Cell column is the source of a cross product summary that
                           Becomes the cell content.
Frames:
1. Repeating frame for rows (down direction)
                    2. Repeating frame for columns (Across)
                    3. Matrix object the intersection of the two repeating frames

33)  What is Flex mode and Confine mode?                                                       
Confine mode:
On:  child objects cannot be moved outside their enclosing parent objects.
          Off:  child objects can be moved outside their enclosing parent objects.
Flex mode:
          On:  parent borders "stretch" when child objects are moved against them.
          Off:  parent borders remain fixed when child objects are moved against them.

34) What is Place holder Column?                                                  
A placeholder is a column is an empty container at design time. The placeholder can hold a value at run time has been calculated and placed in to It by pl/sql code from anther object. You can set the value of a placeholder column is in a Before Report trigger. Store a Temporary value for future reference. EX. Store the current max salary as records are retrieved.

35) What is Formula Column? A formula column performs a user-defined computation on another column(s) data, including placeholder columns.

36)  What is a Summary column?              
A summary column performs a computation on another column's data.  Using the Report Wizard or Data Wizard, you can create the following summaries:  sum, average, count, minimum, maximum, % total.  You can also create a summary column manually in the Data Model view, and use the Property Palette to create the following additional summaries:  first, last, standard deviation, variance.

37)  What is cursor?
A Cursor is a pointer, which works on active set, I.e. which points to only one row at a time in the context area’s ACTIVE SET. A cursor is a construct of pl/sql, used to process multiple rows using a pl/sql block.

38) Types of cursors?
1) Implicit: Declared for all DML and pl/sql statements. By default it selects one row only.
2) Explicit: Declared and named by the developer. Use explicit cursor to individually process each row returned by a multiple statements, is called ACTIVE SET.
Allows the programmer to manually control explicit cursor in the pl/sql block
·         Declare: create a named sql area
·         Open: identify the active set.
·         Fetch: load the current row in to variables.
·         Close: release the active set.

CURSOR ATTRIBUTES:
·         %is open: evaluates to true if the cursor is open.
·         %not found: evaluates to true if the most recent fetch does not return a row
·         %found: evaluates to true if the most recent fetch returns a row.
·         %row count: evaluates to the total number of rows returned to far.
         
EXAMPLE:
          Begin
              Open emp_cursor;
             Loop
                  Fetch when emp_cursor % rowcount >10 or
                                                                      Emp_curor % not found;
                 dbms_output_put_line(to_char(vno)||’ ‘|| vname);
             End loop;
           Close emp_cursor;
           End;

       CURSOR FOR LOOP
A)   cursor for loop is a short cut to process explicit cursors
B)   it has higher performance
C)   cursor for loop requires only the declaration of the cursor, remaining things like opening, fetching and close are automatically take by the cursor for loop
   
Example:
  1)     Declare
            Cursor emp_cursor is
                   Select empno,ename
                            From emp;
          Begin
            For emp_record in emp_cursor loop
              Dbms_output.putline(emp_record.empno);
               Dbms_output.putline(emp_record.ename) 
           End loop       
         End;

39) Can we create a cursor without declaring it? 
Yes – by using cursor for loop using subqueries.
BEGIN
  FOR emp_record IN ( SELECT empno, ename
                                    FROM   emp) LOOP
         -- implicit open and implicit fetch occur
    IF emp_record.empno = 7839 THEN
      ...
  END LOOP; -- implicit close occurs
END;

40) Attribute data types?
                   1) %type 2) %row type.

41) Exception Handling?
       Is a mechanism provided by pl/sql to detect runtime errors and process them with out halting the program abnormally
1)   pre-defined
2)   user-defined.
     PRE-DEFINED:
1)   cursor_already_open ------ attempted to open an already open cursor.
2)   Dup_val_on_index     ------ attempted to insert a duplicate values.
3)   Invalid_cursor          ------ illegal cursor operation occurred.
4)   Invalid_number        ------ conversion of character string to number fails.
5)   Login_denied           ------ loging on to oracle with an invalid user name
                                           and password.
6) program_error           ------ pl/sql has an internal problem.
7) storage_error            ------ pl/sql ran out of memory or memory is corrupted.
8) to_many_row            ------ single row select returned more than one row.
9) value_error               ------ arithmetic,conversion,truncation or size constraint error
10) zero_devided           ------ attempted to divided by zero.

     USER-DEFINED:
       Declare     : name the exception
       Raise         : explicitly raise the exception by using the raise statements
       Reference: exception handing section.

     The Raise_Application_Error_Procedure:
n      You can use this procedure to issue user-defined error messages from stored sub programs.
n      You can report errors to your applications and avoid returning unhandled exceptions.
      Raise_Application_Error(error_number,message[,{true/false}]
                 Error number Ã¨ between -20000 to -20999

     pragma exception_init?
    It tells the compiler to associate an exception with an oracle error. To get an error message                                           of a specific oracle error.
       Ex: pragma exception_init(exception name, oracle error number)

     Example for Exceptions?
      1) Check the record is exist or not?
             Declare
                     E  emp% rowtype
             Begin 
                     e.empno := &empno;
                     select * into e from emp where empno =e.empno;
                     Dbms_output.putline(‘empno’ || e.empno);
            Exception
                    When no_data_found then
                    Dbms_output.putline(e.empno ||’doest exist’);
            End;

     2) User defined exceptions?
                   Define p_dept_desc =’Oracleapps4u’
                   Define p_dept_number =1236
                                              Declare
                           E_invalid_dept exception;
                      Begin
                          Update departments
                          Set dept_name=’&p_dept_desc’
                          Where dept_id =’&p_dept_number’;
                        If sql% not found then
                            Raise e_invalid_departments;
                        End if;
                        Commit;
                    Exception
                           When e_invalid_departments then
                           Dbms_output.putline(‘no such dept’);
                    End;                 
       
42)  Can u define exceptions twice in same block?
No
43)  Can you have two functions with the same name in a pl/sql block?
Yes
44) Can you have two stored functions with in the same name?
Yes 
45) Can function be overload?
Yes
46) What is the maximum number of statements that can be specified in a trigger statement?
One
47)  Can functions be overloaded ?
Yes
48) Can 2 functions have same name & input parameters but differ only by return data type
No
49)  What is a package? 
                   Group logically related pl/sql types, items and subprograms.
1)   Package specification
2)   Package body
Advantages of a package:
·        Modularity
·        Easier Application Design
·        Information Hiding
·        Overloading
           You cannot overload:
•Two subprograms if their formal parameters differ only in name or parameter mode. (datatype and their total number is same).
•Two subprograms if their formal parameters differ only in datatype and the different datatypes are in the same family (number and decimal belong to the same family)
•Two subprograms if their formal parameters differ only in subtype and the different subtypes are based on types in the same family (VARCHAR and STRING are subtypes of VARCHAR2)
•Two functions that differ only in return type, even if the types are in different families.

50)  What is FORWARD DECLARATION in Packages?

PL/SQL allows for a special subprogram declaration called a forward declaration. It consists of the subprogram specification in the package body terminated by a semicolon. You can use forward declarations to do the following:
• Define subprograms in logical or alphabetical order.
• Define mutually recursive subprograms.(both calling each other).
• Group subprograms in a package

Example of forward Declaration:

CREATE OR REPLACE PACKAGE BODY forward_pack
IS
PROCEDURE calc_rating(. . .);              -- forward declaration 
PROCEDURE award_bonus(. . .)
IS                                                      -- subprograms defined
BEGIN                                               -- in alphabetical order
  calc_rating(. . .);      
. . .
END;

PROCEDURE calc_rating(. . .)
IS
BEGIN
  . . .
END;

END forward_pack;


Q1: Difference between customization, enhancement and implementation?
Ans: Customization: Customization is the developing of the forms, reports and SQL script from the beginning or changing the existing.
Enhancement:  Enhancement is the modification of forms & Other components according to client user requirement.
Implementation: Implementation is the testing of Applications.


Q2: What are the Types of Customizations?
Ans: There are two types of customizations.
          1). Customization by extensions
          2). Customizations by Modifications.

 Customization by extensions:  Customization by extension means developing new:
Component for existing Oracle applications and develop new application using the
Development feature of AOL (Application object Library).
Customization by extensions means Copying an Existing Oracle ApplicationComponent (Forms, Report, PL/SQL etc.) to a custom application directory and modifying the Copy.

Customizations by Modifications:  Modifying   existing oracle applicationComponent to meet your specific Requirement.

Q3:  What are the most Common Types of Customization?
Ans:      TYPE 1:      # Changing Forms:
1)     . Changing Forms
2)     . Validation logic
3)     .  Behavior
             TYPE2:      # Changing Report or Program
                                              1)   .  Appearance
                                              2)   .  Logic
             TYPE3:   # Database Customizations:
                                              1)   . Adding read only Schema
                                              2)   . Augment (add) logic with database Triggers.
            TYPE4:     # integrating third Party Software

(NOTE: For more Information on customization goes 115devg.pdf Chapter Twenty-Seven)

Q4:  What is Legacy system?
Ans: System other than Oracle is legacy System. Like FoxPro, spreadsheet.

Q5:  What is ERP?
Ans: Resource Planning with in Enterprise. ERP is a term that covers whole Product line. ERP means integration of different module. Any business will greatly benefits by
adapting this feature because u can customize it or integrate it with other Packages         to satisfy unique requirements.

         BENEFITS OF ERP: 1). Flow of Information Effectively.
                                                2). Maintaining Standardizations.
Q6:  What is Oracle Apps ?
Ans:  Oracle-apps is an ERP Package. The Key Feature of all the oracle-Application
         module is Data Integration.
 Master data is Integrated: All the application share common files of customers, suppliers, employee, items and other entities that are used by multiple applications.

Transaction data is Integrated: Oracle automatically bridge transactions from one system to another.

Financial data is integrated: Financial data is carried in a common format, and financial data is transmitted from one application to another.

Q7:  What is ad-hoc Report?
Ans: Ad-hoc Report is made to meet one-time reporting needs. Concerned with or formed for a particular purpose. For example, ad hoc tax codes or an ad hoc database query

Q8:  What is Localization?
Ans: Localization is designed to meet the specific needs of certain territories or countries. Most localization is necessary because the local laws or accountings practice differ from country to country.
Region of Localization:  Three Region of Localization.     

1). EMEA REGION: Europe, Middle East, Asia pacific and Africa.
2). America REGION: Canada plus Latin America.
3). Global REGION: localization that applies territories through the world.  For example
Localization used in both Europe and Latin Americaare classified in the Global Region.

Q9: Library used in Localization?
Ans: #Globe: Globe library allows Oracle Application developer to incorporate global
                       Or regional feature into oracle application forms without modification of
                       The base Oracle Application forms.
        # JA:      JA library contains codes specific to Asia\Pacific Region. And is called                
                       Globe Library.
        # JE:      JA library contains codes specific to EMEA Region. And is called              
                       By Globe Library.
        # JL:      The JL Library contains code specific to Latin America Region.
                       And is called by Globe Library.

Q10:  How forms are attached.
Ans: STEP- ONE: First put the form in corresponding module like AP, AR, GL
                                  In appropriate server directory.
        STEP-TWO:     Second step register form with AOL.
        STEP-THREE: Attach form with Function.
        STEP-FOUR:   Attach function with menu.
        STEP-FIVE:     Attach menu with responsibility.
        STEP-SIX:        Attach responsibility to user.

Q11: How Report is attached.
Ans11: STEP- ONE: Register the application.
            STEP-TWO:   Put Report in appropriate server directory.
            STEP-THREE: Define Executables. (NavigatoràConcurrentàProgram
                                      Ã Executables)
          STEP-FOUR:   Define Program (Concurrent Ã  Program Ã  Define)
          STEP_FIVE:     Define Responsibility (Sysadmin responsibility).
                                     (SecurityàResponsibilityà Define).

          STEP-SIX:        Define Request Group. (Navigatoràsecurity
                                      Ã ResponsibilityàRequest)

          STEP-SEVEN: Define Data Group. (Navigatorà oracleàData group).

          STEP-EIGHT: Run the request through SRS. A request Id is created
                                    Through which u can view the request.
Q12:  What is workflow?
Ans:   To automate and continuously increase business process we use workflow.
          Workflow processes represent business process flows and information routings.
      Main Function:
                                 1). Routing Information’s (sending or receiving information).
                                   2). Defining & modifying Business Rule.
                                   3). Delivering electronic notification. (By emails).

Q13: What is main workflow Component?
Ans13:   1). Workflow Builder. Workflow is the component that provides user interface For creating, reviewing and maintaining workflow Definitions.
             2). Workflow Engine.:workflow is the component that executes and enforces The defined workflow Process.
             3). Workflow Monitor Workflow is the component of oracle workflow that
Allow you to review the state or status of an item through any particular workflow process.
             4). Workflow Definition Loader:  allows u to download the text file.
             5). Workflow Directory Services: Tells workflow how to find users.
             6). Notification System: Send emails and receives responses from the Oracle Workflow notification system.

Q14: What are Interface table in AP, AR & GL?
Ans:
AP INTERFACE TABLE:                  1). AP_INTERFACE_CONTROLS.
                                                    2). AP_INTERFACE_REJECTIONS
                                                    3). AP_INVOICE_INTERFACE
                                                    4). AP_INVOICE_LINES_INTERFACE.
AR INTERFACE TABLE:
                                                    1). AR_PAYMENTS_INTERFACE_ALL
                                                    2). AR_TAX_INTERFACE
                                                    3). HZ_PARTY_INTERFACE
                                                    4). HZ_PARTY_INTERFACE_ERRORS
                                                    5). RA_CUSTOMERS_INTERFACE_ALL
                                                    6). RA_INTERFACE_DISTRIBUTIONS_ALL
                                                    7). RA_INTERFACE_ERRORS_ALL
                                                    8). RA_INTERFACE_LINES_ALL
                                                    9). RA_INTERFACE_SALESCREDITS_ALL
GLINTERFACE TABLE:
                                                  1). GL_BUDGET_INTERFACE
                                                  2). GL_DAILY_RATES_INTERFACE
                                                  3). GL_IEA_INTERFACE
                                                  4). GL_INTERFACE
                                                  5). GL_INTERFACE_CONTROL
                                                  6). GL_INTERFACE_HISTORY

Q15 Total numbers of Tables in AP, AR, GL?
Ans;     APà 173
            ARà 294
            GLà 165
            FAà 160
            POà 132
            OEà 109

Q16: How will u customize a form?
Ans: STEP1: Copy the template.fmb and Appstand.fmb from AU_TOP/forms/us.
                        Then put in custom directory. The libraries (FNDSQF, APPCORE, APPDAYPK, GLOBE, CUSTOM, JE, JA, JL, VERT) are automatically attached.
STEP2:         Create or open new Forms. Then customize.
STEP3:        Save this Form in Corresponding Modules.

Q17:   What are non-financial modules?
Ans:   1). Projects
           2). Manufacturing
           3). Supply chain management
           4). HR
           5). Front Office
           6). Strategic Enterprise management.

Q18: Explain Order- cycle in OE.
Ans: Step1: Enter sales order.
        Step2: Book the sales order.
        Step3: Pick release order.
        Step4: Ship or confirm order.
        Step5: Backorder Release
        Step6:  Receivable Interface
        Step7: Complete line
        Step8: Complete order

Q19: What is AU_TOP.
Ans: This is the Application utility contains PL/SQL library used by oracle forms, reports, oracle form source files and a copy of all Java used to generate the desktop Client.

Q20:  What is ad_top?
Ans: ad_top (Application DBA). Contain installation and maintenance utility.
Such as Auto upgrade, Auto Patch and Admin Utility.

Q21: Can we make transaction in close Periods?
Ans: No, we can make only reports.

Q22: If Period is closed how we can enter transactions? (Doubt)
Ans:   No, we cannot enter transaction.

Q23: what is SQl*Loader?
Ans: This tool is used to move data from a legacy system to oracle database.
        In this two type of inputs to be provided to SQL * Loader.
        First is data file, containing the actual data.
        Second is the control file containing the specification which drive the
        SQL* Loader.    
         
Q24: How can u relate order management with AR?
Ans: sales orders are displayed after confirm release of sales in order management.

Q25:  What is the Field of GL_interface?
Ans:  1). SET_OF_BOOKS_ID
        2). ACCOUNTING_DATE 
          3). CURRENCY_CODE
 
          4). DATE_CREATED
           5). CREATED_BY
           6).  CURRENCY_CONVERSION_DATE
           7). ENCUMBRANCE_TYPE_ID 
           8). BUDGET_VERSION_ID
 
           9). CURRENCY_CONVERSION_RATE
           10). ACCOUNTED_DR 
           11).ACCOUNTED_CR
 
           12).TRANSACTION_DATE

Q26: In which directory u store your custom form?
Ans:
App_Top is top directory. We have Core directory Adm., ad (application dba),
Au (application utility), fnd (Foundation), Cust-Dem is Custom directory where
 Have 11.0.28 version then we have forms directory. Inside the form we have US
Directory. Where we stand forms.

Q27: Who is Holder of Alerts?
Ans:  ALERT Manager.


Q28: Steps for upgradation of 11 to 11i?
Ans28: STEP1: Perform category 1,2,3. (Preupgrade steps).
          STEP2:   Run auto grade
         STEP3:  Apply database patch to bring your database to the
                      Current oracle apps release level.
          STEP4: Install online help (optional).
          STEP5: Perform Category 4, 5, 6 Steps (Post-upgrade steps).
STEP6: Perform product specific implementation steps as listed in your products Users guide.
          STEP7: perform upgrade finishing step.

Q28: How interface program is written and for what purpose
Ans28: Interface Program is written through SQL, PL/SQL.
    PURPOSE: 1)Basic Integration
2)Imports valid data that is meaningful to Organization                                     3). Validate the integrity of any data
                              Before introducing into oracle apps.
                        4). Imports data from legacy system.
                        5). Import data from one module to another.

Q29: What is AOL.
Ans:  AOL stands for Application Object Library used for customization
          And implementation of forms and Reports.       

Q30: which Columns are taking care of descriptive flex fields?
Ans: Attribute Columns

Q31: Can u attach two sets of books with single profile?
Ans: yes we can attach.

Q32:  How U Can u attaches two sets of books with single profile.
Ans:  we can attach different set of Books with different responsibility
           In a single profile.

Q33: can we run FSG report other than GL?
Ans: No, we cannot run. Because FSG reports can only run in GL.

Q34: What are the common libraries in AOL.
Ans34: libraries contain reusable client-side code.
Common Libraries in AOL.

      FNDSQF: Contain packages for procedures for Message Dictionary,
                        Flex fields, profiles, and concurrent processing’s.
      APPCORE: Contain packages for procedures for Menus and Toolbar.
      APPDAYPK: contain packages that control application Calendar.
      APPFLDR: packages for Folder.

Qns35:  What is Multilanguage support.
Ans35: Oracle Application provides some feature to support multi language support.
Qns36: Can u delete the posted Journals? Can U make Changes in Posted Journals?
Ans36: No, once the posting program in oracle financial has updated accounts balances, you cannot alter the posted journals; you can only post additional entries that negate the original values. These entries contain either the negative values of the original posted amounts or the original values but with the debit amounts and credit amounts reversed.
These approaches are known as reversal method.

Qns37: When u r taking bulk of reports.
Ans37: At midnight because traffic is less.

Qns38: Who is Holder of Alerts?
Ans38: Alert Manager.

Qns39: What is TOAD.
Ans39: Tool for managing database activity,

Qns40: What is Flexfield?
Ans40: Oracle Application uses Flexfield to capture information about
             Your organization. Flexfield have flexible structure for storing key information.
              Like Company, Cost Center, and Account. They also give u highly adaptable
               Structure for storing customized information in oracle Applications.

Qns41: What are the elements of Flex field?
Ans41:  1). Structure            2). Segment
              3). Segment value   4). Value set


Qns42: What do u means by structure?
Ans42:  Structure as the name implies defines how Flexfield is constructed. A Flex field    structure determines how many Segments it has, as well as how the segments are sequenced. Each structure is mapped to a structure ID Column in the database table for key Flexfield. Each Structure is mapped with context sensitive column in the database table for descriptive Flexfield.

Qns43:  What do u means by Segment?
Ans 43: Each Segment represents an element of your business structure
               Such as Employee, Cost Center, Account. A Flexfield can have
               Multiple Field. A segment is a single field with in a Flexfield.

Qns44: What do u means by Value set?
Ans 44: Value set identifies a list of valid value for the segment.
               Value set also governs the segment value’s length, its data type.

Qns45: What do u means by Segment value?
 Ans45:  Value for each segment of flex field.

Qns46: What is Key and Descriptive Flexfield.
Ans46: Key Flexfield: #unique identifier, storing key information
                                     # Used for entering and displaying key information.
                   For example Oracle General uses a key Flexfield called Accounting
                   Flexfield to uniquely identifies a general account.
             Descriptive Flexfield: # To Capture additional information.
                                                  # To provide expansion space on your form
                                                 With the help of []. [] Represents descriptive flexfield.
Qns47: Difference between Key and Descriptive Flexfield?
Ans47:
Key Flexfield
Descriptive Flefield
1. Unique Identifier
1.To capture extra information
2. Key Flexfield are stored in segment
2.Stored in attributes
3.For key flex field there are flex field Qualifier and segment Qualifier
3. Context-sensitive flex field is a feature
 of DFF.(descriptive flex field)

Qns48: Difference between Flexfield Qualifier and Segment Qualifier.
Ans48:  Flexfield qualifier is used to identify a particular segment within a Key flexfield.
             While segment qualifier is used to capture value for any particular Segment.

Qns49:       What is Cross Validation Rule?
Ans 49: To prevent users from entering invalid combinations of segments Oracle General Ledger allows u to set up cross validation rule. There are two types of cross-validation
Rule element: include and exclude.   For example, to secure a balance sheet account to be associated with the balance sheet cost center or the corporate cost center only,U must include every possible combination then exclude the balance Sheet account range for the cost center.
                       
Qns50:    Purpose of Cross Validation rule.
Ans50:  u can use Cross Validation rule to perform certain validations in your            Accounting flex field. For example, u can use Cross Validation rule  To secure all balance sheet account to be associated only with the balance Sheet cost center, corporate cost center and profit and loss account to be associated with the specific cost center other than the corporate Center.

Qns51:  What are types of segment for Descriptive Flexfield.
Ans51: Two types
          1). Global segments
          2). Context-sensitive segment.
   Global Segment: global segment maps one to one to a database column.
                                DFF segment stored in ATTRIBUTE. Global segment always
                                Displayed in a descriptive flex field.
 Context-Sensitive Segment: Context sensitive segment can share a single database
Column because the context – sensitive will be                                               Mutually exclusive and will never overlap.

Qns52:  What is Key Flexfield in AP, AR, GL.
Ans52: Key Flexfield in GL: Accounting Flexfield.
            Accounting Flexfield is chart of account flex field.
            It is used for identifying an account combination.
            It must have a balancing segment, cost center segment, Natural account segment.
            Combination table in Acct. FF: GL_CODE_COMBINATION_ID.
            Structure column: chart_of_accounts_id.
            Maximum number of Segments: 30.
  
            Key flex field in AR: 1). Sales Tax Location Flexfield.
                                               2). Territory Flexfield
            Sales Tax Location Flexfield: to calculate sales tax.
            Combination table: AR_LOCATION_COMBINATION
            Max number of segment: 10
            Territory Flexfield: This is used to group territories according to company  needs
             Combination table: RA_TERRITORIES.

Qns53:  What is purpose of Token Field.
 Ans53: To define parameter name defined in oracle reports.

Qns54: What is Template form?
Ans54  Template form is the starting point for all development of new form.
             Start developing new form by copying template.fmb file located in
             AU_TOP/forms/us to local directory and renaming it as appropriate.
             Template Form Contains
--Several libraries like FNDSQF, APPDAYPK, and APPCORE.
                   --STANDARD_TOOLBAR, STANDARD_CALENDER
--Several form level trigger with required code.

Qns55: What are Handlers?
Ans55: Oracle application uses group of packaged procedure called handlers,
             To organize PL/SQL code in the form so that it is easier to develop,
             Maintain and debug.
             Types Of handler: 1). Item handler
                                           2). Event handler
                                           3). Table handler.
             Item handler: An item handler is a PL/SQL Procedure.
                                   That encapsulates all of the code that acts upon an item.
             Event handler: An item handler is a PL/SQL Procedure.
                                   That encapsulates all of the code that acts upon an event. 
             Table handler: An item handler is a PL/SQL Procedure.
                                   That manages interaction between block and base table.

Qns56: What is Appstand Form.
Ans56: Appstand form contains the Following.
            1). Object Group STANDARD_PC_AND_VA.
                 Which contain the visual attribute and property class.
           2). Object group STANDARD_TOOLBAR which contains the windows
                 Canvasses blocks and item of application toolbar.
           3). Object group STANDARD_CALENDER which contains the windows
                 Canvasses blocks and item of application calendar.
           4). Object groups QUERY_FIND, which contains a window, blocks and item
                 Used as a starting point for coding a find window.

 Qns56: What is set of books.
Ans56: A financial reporting entity that uses a particular chart of accounts, functional currency and accounting calendar. You must define at least one set of books for each business location.

Qns57: what are four options that are tied to defined set of books.
Ans57: 1. Standard option (supenseposting, automatic posting, Average balance posting)
            2). Average Balance option.
            3). Budgetary control option.
            4). Reporting Currency option.
     
Qns58: What is FSG.
ns58: A powerful and flexible tool you can use to build your own custom
              Reports without programming.
      
  Qns59:  What are the components of FSG?
  Ans59: 1). Row set
              2). Column set
              3). Row order
              4). Display set
              5). Content set.
        
  Qns60: What is MRC.
           Ans60: The Multi Reporting Currency Feature allows u to report and maintain records at the transaction level in more than one  Functional currency. You can do by defining one or more set of books in adition to primary set of books.
          
Qns61:  What are Alerts.
Ans61: Oracle alert is an application module that reports exception actions based on                 detected exceptions. U can create alert when specific event occur or that run periodically. Oracle alert provides a reliable way to monitor database activity. As well as keeping u informed of unusual condition. We can monitor your business performance through alerts.

Qns62:  Types of alerts?
Ans62:  Two types of alerts.
1.      Event alert
2.       Periodic Alert
Event alerts: An event alert is a database trigger that notifies u when a specified database event occurs and a particular condition is met.
Periodic event: A periodic alert on the other hand is not immediate.
 It is executed according to a predefined frequency

Qns63: What are three alert action types?
Ans63:1.Detail(An action defined atdetail level is initiated once for each exception found                                                  – Meaning once for each row returned by the select statement in the alert definition.
2). Summary (An exception defined at the summary level is initiated                                   Once for all exceptions found or once for each unique output combination.)
3).  No Exception (An action defined at the no-exception level is initiated once if no data is returned from the select statement).

Qns64: What are the advantages of alert.
Ans64: 1).   Integration with email.
                   2).  Automatic processing
                   3).   Performing routine transactions
                   4).  Maintaining information flow without a paper trail.

Qns65: What is Currency.
Ans65:  Two types of Currency.
1). Foreign Currency: A currency that you define for your set of books for recording and conducting accounting transactions in a currency other than your functional currency

 2). Functional Currency: The principal currency you use to record transactions and
      maintain accounting data within General  Ledger. The functional currency is usually the Currency in which you perform most of your Business transactions. You specify the functional currency for each set of books in the Set of  Books window.

Qns66: Types of matching.
Ans66: Two way Matching: The process of verifying that purchase order and invoice information matches within accepted tolerance levels. Payables uses the following criteria to verify two-way matching:
Invoice price <= Order price
Quantity billed <= Quantity ordered

Three way matching: The process of verifying that purchase order, invoice, and receiving information matches within accepted tolerance levels. Payables uses the following criteria to verify three-way matching:
Invoice price <= Purchase Order price
Quantity billed <= Quantity ordered
Quantity billed <= Quantity received

Four way Matching: The process of verifying that purchase order, invoice, and receiving information matches within accepted tolerance levels. Payables uses the following criteria to verify four-way matching:
Invoice price <= Order price
Quantity billed <= Quantity ordered
Quantity billed <= Quantity received
Quantity billed <= Quantity accepted

Qns67: What is the difference between Master table, setup table, and transaction table.
Ans 67: Master table: Created in any module and accessible across the application.
              Like GL_CODE_COMBINATIONS, GL_SET_OF_BOOKS.
              Transaction –Table: transaction tables are tables that store day-to-day transaction
              Data. Such as payable invoice, receivable invoice.

             Set-Up table: Created once with in Application. Like FND_CURRENCY.


 Qns68: Name Few Master tables, Set up table I, transaction table in AP, AR, GL.
Ans68:
Module Name
Master table
setup table
Transaction table
GL
1.GL_SET_OF_BOOKS 2.GL_CODE_COMBINATIONS
FND_CURRENCY
GL_JE_LINES
GL_JE_HEADRES
GL_JE_BATCHES
GL_interface
GL_CONSOLIDATION
GL_SUSPENSE_ACCOUNTS
GL_INTERCOMPANY_ACCOUNTS
AP
PO_VENDORS
AP_BANK_BRANCHES
PO_VENDOR_SITES
AP_HOLD_CODES
FND_CURRENCY
AP_BATCHES_ALL
AP_INVOICE_ALL
AP_DISTRIBUTION_ALL
AP_CHECKS_ALL
AP_PAYMENTS_HISTOTRY_ALL
AR
HZ_CUST_ACCOUNT
FND_CURRENCY
AR_ADJUSTEMENT_ALL
AR_PAYMENTS_SCHEDULE_ALL
AR_CASH_RECEIPT_ALL
AR_DISTRIDUTION_ALL
AR_RECEIVABLE_APPLICATION_ALL.


Qns69: What do u means by FIFO pick and FIFO ship.
Ans69: FIFO pick: First in first out. (Order comes from customer).
                 FIFO ship: order ship to customer. 

 Qns70: Difference between SC and NCA.
 Ans70:
SC
NCA
1. SMART CLIENT
1. Network computing Architecture
2. No form server in SC. All form is in directory, which is on the client.
2. Forms are in the server. Thus making security higher.

Qns71: What is first step in GL.
Ans71: Creating chart of account.

Qns72: What are standard reports in GL?
 Ans72: Trial Balance Report
            Journal Report
            FSG REPORT
            Account Analysis Report.

Qns73: What are standard reports in AP?
Ans73: 1.  Supplier Report
             2). Payment Report
             
Qns74: What are standards reports in AR.
Ans74:              1. Tax Report                      2.  Customer Profile Report
3.      Aging Report                 4. Dunning Letter Report

Qns75.What are customer table, transaction table, and Receipt table in AR.
Ans
Module
Customer Table
Transaction Table
AR
HZ_CUST_PROFILE_CLASS
HZ_CUST_PROF_CLASS_AMTS
HZ_CUSTOMERS_PROFILES
HZ_CUST_PROFILE_AMTS
HZ_CUST_ACCOUNTS
HZ_CUST_ACCT_SITES_ALL
HZ_CUST_CONTACT_POINTS
HZ_CUST_ACCT_RELATES_ALL
HZ_CUST_SITES_USES_ALL

RA_CUTOMER_TRX_ALL
RA_CUSTOMER_TRX_LINES_ALL
RA_CUST_TRX_TYPES_ALL
RA_CUST_TRX_LINE_SALESREPS_ALL

RECEIPT Table
AR_CASH_RECEIPTS_ALL
AR_RECEIPT_METHOD
AR_CASH_RECEIPT_HISTORY_ALL
AR_INTERIM_CASH_RECEIPT_ALL

Qns76: What is Custom-Library.
Ans76: The custom library allows extension of oracle application without modification
of oracle application code. U can use the custom library for customization  Such as zoom (moving to another form), enforcing business rule (for example Vendor name must be in uppercase letters) and disabling field that do not apply for your site.
Custom library is placed in AU_TOP / resource directory.

            Event Passed to Custom-Library:
            1). WHEN_FORM_NAVIGATE
            2). WHEN_NEW_FORM_INSTANCE
            3). WHEN_NEW_BLOCK_INSTANCE
            4). WHEN_NEW_RECORD_INSTANCE
            5). WHEN_NEW_ITEM_INSTANCE.

Qns78: What is the Component of alerts.
Ans78:  1. Message
              2.SQL SCRIPT
              3.Operating system script
              4. Concurrent request.

Qns79: What is difference between charge back and adjustment?
Ans79:
CHARGEBACK
ADJUSTMENT
A new debit item that u assign to your customer closing an existing, outstanding debit item.
A receivable feature that allows u to increase or decrease the amount due of your invoice, debit memos, charge back.

 Qns80: What are types of invoice?
  Ans80:
TYPES OF INVOICES
NINE Type:
Standard
Credit memo
Debit memo
Expense Report
PO default
Prepayment
Quick match
Withholding tax
Mixed

Qns81: What are sub modules in Financials?
Ans81:
Sub module in Financials
GL
AP
AR
FA
CM (cash management)
Financial Analyzer
    

Qns82: Concept of Multiorganisation, Explain?

Ans82:   Multi organization allows u to setup multiple legal entities within a single installation of oracle applications.

ARCHITECTURE OF MULTIPLE ORGANISATIONS

SET OF BOOKS : Within one set of books u may define one or more legal entities.

LEGAL ENTITY: each legal entity has its own employer tax identification number.
And prepare its own tax forms. Each legal entity has its own Tax forms. Each legal entity has its own set of federal tax rule, State tax rule and local tax rule. Legal entities consist of one or More operating units.
OPERATING UNIT: operating units’ represents buying and selling units with in your
Organization. Oracle order Entry, Oracle receivables, Oracle Purchasing,                         And Oracle Payables.
INVENTORY ORGANIZATION:  an Inventory organization is a unit that has inventory                
transactions. Possibly manufactures and or distribute products.

Qns83: How will u attach SOB?
Ans83: STEP1: Create a new Responsibility.
                           (NàsecurityàResponsibilityàDefine).
          STEP2: Attach the new responsibility to an existing user.
          STEP3: Defining a new Period Type.
          STEP4: Defining an accounting calendar.
          STEP5: Defining a set of books.
          STEP6: Attach the set of books to your responsibility.(NàProfileàSystem)
          STEP7: Signing on as new responsibility.
Qns84: What are key functions provided by Oracle General Ledger?
Ans84:
Function Provided by GL
General Accounting
Budgeting
Multiple Currencies
Intercompany Accounting
Cost Accounting
Consolidation
Financial Reporting

Qns85: What do u means by cost center?
Ans85: COST center gives the information about investment and returns on different projects.

Qns86: what is Fiscal Year.
Ans86: Any yearly accounting Period without relationship to a calendar year.

Qns87: What is Credit-memo?
Ans87: A document that partially or reverse an original invoice.

Qns88: How data is transferred from legacy system to Oracleapps table.
Ans88: A system other than oracle apps system is called legacy System.

Qns89: What is Chart of Accounts?
Ans89:  The account structure your organization uses to record transaction and maintain account balances.

Qns90: What are different types of budgets?
Ans90:
Types of Budgets
Operating
Capital
Master Production Schedule
Variable
Time-Phased

Qns91: How others modules are integrate through GL.
Ans91:  Integration of module With GL

Qns92: Explain Payable Cycles
Ans92: Four steps in AP Cycle

PAYABLE CYCLE                  
Four steps in Payable Cycles:
STEP1: Enter Invoice (this process may or may not include matching each invoice with PO).
STEP2: Approve invoice payment.
STEP3: Select and pay approval invoices.
STEP4: Reconcile the payment with bank statement


Qns95:  AGING BUCKETS?

A.  Time periods you define to age your debit items. Aging buckets are used in the Aging reports to see both current and outstanding debit items. For example, you can define an aging bucket that includes all debit items that are 1 to 30 days past due.
Payables uses the aging buckets you define for its Invoice Aging Report

Q96. CREDIT INVOICE?
A.  An invoice you receive from a supplier representing a credit amount that the supplier owes to you. A credit invoice can represent a quantity credit or a price reduction.

Q97. CREDIT MEMO?
A document that partially or fully reverses an original invoice.

Q98.CUTOFF DAY?
The day of the month that determines when an invoice with proximate payment terms is due. For example, if it is January and the cutoff day is the 10th, invoices dated before or on January 10 are due in the next billing period; invoices dated after the 10th are due in the following period.

Q99. DEBIT INVOICE?
A.  An invoice you generate to send to a supplier representing a credit amount that the supplier owes to you. A debit invoice can represent a quantity credit or a price reduction.

Q100. JOURNAL ENTRY HEADERS?
A.   A method used to group journal entries by currency and journal entry category within a journal entry batch. When you initiate the transfer of invoices or payments to your general ledger for posting, Payables transfers the necessary information to create journal entry headers for the information you transfer. Journal Import in General Ledger uses the information to create a journal entry header for each currency and journal entry category in a journal entry batch. A journal entry batch can have multiple journal entry headers.

Q101 What is Oracle Financials?
Oracle Financials products provide organizations with solutions to a wide range of long- and short-term accounting system issues. Regardless of the size of the business, Oracle Financials can meet accounting management demands with:
Oracle Assets: Ensures that an organization's property and equipment investment is accurate and that the correct asset tax accounting strategies are chosen.

Oracle General Ledger: Offers a complete solution to journal entry, budgeting, allocations, consolidation, and financial reporting needs.

Oracle Inventory: Helps an organization make better inventory decisions by minimizing stock and maximizing cash flow.

Oracle Order Entry: Provides organizations with a sophisticated order entry system for managing customer commitments.

Oracle Payables: Lets an organization process more invoices with fewer staff members and tighter controls. Helps save money through maximum discounts, bank float, and prevention of duplicate payment.

Oracle Personnel: Improves the management of employee- related issues by retaining and making available every form of personnel data.

Oracle Purchasing: Improves buying power, helps negotiate bigger discounts, eliminates paper flow, increases financial controls, and increases productivity.

Oracle Receivables:. Improves cash flow by letting an organization process more payments faster, without off-line research. Helps correctly account for cash, reduce outstanding receivables, and improve collection effectiveness.

Oracle Revenue Accounting gives organization timely and accurate revenue and flexible commissions reporting.

Oracle Sales Analysis: Allows for better forecasting, planning and reporting of sales information.

The General Ledger (GL) module is the basis for all other Oracle Financial modules. All other modules provide information to it. If you implement Oracle Financials, you should switch your current GL system first. GL is relatively easy to implement. You should go live with it first to give your implementation team a chance to be familiar with Oracle Financials.

Q103 What is MultiOrg and what is it used for?
MultiOrg allows multiple operating units and their relationships to be defined within a single installation of Oracle Applications. This keeps each operating unit's transaction data separate and secure. Use the following query to determine if MultiOrg is intalled: Select multi_org_flag from fnd_product_groups;


1.            Q: How do you make your own query when you are in forms query mode? A: You can use a placeholder to achieve this. If you enter a single colon ( : ) in one of your query fields during the Enter Query mode, Oracle Forms Run Query will prompt you to enter the text of SQL Where clause.
2.            Q: What is concurrent processing? A: Concurrent processing is a process that simultaneously runs programs in the background (usually on the server rather than your workstation) while working online.
3.            Q: What is a Concurrent Manager? A: A Concurrent Manager is a component of concurrent processing that monitors and runs requests while you work online. Once the user submits a request to run the job, the information is stored in the request table. A concurrent manager gets the information from the request table and executes the specified concurrent job.
4.            Q: What is a request set? A request set is a collection of reports or programs grouped together. Once you submit a request set job, it executes all the programs in a report set sequentially or in a parallel manner as defined in the request set.
5.            Q: What are the four phases of a concurrent request? The four phases are as follows: inactive, pending, running, and completed.
6.            Q: How would you identify the results of the request in the Concurrent View Requests window? Whenever a concurrent job is submitted, Applicationscreates a Request ID. You can use this Request ID to view the results.
7.            Q: What are the profile options? How many levels of profile options are available? Profile options are set to determine how the applications look and feel. There are four levels of profile options available: site level, applicationlevel, responsibility level, and user level. You can have various categories of profile options, such as personal options, system options, auditing profile options, currency options, Flexfield options, online reporting options, personal output viewer options, and user profile options.
8.            Q: What is a document sequence? A document sequence assigns unique numbers to the documents (transactions) generated by Oracle Applications. For example, each invoice has its own unique invoice number and each purchasing document has its own unique purchase order (PO) number.
9.            Q: What are the steps involved in adding a custom program to OracleApplications?
a)     Develop a concurrent program or report.
b)     Identify the corresponding executable and register it with theapplication.
c)     Create a concurrent program and its parameters.
d)     Add a concurrent program to a request set.

10.         Q: How do you register a printer? To add a new printer, go to Install Printer Register.
11.         Q: What is a Flexfield? How many types of Flexfields exist? A Flexfield is a field made up of segments. Each segment has an assigned name and a list of valid values. Two types of Flexfields exist: Key Flexfields and Descriptive Flexfields (DFFs).
12.         Q: What is a Key Flexfield? A Key Flexfield is a unique identifier that is made up of meaningful segments to identify GL account numbers and item numbers. Key Flexfields are usually stored in SEGMENT1...SEGMENTn database columns.
Some examples would be Item No 34H-AFR-223-112.G and GL Account No:
100-00-1000-324-11100.

For an example GL Account, segments could be identified as Organization,Cost Center, Account, Product, Product Line.

13.         Q: What are the Key Flexfields in Oracle Applications? The following table lists some of the Key Flexfields available in Oracle Applications.
Key Flexfields
Using Applications
Accounting
General Ledger
Asset Key
Fixed Assets
Location
Fixed Assets
Category
Fixed Assets
Account Aliases
Inventory
Item Catalogs
Inventory
Item Categories
Inventory
System Iitems
Inventory
Stock Locators
Inventory
Sales Orders
Inventory
Sales Tax Location
Receivables
Territory
Receivables
Job
Human Resources
Grade
Human Resources
Position
Human Resources
Soft Coded Key
Human Resources

14.         Q: What is a Descriptive Flex Field? A DFF lets you define the custom fields into Oracle Application forms without customizing the program code. DFFs in forms are represented by a "beer mug" field (a single space field enclosed by brackets) that looks like the following symbol: [ ]. They are usually stored in ATTRIBUTE1...ATTRIBUTEn database columns. DFFs can also be used to accept report parameters.
15.         Q: What types of segments can be set up for DFFs? Global or context-sensitive.
16.         Q: What is a value set? A value set is a list of values validated against segments. You can create a value set and assign it to a Flexfield segment.
17.         Q: How many validation types are there? Six validation types exist:none, dependent, independent, table, special, and pair.
18.         Q: What are the required and optional steps for setting up Flexfields? The required steps are as follows: define the value sets, define the structures, and define the values, if needed. The optional steps are as follows: define the security rules, define the cross-validation rules, and define the shorthand aliases, if necessary.
19.         Q: Can you define cross-validation rules for DFFs? No, you cannot. You can only define them for Key Flexfields.
20.         Q: Can a value set be shared between Flexfields? Yes, value sets can be shared between Flexfields.
21.         Q: Can a value set be shared within a Flexfield structure? No, value sets cannot be shared between segments within a Flexfield as long as they do not carry the same type of information. For example, date information can be shared between segments within a Flexfield.
22.         Q: What are the advanced validation options? Three types of advanced validation options are available. $PROFILES$, which references the current value of a profile option. An example would be $PROFILES$.profile_option_name. Block.field, which references the block field. $FLEX$, which refers to the current value of a previously used value set. An example would be $FLEX$.value_set_name (cascading dependencies).
23.         Q: What is the next step after defining the segments for Flexfields? Freezing and compiling the structure.
24.         Q: What are the steps required to set up value security rules? Make sure security is enabled, define rules for the value set, and assign rules to the user's responsibility.
25.         Q: What is Oracle Alert? Oracle Alert is an exception reporting system. It keeps you informed on an as-needed basis. It also communicates with other users through e-mail regarding exception messages.
26.         Q: How many types of alerts are there? Two types of alerts exist: Periodic Alerts and Event Alerts. Periodic Alerts fire at a time interval, and Event Alerts are fired by database table changes.
27.         Q: What are Quick Codes? Quick Codes, also known as Quickpicks, are standard sets of user-defined values. Lookup is a combination of a code and a description. The lookup tables are generally populated by the scripts located in /install/odf directory.
28.         Q: What is an Open Interface in Oracle Applications? Open Interface, also known as the Application Programmer Interface (API), is a process whereby the Oracle Applications are linked with external or legacy systems. Open Interface works as a temporary staging area to load the external information into OracleApplications tables. Once the data is validated, it sends the information to the permanent tables. Rejected transactions can be corrected and resubmitted.
29.         Q: Which schema has complete access to the Oracle Applications data model? The APPS schema. AutoInstall automatically sets the FNDNAM environment variable to the name of the APPS schema.
30.         Q: What is the top directory in Oracle Applications? $APPL_TOP.
31.         Q: What is a product top directory? It starts with the product shortname and is suffixed with TOP, such as TOP. For example, General Ledger's top directory is GL_TOP.
32.         Q: What are the log and output directory names for a product group? The product group environment file sets the APPLLOG variable to log and APPLOUT to out. For example, the output directory for General Ledger is $GL_TOP/$APPLOUT. For log, it is $GL_TOP/_$APPLLOG.
33.         Q: What data dictionary tables do you use to obtain detailed information regarding? You can write a query by joining the FND_TABLE and FND__COLUMNS tables. FND_INDEXES and FND_INDEX_COLUMNS tables are part of the data dictionary. All the FND_ table names are self-explanatory.
34.         Q: What are the primary underlying tables for concurrent processing? FND_CONCURRENT_PROGRAMS, FND_CONCURRENT__REQUESTS, FND_CONCURRENT_PROCESSES, and FND_CONCURRENT_QUEUES tables.
35.         Q: What are the primary underlying tables for Flexfields? FND_DESCR_FLEX_CONTEXTS, FND_FLEX_VALIDATION__RULES, FND_FLEX_VALUE_SETS, FND_ID_FLEXS, FND_ID__FLEX_SEGMENTS, and FND_ID_FLEX_STRUCTURES tables.
36.         Q: What is the primary underlying table for AOL QuickCodes? FND_LOOKUPS table.
37.         Q: What is the application dummy table used by a form block? FND_DUAL table.
38.         Q: What is the main underlying table for Profile Options? FND_PROFILE_OPTIONS table.
39.         Q: What are the main prerequisites for creating a custom application or responsibility? Set up a directory structure for a custom application, and define an environment variable that translates to your application base path.
40.         Q: What are the WHO columns? WHO columns are used to track the changes to your data in the application tables. WHO columns exist in all Oracle Applications standard tables. The following five are considered WHO columns:
Column Name
CREATED_BY
CREATION_DATE
LAST_UPDATED_BY
LAST_UPDATE_DATE
LAST_UPDATE_LOGIN

41.         Q: Do I need to have WHO column information in custom forms? Yes. It is strongly recommended to add WHO columns to the custom tables and call standard API, FND_STANDARD.SET_WHO in PRE-INSERT, and PRE-UPDATE triggers in each block of the form. Also, specify these fields as hidden in each block of the form.

42.         Q: What are the additional WHO columns used for concurrent programs? Concurrent programs use all the following WHO inncluding the following four.
Column Name
PROGRAM_APPLICATION_ID
PROGRAM_ID
PROGRAM_UPDATE_DATE

43.         Q: Can you disable the WHO columns' information in a form block? Yes. You can disable HELP -> ABOUT THIS RECORD information within a block. Call the following procedures in a block level WHEN-NEW-BLOCK-INSTANCE
Trigger:app_standard.event('WHEN-NEW-BLOCK-INSTANCE');
app_standard.enable('ABOUT','PROPERTY_OFF');

44.         Q: How do you register your custom tables in PL/SQL? You can use AD_DD package to register custom tables in PL/SQL.
45.         Q: How do you define the passing arguments in SQL/PLUS and PL/SQL concurrent programs? You must name your passing arguments as &1, &2, &3 and so on.
46.         Q: How do you call your custom reports from a form? You can call your custom Oracle reports in a form using the FND_REQUEST.SUBMIT_REQUEST procedure.
47.         Q: What is a template form? A template form is a starting point for the development of custom forms. Copy the Template.fmb file from $AU_TOP/forms/US directory to your local directory and rename it.

48.         Q: Which libraries are attached to the template form? The following main libraries are directly attached to the template form. APPCORE contains packages and procedures for standard menus, toolbars, and so on. APPDAYPK contains a calendar package. FNDSQF contains packages and procedures for Flexfields, concurrent processing, profiles, and a message dictionary.

49.         Q: What is a calendar? A calendar is an object that lets you select the date and time. It is automatically included in the template form. A Calendar package example would be calendar.show.

50.         Q: Which template form triggers require some modifications? The ACCEPT, FOLDER_RETURN_ACTION, KEY-DUPREC, KEY-MENU, KEYCLRFRM, ON-ERROR, KEY-LISTVAL, POST-FORM, PRE-FORM, QUERY_FIND, WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCK-INSTANCE, WHEN-NEWRECORD-INSTANCE, and WHEN-NEW-ITEM-INSTANCE triggers.

51.         Q: Which template form triggers cannot be modified? The CLOSE_WINDOW, EXPORT, FOLDER_ACTION, KEY-COMMIT, KEY-EDIT, KEY-EXIT, KEY-HELP, LASTRECORD, WHEN-WINDOW-CLOSED, WHENFORM-NAVIGATE, and ZOOMtriggers.

52.         Q: What are the main template files for Pro*C concurrent programs? The main template files are EXMAIN.c and EXPROG.c .

53.         Q: What is the Oracle-recommended application short name for extensions? Oracle recommends an application short name begin with XX. As an example, extensions to Oracle Purchasing would be XXPO.

54.         Q: Where do you maintain the list of your custom programs? All custom programs should be listed in the applcust.txt file. This file is located in the $APPL_TOP/admin directory. When you apply the patches, Oracle Applications uses this file for informational purposes.

55.         Q: What are the steps involved in modifying an existing form? First, you identify the existing file and then you copy the file to a custom application directory, making sure to rename it. You then make the necessary modifications, generate the form, and document it in the custom program list using applcust.txt file.

56.         Q: Where do you maintain database customizations? You can maintain all your table changes by creating a new schema. You can use your custom application short name (such as XXPO) as your Oracle schema name for easy identification. The new schema must be registered in the Oracle AOL.

57.         Q: Can you create extensions to Oracle Applications without modifying the standard form code? Yes. This can be done using the CUSTOM library, which is an Oracle Forms PL/SQL library. You can integrate your custom code directly with Oracle Applications without making changes to your Oracle Applications forms code. The CUSTOM library is located in the $AU_TOP/res/plsql directory. Once you write the code, you compile and generate the CUSTOM procedures to make your changes.

58.         Q: When do you use the CUSTOM library? You can use the CUSTOM library in a variety of cases. You can use it to incorporate Zoom logic, logic for generic events, logic for product-specific events, and to add entries for the special menu.

1.

2 comments:

  1. Thanks for all the information it was very interesting to read and it was well written about the erp software.

    Enterprise resource planning (ERP) benefits survey of Indian

    ReplyDelete