Friday, 30 September 2011

Interview Questions



1. What is dynamic sql?

Ans: - pl/sql uses early binding, so we cant execute DDL statements in pl/sql.
To over come this situation we have two options

   1> we can use EXECUTE IMMIDIATE statement
   2> we can use DBMS_SQL package

2. Tell me 5 important tables in GL

       GL_JE_HEADERS
       GL_JE_LINES
       GL_JE_BATCHES
       GL_SETS_OF_BOOKS
       GL_CODE_COMBINATIONS
       GL_PERIODS
       GL_BUDGETS
3. What are User Exits
  
    A user exit is a 3GL program where it can be linked to the report builder executable
   There are 3 types of user interfaces

    a>  ORACLE user interfaces
    b>  OCI (Oracle Caller Interface)
    c>  None-Oracle user exit

4. What are the User Parameters in User Exits?

          srw.user_exit ('FND SRWINIT');
              user exit is the mandatory parameter in srw.user_exit

5. How many interfaces in GL, AP what are they?
    3 interfaces in GL.
6. Is it possible to use User Exits in Report builder? How.
    Yes,
 
   In BEFORE REPORT  we call srw.user_exit('FND SRWINIT')
   In AFTER REPORT  we call srw.user_exit('FND SRWEXIT')

7. Diff between functions and procedures

   Procedure is called as pl/sql statement
   Function is called as an expression and it can called from SELECT statement.

8. Diff between ap_invoice_all and ap_invoice
     The _all tables are sharable in multi oraganization environment and it contains ORG_ID field.

10. Place holder, summary columns, formulae columns?

   Place holder is a column for which you set the data type and value in PL/SQL that u define.
 This can be used in BEFORE REPORT trigger, if the place holder is a report level trigger.
 A report level formula column, if the placeholder is a report_level column
 A formula in the placeholder's group or a group below it (The value is set only once for each record of the group).

   A summary column can be either report level or group level is used to get the value of built in function on a single column.

   A formulae column can be either report level or group level is used to get the values from
one or more columns.

11. Multi org concepts?

It is a server side enhancement where multiple business units can use a single installation of oracle product.

     The architecture of multi org is, Business group,set of books,operating units,Inventories.

  ORG_ID is stored in operation units and ORGANIZATION_ID is stored in inventories. There is one-to-many relationship between them.

12. Lexical parameters and bind parameters?

   Lexical parameter is a replacement of text string in select statement, it is preceded by & (ampersand).
For this we need to create user parameter, It should be character and initialized. We need to pass the values at runtime for this lexical parameter.

   Bind parameter is a replacement of  single value or expression in select statement. It is preceded by colon(:). It can be number, date, or character data type .It cannot be used in FROM clause.

13.How can we execute the query in the report trigger?

  Using SRW.DO_SQL we can execute the DDL and DML queries.
This procedure executes the specified SQL statement from within Report Builder.
The SQL statement can be DDL, or DML (statements that manipulate data). 

14.firing sequence of report triggers?

  BEFORE PARAMETER FORM
  AFTER PARAMETER FORM
  BEFORE REPORT TRIGGER
  BETWEEN PAGES
  AFTER REPORT TRIGGER
 
15.key flexfield, and descriptive flexfield.

 Key flex fields captures the unique information, and descriptive flexfields captures the
more information.
 The key flex field in GL is Accounting Flex Field.
 The KFF in AR are Territory and Sales tax.

16. where will you write user exits 

   The FND SRWINIT in BEFORE REPORT trigger and
   the FND SRWEXIT in AFTER REPORT trigger.

17. What is mutating table.
  A trigger is trying to modify the triggering table. To overcome this we need to use
temporary table and views.

  A table in transition then we called that table is mutating.
18. What are Retcode, and Errbuff?                                                   
    These are mandatory parameters when we write concurrent program using stored procedures.

RETCODE contains 3 values 0-for sucess,1-sucess with warnings, 2-errors.
ERRBUFF contains error message.
  Concurrent manager will fill the values for these parameters.

19. Request group?

  Collection of requests, request sets and concurrent programs that a user can operate under a given responsibility.

20. What are the mandatory paramenters we have to pass in report?

    P_conc_REQ_ID.
    P_ORG_ID.
21. What is a data group?

    A data group is a collection of Oracle Applications and the user names assigned   to  Each application. Generally the user name is apps schema.

22. What is short name, and base path?

    A short name is used to identify menus, forms, concurrent programs, and other application components.
            A base path is top directory in applications directory tree.

23.Is table registration is mandatory in apps?
 
    No, but when ever we use flex fields and alerts then it is mandatory.

24. What are the procedures used for registration and deletion of tables in apps?

    AD_DD.REGISTER_TABLES(appl short name,
                                    table name,
                                    table type,
                                    pct. Next extent,
                                    pct. tree,
                                    pct. used)
    AD_DD.REGISTER_COLUMN(appl short name,
                                    table name,
                                    column name,
                                    column seq,
                                    data type,
                                    witdth,
                                    nullable,
                                    transferable); and optional precission.
    AD_DD.DELETE_COLUMN(appl short name,
                                    table name,
                                    column name)
    AD_DD.DELETE_TABLE(appl short name,
                                    table name)


25. what are the components of the environment variable?

    reports, forms, pl/sql, bin, log

26. what are the components of form registration?
     form, funciton, menu.

27. which name is appear on the form window?

     User Form Name will appear on the form window.
     And User Function Name will appear on the Top 10 list of the Navigator window.

28. What are the parameters of the parameter column of the Function window?

            1> QUERY_ONLY = YES
            2> HELP_TARGET = "Alternative form_name"
            3> TITLE   = "appl_shortname.menu name"

29. What is alert and work flow?
            Monitor db information and notify you when the condition we specified is found.
            Automates and streamlines business processes contained within enterprises and
        between enterprises.

30. What are the executable methods?
            Oracle Reports,
            PL/SQL Stored Procedures,
            SQL* LOADER,
            SQL PLUS.

        host, Immidiate,spawned,Java stored procedure, Java concurrent program.

31. How do you submit concurrent request from a pl/sql code?
   
    FND_REQUEST.SUBMIT_REQUEST

       If it is sucess then it returns the submitted request, otherwise it is 0.

32. What are user profile and their precedence?
   
    A user profile is a set of changable options that affects the way ur application looks
and behaves.

           1> Site
            2> Application
            3> Responsibility
            4> User

33. What is a value set?
   
            A value set is a container of valid values to its segments.

34. What are validation types?
            1> Dependent
            2> Independent
            3> None
            4> Pair
            5> Special
            6> Table
            7> Translatable Dependent
            8> Translatable Independent

   These can be convered from one to other. (<-> both sides, -> single side)

            Independent <-> None
            Table       <-> None
        Independent <-> Table
           
            Dependent    -> None
            Dependent    -> Independent
           
     
35.How do you access profile values in reports?
  
        :$PROFILE$.Profile Name

36. How do give the parameter values which are based on the previous parameter values?
            :$FLEX$.parameter name

37. What is a token?

     A token is an argument to pass parameters from oracle reports to oracle applications.

39. How do you delete duplicate rows in a table?

            DELETE FROM EMP A
        WHERE ROWID > (SELECT MIN(ROWID)
                       FROM EMP B
                               WHERE A.ENAME = B.ENAME)

40. what is a format trigger?

            It is a layout model trigger, dynamically change the attributes of a column.

41. What is GL_CODE_COMBINATIONS and GL_SETS_OF_BOOKS?
        GL_CODE_COMBINATIONS stores valid account combinations for each Accounting FF in GL.            GL_SETS_OF_BOOKS stores the sets of books information in GL.

42. What is pre_payment ?
     Advance payment paid to the supplier for future purchases.
     There are two types of pre_payments
            1> Temporary - which is adjustable towards the invoice
            2> Permanant - which is not adjustable towards the invoice but can be convertable to
                                    temporary pre_payment.
43. What are purchase orders?

            1> Standard
            2> Blanket
            3> Contract
            4> Planned

44. What is an anchor?
            It determines the horizontal and vertical position of an object.   

45. What is auto accounting?
            Transfering the receivable amount to the GL.

46. what are the interfaces in GL,AP,and PO

    GL- 1> Journal Import
            2> Budgets
            3> Daily Rates

    AP- 1> Paybles Open Interface Import
            2> Credit card transaction interface
            3> Invoice Import Interface
            4> Purchase Order Matching

    PO- 1> Import Items
           


47. What is the diff between SPO and BPO?
                        SPO contains all item, quantity, price, delivery shedule, distribution set,and
ship to location.
                        BPO contains all except delivery scheduled for this we need to release blanket
purchase order.

48. List some of the errors in Interfaces?

            ORA - 00054 : Resource busy and acquire with NO WAIT
            ORA - 12154 : TNS : Could not resolve service name


49. How many files you are using in Interface ?

            1> flat file
            2> Control file
            3> Bad file
            4> Discard file (Rejected file)
            5> Log file

50. What is control file ?
            It contains set of instructions for transferring data from flat file to database
tables through SQL *LOADER.

51. What is Bad file, Discard file and Log file?

      Bad file is generated with the data erros in the flat file.
      Discard file is generated for the when clause failed records of the control file.
      Log file contains the detail information about the data processing. 
           No of successfully loaded records
               No of rows not loaded due to data errors.
               No of rows not loaded due to when clause failed.

52. What is the difference between APPEND and INSERT?

    APPEND adds the records at the end of the table.
    Before using INSERT data in the table should be empty.

53. What is the purpose of TRAILING NULLCOLS ?
            Columns must be configured relative to their positioning.

54. What is the purpose        CONCATINATE ?
            To create one logical row from a set of physical rows.

55. What are the 3cs of sets of books?

     Charts of accounts
            Calander
            Currency
56. What is a chart of accounts?
            Charts of accounts are an accounting structure of the organization.

57. What is a journal and what are the types of balances?
            Journal is an accounting transaction.
            Balances types are Actual, Balances, and Encumbrance.

58. What are the 6Ms?
            1> Retained Earnings
            2> Suspense account
            3> Translation Adjustments
            4> Reserve for Encumbrance
            5> Net Income
            6> Rounding of Numbers
59. What are the types of recurring journals?
            1> Standard
            2> Formula
            3> Skelton

60. What are the topics in GL?
            1> Journals
            2> Recurring Journals
            3> Mass Allocation
            4> Translation
            5> Revaluation
            6> Budgeting
                        a. Planning Budget
                        b. Funding Budget
                        c. Mass Budget
            7> FSG (Financial Statement Generator)
            8> Global Consolidation
            9> MRC (Multiple Report Currencies)

61. What are the important tables in GL?

            GL_JE_LINES
            GL_JE_HEADERS
            GL_JE_BATCHES
            GL_CODE_COMBINATIONS
            GL_SETS_OF_BOOKS
            GL_PERIODS
            GL_BALANCES

62. What is the Purchase Order?
            1> Requisition
            2> RFQ
            3> Quotation
            4> Approved Quotation
            5> PO
  
    Requistion is of two types,
            1> Internal Requition (Requirement is with in organization)
            2>Purchase Requition (Buying from 3rd party)
    RFQ can be created in two types,
            1> Manual Create
            2> Auto Create
            Type of RFQ's are
                        a> Standard (contains items, quantity, price, delivery shedule, distribution set)
                        b> Catalog (provides catalog means of items and its price)
                        c> Bid (which are not frequently used)
62. What are the types of the POs?
            1> Standard
            2> Blanket
            3> Contract
            4> Planned

            Standard PO contains all the information about item, qty, price, delivery scheduled,
ship to location and also distribution set.
            Blanket PO contains all the information except the delivery scheduled, for this we
need to release the BPO by giving delivery scheduled.
            Contract Purchase Order, for this we need to create SPO against CPO.
            Planned PO contains tentive delivery scheduled.
63. What are the important tables in PO?
            1>PO_VENDORS
            2>PO_VENDOR_CONTACTS
            3>PO_VENDOR_SITES
            4>PO_LINE_LOCATIONS
            5>PO_DISTRIBUTIONS
            6>PO_HEADERS
            7>PO_LINES
64. What are the types of invoices in AP?

            1> Standard
            2> Debit/Credit memo
            3> Recurring
            4> Pre payment
            5> PO default
            6> Quick match
            7> Mixed
65. What are the matching types?

            a> 2-way  PO+INVOICE
            b> 3-way  PO+INVOICE+RECEIPT          
            c> 4-way  PO+INVOICE+RECEIPT+INSPECTION
           
66. What is hold?
            If the invoice and the PO does not match then system raises Holds on Invoice.
For these we need to release the holds. There are two types of holds.
                                    1> System holds
                                    2> User defined holds.
67. What are the important tables in AP?

            AP_INVOICES
            AP_INVOICE_DISTRIBUTIONS
            AP_AE_HEADERS
            AP_AE_LINES
            AP_BATCHES
            AP_TERMS
            AP_ACCOUNTING_EVENTS
            AP_LOOKUP_CODES
            AP_BANK_ACCOUNTS
            AP_BANK_BRANCHES
            Ap_INVOICE_PAYMENTS

68. List some reports in Oracle Apps.?

            1> Summery/Detail Budget Report
            2> Master/Detail Budget Report
            3> Summery Trail Balance
            4> Future Payment Maturity Date Report
            5> Invoice Register
            6> Item Detail Report
            7> PO detail Report
            8> Vendor Quality Performance Analysis Report
            9> General Ledger Reconciliation Report
            10> PO Details by vendor and item report
            11> Purchase value report
           
69. What is the diff. between procedure and function?

            A function should return a value through RETURN statement.
            Function calling can be done in DML statements.

            A procedure may or may not return a value through OUT parameter.
            Procedure calling can not be done in DML statements.
            With in the procedure we can use RETURN statement, but with out any argument after it.




70. What are the diff between procedures and packages?
           
            A package is stored in database.
            A package is having information hiding and overloading facilities.
            With packages we can declare global variables.
            Procedures in packages must be forward declared.

            A procedure is stored either locally or in database.
            A procedure can not provide information hiding.
            A procedure can not declare global variables.

71. What are the diff between PL/SQL tables and Nested Tables?
 
   Tables:
            1> Tables can have Non-Sequential keys.
            2> They can be negative.
            3> It can not be stored in the data base.

   Nested Tables:
            1> Nested tables have Sequential and positive keys.
            2> It can be stored as data base object.

72. What are the diff between triggers and procedures?
            1> Triggers are database objects.
            2> In Triggers we can't use transactional control statements.
            3> Triggers are fired by events in database.
            4> Triggers uses different name space.

73. What is Native Dynamic SQL?
            EXECUTE IMMEDIATE key word is used to run the DDL, DML and PL/SQL blocks at runtime.
           
74. What are the benefits of packages?
           
            1> Information hiding
            2> Procedure Overloading
            3> Modularity
            4> Easier Application Design

75. How can you know that whether multi_org enabled or not?

            SELECT multi_org_flag
            FROM FND_PRODUCT_GROUPS.


76. Where are triggers stored ?
             user_triggers.
77. What is mutating table error ?
            A trigger is trying to access the triggering table is called mutating table error.
This situation can be over come using Temporary tables and views.

78. what happens when we use RAISE?
            It reraise the same exception, but the control goes to the immediate outer block.

79. which implementation methodology you are using?
            AIM (Application Implementation Method).
           
80. What are pragmas in PL/SQL?

            Pragma is a precompiler directive. These are processed at compile time.

            1> PRAGMA EXCEPTION_INIT
            2> PRAGMA AUTONOMOUSE_TRANSACTION
            3> PRAGMA RESTRICT_REFERENCES
            4> PRAGMA SERIALLY_REUSABLE

81. How do you set the character report in D2K?

            Set 'yes' to the 'Design in character units' of the report property, and
'character' to the 'Intial Value' of the MODE system parameter.

82. what are the attributes of the cursors ?
           
            1> %ISOPEN
            2> %FOUND
            3> %NOTFOUND
            4> %ROWCOUNT
83. What is the sequence of text triggers in Forms?

            1> PRE_TEXT_ITEM
            2> WHEN_NEW_ITEM_INSTANCE
            3> KEY_NEXT_ITEM
            4> WHEN_VALIDATE_ITEM
            5> POST_TEXT_ITEM


84. What are ref. cursors?   

            Using ref.Cursor we can manage multiple work areas programmatically with a cursor.

85. What are the types of joins?

             1> Inner Join
             2> Outer Join
             3> Self Join

86. What is PRAGMA EXCEPTION_INIT?

            It tells the compiler to associate an exception name with oracle error number.

87. What is PRAGMA AUTONOMOUS_TRANSACTION?

            It is a fully independent transaction started by the parent transaction. It doesn't share any resources with the parent transaction. The autonomous transaction should end with either ROLLBACK or commit.
            Generally in triggers we should not use transaction control statements, but, with autonomous trigger we should use transaction control statements.


88. What is RAISE_APPLICATION_ERROR?

            Is used to issue user defined error message from the stored procedure.
           

      syntax :
             RAISE_APPLICATON_ERROR (error_number,message,[,{true/false}]);

       error_number : -20000 to -20999      

   This can be used in both executable  and exception section.

89. Some of the packages used in development?

            1> DBMS_TRANSACTION
            2> DBMS_SQL
            3> DBMS_ALERT
            4> DBMS_ALERT
            5> DBMS_PIPE
            6> DBMS_OUTPUT.

90. What are the types of triggers?

     There are broadly 3 types of triggers.

                        1> DML triggers
                        2> DDL triggers
                        3> System Triggers
            12 Types of DML triggers. 3 statements X 2 level X 2 timing


91. What are SQLCODE and SQLERRM in PL/SQL ?

            SQLCODE returns the error number.
            SQLERRM returns the error message.
           
            These are especially used in WHEN OTHERS exception handler.


92. What is a database link?
           
            A data base link is a reference to the remote database.

93. What are PL/SQL variables?
            %TYPE and %ROWTYPE are the pl/sql variables.

            %TYPE associates a variable with the table's field datatype.
            %ROWTYPE associates a variable with the table's row datatype. 

94. Where are the procedures, functions, and packages are stored?

            1> USER_OBJECTS (Procedures,functions and package body)
            2> USER_SOURCE
            3> USER_ERRORS

95. What are Materialized views?
            Materialized views are reduced sets of information used to precompute, replicate,
and distribute data. These are used in distribute environment, data warehousing and DSS.

96. What are the Release 11i enhancements?

            It uses Oracle 8i features, CBO, Temporary Tables,Partitioned Tables, and Materialized views.
97. What are the parameters of the FND_REQUEST.SUBMIT_REQUEST ?

    Application short name, program name, description, start time, sub request, argument1 to argument100.

98. What is the Application Name in CP Executable and CP windows?

   In CP Executable, Application Name determines in which directory your report executable is stored.

   In CP window, it is the name of the ORACLE user names your program runs and where to place the log and output files.

99. How do you get the ORG_ID?
     
    DBMS_APPLICATION_INFO.SET_CLIENT_INFO (ORG_ID);

100. Can we use transaction control statements in Triggers?

    Yes, we can use them only in autonomous triggers.