Friday, February 18, 2011

Oracle APPS interview questions

1.List of some API’S
 FND_PROGRAM.EXECUTABLE
 FND_PROGRAM.REGISTER
 FND_PROGRAM.PARAMETER
 FND_PROGRAM.ADD_TO_GROUP
 FND_REQUEST.SUBMIT_REQUEST
 FND_PROFILE.VALUE
 FND_PROFILE.GET

2.How to get second parameter value based on first parameter?

 $flex $ value setname.

3.Forms can be development in APPS in two ways
 A) Customization by extension (using template.fond)
 B) Customization by modification (using custom.pll)

4.How to call WHO columns into the form
 By using FND_STANDARD API’S
  1. FND_STANDARD.FORM_INFO
   Provides information about the form.
   Should be called form when_new_form – instance – instance trigger.
  2. FND_standard.set_who
   loads WHO columns with proper user information.
   Should be called from PRE_UPDTE and PRE_INSERT
   Triggers for each block with WHO fields
   If this is used FND-GLOBAL need not be called.
   (FND_GLOBAL.WHO)
  3. FND_STANDARD.SYSTEM_DATE
   This is a function which returns date.
   Behave exactly like SYSDATE built-in.
  4. FNID_STANDARD.USER
   This is a function which returns varchar2
   Behaves exactly like built in USER.
  5.APPCORE API’S
   APP_COMBO
   APP_DATE
   APP_EXCEPTION
   APP_FIELD
   APP_FIND
   APP_ITEM
   APP_ITEM_PROPERTY
   APP_NAVIGATE
   APP_RECORD
   APP_REGION
   APP_STANDARD
   APP_WINDOW

  6.FNDSQF API’S
   FND_CURRENCY
   FND_DATE
   FND_GLOBAL
   FND_ORG
   FND_STANDARD
   FND_UTILITIES.OPEN_URL
   FND_UTILITIES. PARAM_EXISTS

7.How to call flex fields in the form?

   By using FND_FLEX.EVENT (EVENT varchar 2)

8.How to register an executable and define a concurrent program through backend?

 By using concurrent processing API’S
 1. FND_CONC_GLOBAL.REQUEST_DATA.SET_REQUEST_GLOBALS
 2. FND_CONCURRENT.AF_COMMIT
          .AF_ROLLBACK
          .GET_REQUEST_STATUS
          .WAIT_FOR_REQUEST
          .SET_COMPLETION_STATUS
 3. FND_FILE .
            . PUT_LINE
            .NEW_NAME
            .PUT_NAMES
              .CLOSE
 4. FND-PROGRAM . MESSAGE
 . EXECUTABLE
 . REGISTER
 . PARAMETER
 . IN COMPATIBILITY
 . EXECUTABLE_EXISTS
 5. FND_REQUEST . SET-OPTIONS
 .SET_REPEAT_OPTIONS
 .SET_PRINT_OPTIONS
 .SUBMIT_REQUEST
 .SET_MODE
 6. FND_REQUEST_INFO . GET_PARAM_NUMBER
 . GET_PARAM_INFO
 . GET_PROGRAM
 . GET_PARAMETER
 7. FND_SET . MESSAGE
 .ADD_PROGRAM
 .ADD_STAGE
 .IN COMPATIBILITY
 8. FND_SUBMIT . SET_MODE
 .SET_REQUEST_STATUS
 .SUBMIT_PROGRAM
 .SUBMIT_SET
 9. FND_PROGRAM.EXECUTABLE
 - is used to define a concurrent program executable
 - it takes 8 parameters ( all are IN mode )
 syntax procedure FND_PROGRAM.EXECUTABLE
 (executable IN varchar2,(Full name) à application IN varchar2,(executable short  name) à short name IN varchar2,description IN varchar2 default null
 execution_method IN varchar2,execution_file_name IN varchar2 default null,
 (only fol spauned & Immedaite) à subroutine_name IN varchar2 default null,
 icon_name IN varchar2 default null,language_code IN varchar2 default (VS)
 (for Java Conc Program) à execution_file_path IN varchar2 default null,

10. FND_PROGRAM.REGISTER
 - this procedure no used to define a concument program.
 - It has 30 IN paranmeters. Out of which 9 are mandatory, the remaining are  default.
 Syntax procedure FND_PROGRAM.REGISTER
 (program IN varchar2,application IN varchar2,enabled IN varchar2,short_name IN  varchar2,description IN varchar2, default null,( executable_short_name)  executable_name IN varchar2 executable_application IN varchar2,
 mls_function_shelt_name IN varchar2,mls_function_application IN varchar2,
 incrementor IN varhcar2);

11. How to register a table and columns through back end?

 by using AD_DD package
 - for registering a table à AD_DD.REGISTER_TABLE
 - for registering columns à AD_DD.REGISTER_COLUMN.
 - AD_DD BPI doesn’t check for the existence of the registered table or column in  the data base schema, but only updates the required SQL tables.
 - It should be ensured that, all the tables and columns registered exist actually  and have the same format as that defined using AD_DD API.
 - Views need not be registered.
12. How to write to a file through concurrent program.

 By using FND_FILE package and it can be used only for log and output files.
 FND_FILE package contains procedures to write text to log and output files.
 FND_FILE supports a maximum buffer line size of 32k for both and output files.

13. FND_FILE.PUT
 - this is used to write text to a file with out a new line character
 - Multilane calls to FND_FILE.PUT will produce consummated text.
 Procedure FND_FILE.PUT (which IN Number,Buff IN varchar2);

14.Which log output file
 - can be FND_FILE.LOG or FND_FILE.OUTPUT.
 2. FND_FILE.PUT_LINE
 - this procedure as used to write a line of text to a file followed by a new line  character.
 Procedure FND_FILE.PUT_LINE (which IN number,buff IN varchar2);
 EX:- FND_FILE.PUT_LINE( FND_FILE.LOG, find_message_get);
 3. FND_FILE.NEW_LINE
 - this procedure is used to write line terminators to a file
 procedure FND_FILE.NEW_LINE (which IN number LINES IN NATURAL:=1);
 Ex:- to write two newline characters to a log file Fnd_file.new_line  (fnd_file.log,2);
 4. FND_FILE.PUT_NAMES
 - this procedure as used to set the temporary log file and output filenames and  the temporary directory to the user specified values.
 - This should be called before calling my other FND_FILE procedure and only once  per a session.

15.Function FND_REQUEST.SUBMIT_REQUEST
 ( application in varchar2 default null,
 program in varchar2 default null,
 description in varchar2 default null,
 start-time in varchar2 default null,
 sub_request in bookan default False,
 argument1,
 argument2,
 argument 100) return number;
 * If this is submitted from oracle forms, all the arguments ( 1 to 100 ) must be  specified.

16. How to display Request ID in the reports?

 By using the parameter P_CONC_REQUEST_ID
 which needs to be defined always in the reports.

17. How to get username / user id in reports?

 - By using the API FND_PROFILE THE OPTION values
 can be manipulated in client / server profile caches
 - FND_PROFILE.GET, FND_GLOBAL.USER_ID,FND_GLOBAL.USER_NAME
 - this procedure is located in FNDSQF library.
 - This procedure is to located to get the current value of the specifed user profile  option or null if the profile does not exist.
 - The server_side PL/SQL package FND_GLOBAL returns the values which need to  set who columns for inserts and updates from stored procedures.
 - Procedure FND_PROFILE.GET ( name in varchar2,Value out varchar2);
 FND_PROFILE.GET (‘USER_ID’, user_id);
 FND_PROFILE.VALUE
 - this function exactly works like GET, except it returns the values of the  specified profile option as a function result
 Function FND_PROGILE.VALUE (name in varchar2
 Return varchar2;

 FND_PROFILE.PUT
 - this is used to put a value to the specified profile option
 - if the option doesn’t exist, it can also be created with PUT.
 Procedure FND_GET (‘USERNAME’, user name);
 FND_PROFILE.GET (‘USER_ID’, user_id);
 - username, user-id, vsp_id , Appl_shrt_Name, Resp_Appl_Id, Form_Name,  Form_id, Form_Appl_Name, Form_Appl_Id, Logon_Date, Last_Lagon_Date,  login_id, Gone_Request_Id, Gone_Program_Id,Gone_program_Application_Id,  Gone_Login_Id, Gone_Print_Output, Gone_printstyle_ these are the user profile  options that can be accessed via user profile option routines .
 - the values of these profile options can be retrieved in forms, reports and  program
 - these values cannot be changed except Gone_Print_Output and  Gone_Print_Style.
 - SA’s and end users also cannot see the values or change these values.
 In which directory log and output files are stored?
 APPLCSF is the top level directory in which the concurrent manager puts logs and  output files.
 APPLLOG and APPLOUT are the subdirectories in which the concurrent manager  puts log and output files.
 APPLCSF variable need to be set in the prod.env ( environmental variable ), so  that all product log files
 $ APPLCSF/ $ APPLLOG à log files
 $APPLCSF/ $ APPLOUT à out files

 concurrent manager log and out put files should go to $ FND_TOP/ $ APPLOG and  $ FND _TOP / $APPLOUT if $ APPLCSF is not set.

18. How to submit concurrent programs through OS?

 - From the operating system the utility .CONCSUB is used to submit is concurrent  program.
 - This is basically used to test a concurrent program .
 - By using the WAIT token. The utility checks the request status every 60  seconds and returns the OS prompt upon completion of the request.
 - Concurrent manager doesnot abort, shutdown or start up until the concurrent  request completes.
 * If the concurrent program is compatible with it self, it can be checked for data  integrity and dead locks by submitting it many times so that it runs concurrently  with it self.
 *PL/SQL procedures can submit a request to run a program as a concurrent  process by calling.
 FND_REQUEST. SUBMIT_REQUEST.
 Before submitting a request, the following functions also should be called  optionally.
 FND_REQUEST.SET_OPTIONS
 FND_REQUEST.SET_REPEAT_OPTIONS
 FND_REQUEST.SET_PRINT_OPTIONS
 FND_REQUEST.SET_MODE

19. How to checks the request states?

 - A PL/SQL procedure can check the status of a concurrent request by calling.
 FND_CONCURENT.GET_REQUEST_STATUS
 FND_CONCURRENT.WAIT_FOR_REQUEST
 FND_CONCURRENT.GET_REQUEST_STATUS
 - This function returns the status of a concurrent request
 - If the request is already computed, it also returns the completion message.
 - This function returns both user friendly (translatable) phase and status values  as well as developer phase and status vales that can drive program logic.
 Syntax Function FND_CONCURRENT.GET_REQUEST_STATUS
 ( request_id in out number,
 application in varchar2 default null,
 program in varchar2 default null,
 phase out varchar2,
 status out varchar,
 dev_phase out varchar2,
 dev_status out varchar2,
 message out varchar2) return BOOLEAN;
 - when application and program are specified, the request_id of the last request  for the specified program should be returned to request_id.
 - Phase, and status values should be taken from
 FND_LOOKUPS
 dev_phase dev_status
 pending normal, standby, scheduled, paused
 running normal, waiting, resuming, terminating.
 Complete normal, Error, warning, cancelled, terminated
 Inactive disabled, on-hold, No-manager, supended
 - FND_REQUEST.WAIT_FOR_REQUEST
 - This function waits for request completion, then returns the request  phase/status and completion message to the caller.
 - Goes to sleep between checks for request completion.
 Syntax FND_CONCURRENT.WAIT_FOR_REQUEST
 ( request_id in number default null,
 interval in number default 60,
 max_wait in numbe default 0,
 phase out varchar2,
 status out varchar2,
 dev_phase out varchar2,
 dev_status out varchar2,
 message out varchar2) return BOOLEN;
 FND_CONCURRENT.SET_COMPLETION_STATUS
 - this function should be called from a concurrent program to set its completion  states.
 - This function returns TRUE on success, other wise FALSE.
 Syntax function FND_CONCURRENT.SET_COMPLETION_STATUS
 ( status in varchar2, message in varchar2) return BOOLEAN;


20. How to generate fmx at OS level?

 - Forms can be generated on the forms server as the APPLMGR user.
 - Generating the form on the Form server, $ FORM60_PATH

 Should be set and the current directory should be $AV_TOP/forms?us.
 Syntax à $F60 gen userid=apps/appsp module=<form_name>. Fmb
 Output_file=<schema_top>/forms?<language>/<form_name>.fmx
 Module_type=form bath =no compile_all=special




21.
Flex fields:

Used to store information regarding industry, work or person.
Flexfiled  are made up of subfields and segments. They ca be differentiated into Key flexfield (KFF) and descriptive flexfiled(DFF)
KFF stores the key information of an organization, which appears as normal text field.
Where as descriptive flexfield stores the additional information, appears in square bracket, and show the value only if it is clicked.

Meaning full keys are called intelligent keys.

KFF & DFF uses Segment, value, validation, value set, and structure

Segment:-Subfields can be defined for the flexfield called segments. In database it will be stored in a single data column.

Value, Validation, Valuset:-are user dependent values given for the described segments.

e.g:-a segment Age has value column to be filled up, valueset can be 20, 30and 40 as we can set. After validation only defined value set can be accessed or compiled.
Structure:-Configuration of segment.

DFF used two different types of segments

1. Global-appears in pop-up window always.

2. Context Sensitive-optional to be viewed

Qualifiers:
Flexfield uses Qualifiers to identify a particular segment of KFF

1 comment:

  1. Hi first Thanks for your great works. I have couple of doubt.
    1. One manager approving PO for one set of book only need to add one more set of book how?
    2.Fully unmatched PO is finnlay closed. How to fix this one. every month encum.GL entry creating.
    sap support package stack

    ReplyDelete