| 1) What is an EO? |
| a. Map to a database table or other data source |
| b. Each entity object instance represents a single row |
| c. Contains attributes representing database columns |
| d. Fundamental BC4J object through which all inserts/updates/deletes interact with the database |
| e. Central point for business logic and validation related to a table |
| f. Encapsulates attribute-level and entity-level validation logic |
| g. Can contain custom business methods |
| 2) What is a VO? |
| a. Represent a query result |
| b. Are used for joining, filtering, projecting, and sorting your business data |
| c. Can be based on any number of entity objects |
| d. Can also be constructed from a SQL statement |
| 3) What are the methods in controller? |
| ProcessRequest, ProcessformData and processformrequest |
| ProcessRequest : is called when the page is requested for the first time from the server. |
| ProcessFormRequest : is called when some event occurs on the page |
| ProcessformData(not visible). : Used to capture Data from the form fields which the user has entered and post it into Model Layer. |
| 4) What is a Controller? |
| Controller is the java file and can be associated to a complete OAF page or to a specific region. |
| There are several tasks you will do routinely in your code. |
| Handle button press and other events |
| Automatic queries |
| Dynamic WHERE clauses |
| Commits |
| JSP Forwards |
| The logic for accomplishing all these tasks is written in controller |
| 5) When is the processRequest method called? |
| PR method is called when the page is getting rendered onto the screen |
| 6) When is processFormRequest method called? |
| PFR method is called when we perform some action on the screen like click of submit button or click on lov |
| 7) What is extension? |
| Extension is when you take an already existing component ex an OAF page or a region and then add some more functionality to it |
| without disturbing the original functionality. |
| 8) What is personalization? |
| Oracle Apps Framework has an OA Personalization Framework associated with it so that you can personalize any OAF page in an |
| Oracle E-business Suite application without changing the basic or underlying code of that OA Framework page, Oracle Application |
| Framework makes it very easy to personalize the appearance of the page or even the personalization of data displayed on to an OA |
| Framework page. |
| 9) What are levels of personalization? |
| 1. Function Level |
| 2. Localization Level |
| 3. Site Level |
| 4. Organization Level |
| 5. Responsibility Level |
| 6. Admin-Seeded User Level |
| 7. Portlet Level |
| 8. User Level |
| 10) What is BC4J? |
| Business Components for Java is JDeveloper’s programming framework for building multitier database applications from reusable |
| business components. These applications typically consist of: |
| • A client-side user interface written in Java and/or HTML. |
| • One or more business logic tier components that provide business logic and views of business objects. |
| • Tables on the database server that store the underlying data. |
| 11) What are all the components of BC4J? |
| Following are the components of BC4J: |
| • Entity Object - EO encapsulates the business logic and rules. EO’s are used for Inserting, Updating and Deleting data from the |
| database table. E0 is also used for validating the records across the applications. |
| • View Object - View object encapsulates the database query. It is used for selecting data. It provides iteration over a query result |
| set. VO’s are primarily based on EO’s. It can be used on multiple EO’s if the UI is for update. |
| • Application Module - Application Modules serve as containers for related BC4J components. The pages are related by |
| participating in the same task. It also defines the logical data model and business methods needed. |
| 12) What is an EO? |
| EO encapsulates the business logic and rules.EO’s are used for Inserting, Updating and Deleting data. This is used for validating |
| across the applications. We can also link to other EO’s and create a Association object. |
| 13) What is an VO? |
| View object encapsulates the database query. It is used for selecting data. It provides iteration over a query result set.VO’s are |
| primarily based on Eo’s. It can be used on multiple EO’s if the UI is for update. It provides a single point of contact for getting and |
| setting entity object values. It can be linked together to form View Links. |
| 14) What is an AO? |
| An association object is created where we link EO’s. For example take the search page where we link the same EO to form a association between |
| the manager and employee. Every employee should have a manager associated. But if it President then no there is no manager associated. |
| This is a perfect example to understand the AO. |
| 15) What is an VL? |
| A view link is an active link between view links. A view link can be created by providing the source and destination views and source and |
| destination attributes. There are two modes of View link operation that can be performed. A document and Master/Detail operation. |
| 16). What is UIX? |
| UIX is an extensible, J2EE-based framework for building web applications. It is based on the Model-View-Controller (MVC) design pattern, which |
| provides the foundation for building scalable enterprise web applications. |
| 17). Where the VO is located in the MVC architecture? |
| VO is located in the View Layer in MVC which is responsible for presenting the data to the user. |
| 18) Which package should include EO and AO. |
| The EO and AO will be present in the schema.server package. |
| 19) What is the difference between inline lov and external lov. |
| Inline lov is a lov which is used only for that particular page for which it was created and cannot be used by any other page. |
| External lov is a common lov which can be used by any page. It is a common component for any page to use it. |
| It can be used by giving the full path of the lov in the properties section “External LOV” of the item. |
| 20) what is a Javabean? |
| JavaBeans is an object-oriented programming interface that lets you build re-useable applications or program building blocks called components |
| that can be deployed in a network on any major operating system platform. |
| 21) What is query Bean? |
| QueryBean is used to execute and return the results of a query on behalf of the QueryPortlet application. |
| 22) what is the difference between autocustomization criteria and result based search? |
| Results based search generates search items automatically based on the columns on the results table. |
| In Autocustomization search we need to set what all fields are required to display as a search criteria. |
| 23) what is MDS? |
| MDS is MetaData Service. When a web page is broken into small units like buttons,fields etc they are stored in a database. |
| These are not stored as binary files but as data in tables. The data are present in JDR tables. MDS provides service to store & return page definitions. |
| MDS collects those definitions in components/fields in a meaningful manner to build a page. |
| 24) What is XML? |
| XML is a markup language for documents containing structured information. |
| Structured information contains both content (words, pictures, etc.) and some indication of what role that content plays |
| (for example, content in a section heading has a different meaning from content in a footnote, which means something different than content in |
| a figure caption or content in a database table, etc.). |
| 25) What is the difference between customization and extension? |
| Customization is under direct user control. The user explicitly selects between certain options. Using customization a user can: |
| Altering the functionality of an application |
| Altering existing UI |
| Altering existing business logic |
| Extension is about extending the functionality of an application beyond what can be done through personalization. Using extension we can: |
| Add new functional flows |
| Extend or override existing business logic |
| Create New application/module |
| Create New page |
| Create New attribute |
| Extend/Override defaults & validations |
| 26) What is Personalization? |
| Personalization enables you to declaratively tailor the UI look-and-feel, layout or visibility of page content to suit a business need or a |
| user preference. Using Personalization we can: |
| • Tailor the order in which table columns are displayed. |
| • Tailor a query result. |
| • Tailor the color scheme of the UI. |
| • Folder Forms |
| • Do Forms Personalization |
| 27) Can you extend every possible Application Module? |
| No..Root AM cannot be extended. |
| 28) What is rootAM? |
| The application module which is associated with the top-level page region (the pageLayout region) is root application module. |
| 29) Why can’t Root AM be extended? |
| The root AM is loaded first and after that the MDS Substitutions are parsed. |
| Hence ROOT AM gets loaded even before the time the substitutions definition from MDS layer get worked out. |
| Obviously, the root am cant substitute itself, hence it can’t be extended |
| 30) What are the various profile options in OAF? |
| FND Diagnostics: required for ABOUT THIS PAGE and Diagnostic link on page. |
| Personalize Self Service Definitions: To enable Personalize page link on the page. |
| FND Personalization Region Link Enabled: used to enable Region Personalization links at every region. |
| FND Migrate to JRAD: By default set to Yes. Page would run from MDS if Yes, else it will run from AK. |
| FND Document root path: required for personalization migration. It is set to path of the MDS folder on the respective servers. |
| FND Branding image: |
| FND Banding Size: these profiles options are used for changing standard image (Oracle) on the page. |
| 31) Steps for VO substitution? |
| 1. About this Page-> VO, AM, EO, Path of Page |
| 2. Export Commad (in cmd Prompt) |
| 3. New .jpr =Open page |
| 4. Look for AM and VO or EO. |
| 5. Copy the class files of VO,AM or EO |
| 6. Decompile into Java and store it into MyProjects (with respective directory structure) |
| 7. Open VO.xml in a new jpr |
| 8. Create a new BC4J based on your Original VO. |
| 9. Create a new VO and extends original VO |
| 10. Change the query |
| 11. Rebuild the project |
| 12. Go to .jpx(double click) |
| 13. Go to Substitutions |
| 14. Substitute Vo |
| 15. Rebuild your Project .jpr |
| 16. Transfer New VO class and xml to respective directory structure |
| 17. FTP .jpx into $JAVA _TOP |
| 18. unix command promrt CD$ JAVA_TOP |
| 19. jpx importer command |
| 20. Bounce Apache Server |
| 32) What are different methods for passing paramaters? |
| 1. Tokens eg. vname={@AttributeName} |
| 2. Hash Maps eg. HashMap variablename=nre HashMap(); |
| 3.ThroughSession eg. pageContext.putSessionvalue(“ParamterName”,ParameterValue) |
| 33) setForwardURL list |
| There are many parameters, here is the complete list of it:- |
| public void setForwardURL(String functionName, |
| byte menuContextAction, |
| String menuName, |
| com.sun.java.util.collections.HashMap parameters, |
| boolean retainAM, |
| String addBreadCrumb, |
| byte messagingLevel) |
| Parameters: |
| functionName - This is the function name representing the page you want to forward to. If its null, an IllegalArgumentException will be thrown. |
| Also if the function is not under the current HOMEPAGE a OAException will be thrown. |
| menuContextAction – Determines the behavior of the MenuContext after forwarding to the new page. It accepts the following values: |
| OAWebBeanConstants.KEEP_MENU_CONTEXT: Keeps the menu context as is. |
| OAWebBeanConstants.KEEP_NO_DISPLAY_MENU_CONTEXT: Keeps the menu context as is, but will not display all menus including global buttons. |
| OAWebBeanConstants.KEEP_NO_DISPLAY_MENU_CONTEXT_RETAIN_GLOBAL_BUTTONS: Keeps the menu context as is, but will not display all |
| menus excluding global buttons. |
| OAWebBeanConstants.REMOVE_MENU_CONTEXT: Removes the menu context |
| OAWebBeanConstants.GUESS_MENU_CONTEXT: Selects the given functionName function if it exists in the current menu. |
| If not it will try to make a guess by moving up the menu tree until it finds it. An exception will be thrown if the function could not be located. |
| OAWebBeanConstants.RESET_MENU_CONTEXT: Reset the menu context to the given functionName and menuName. |
| menuName – The name of the HOMEPAGE menu to reset the Menu context to when the menuContextAction is |
| OAWebBeanConstants.RESET_MENU_CONTEXT. |
| If the menuName is not of type HOMEPAGE a OAException will be thrown. You can pass null otherwise. |
| parameters - |
| HashMap of parameter name/value pairs to append to the forward URL. The final forward URL parameters are in the following sequence: |
| It will first get the function’s corresponding URL call by querying the function information from the database. If the user is not authorized to execute |
| this function, a security OAException will be thrown. |
| It will then append all parameters passed in the parameters HashMap. First parameter added to the HashMap will be first added to the URL. them to the URL. |
| Also the framework will encode all parameter values before appending |
| It will remove all parameters if they have null values in the passed parameters HashMap. This provides an easy way for developers to set a certain |
| parameter’s value to null if they want to remove it. |
| It will remove any OA Framework internal URL parameters such as bcrumb, retainAM, and so on.. |
| retainAM – If true, all the cached application modules will be retained. If false, all the cached application modules will be released. |
| Developers must use this parameter to control the release behavior of the cached appplication modules. |
| This method will ignore any retainAM=true or retainAM=false as a URL parameter or as part of parameters |
| 34) Code to copy rows in VO |
| public void copy() |
| { |
| SuppliersVOImpl pervo = getSuppliersVO1(); |
| Row row[] = pervo.getFilteredRows("SelectFlag","Y"); |
| for (int i=0;i<row.length;i++) |
| { |
| SuppliersVORowImpl rowi = (SuppliersVORowImpl)row; |
| OADBTransaction trx = (OADBTransaction)getTransaction(); |
| Number b = trx.getSequenceValue("FWK_TBX_SUPPLIERS_S"); |
| AttributeList a = (AttributeList)rowi; |
| SuppliersVORowImpl r =(SuppliersVORowImpl)pervo.createAndInitRow(a); |
| //Set here your unique attribute values, I'm setting here Supplier Id as for every new row it should be different. |
| r.setSupplierId(b); |
| pervo.insertRow(r); |
| } |
| } |
| 35)what for isPreparedForExecution() and executeQuery() methods used? |
| isPreparedForExecution function will check whether all parameters are assigned properly and query is ready for execution. |
| On multiple navigations to the page this query will not be executed multiple times. |
| While executeQuery function is used for executing the VO query so that it can fetch the data from database into VO cache. |
| 36) What is the pattern used in developing any OAF component? |
| MVC (Model, View, Controller) |
| Lists the components in the MVC architecture |
| Model: Application Module, View Objects, View Links, Entity Objects, Entity Associations etc. |
| View: Page, Region, Attributesets etc. |
| Controller: Controller class files |
| 37) Which is the component responsible for user actions? |
| Controller is the object. The code present in ProcessFormRequest gets executed up on the user action. |
| 38) If we have to initialize something during the page loading, which is the right place? |
| ProcessRequest() method of the Controller file is the right place. |
| 39) What is the significance of ProcessFormData()? |
| For a ‘POST’ request the data on the page is binded to the view object in this method |
| 40) Does ‘GET’ request result in calling ProcessFormData()? |
| No, only POST request calls that. |
| 41) What is the main Controller component in OAF? |
| OAController is the main class and our controller will become subclass of it. |
| 42) How does page structure get created at runtime? |
| OAPageBean is responsible for creating the bean hierarchy structure at runtime after calling ProcessRequest() of each of the beans in the hierarchy. |
| 43.Where does the client BC4J objects get placed in the server? |
| They are located in the oracle.apps.<product>.<application>.server |
| 44.Where does the server BC4J objects get placed in the server? |
| They are located in the oracle.apps.<product>.<application>.schema.server |
| 45.Where does the Page and Controller related files get placed? |
| They are located in oracle.apps.<product>.<application>.webui |
| 46.What are Validation View Objects? |
| They are the VVO’s used in validation of attributes, they are the BC4J components and have their AM ie VAM Validation Application Module |
| 47. What is the version of Jdeveloper to be used in 11i or R12? |
| For 11i, Jdeveloper 9i will be used and for R12 Jdeveloper 10g will be used. |
| 48. What is a Database Connectivity File? |
| It is a .dbc file which is specified in the project properties. The location of this file on the server is $FND_TOP/secure |
| 49. What is a View Object? |
| It is a BC4J(Business Component for Java) object which encapsulates the query results. |
| View objects will support the display of the content to user in the Page. |
| 50. How do you create a view object? |
| View objects can be created in the Business components package, can be based on entity objects or an sql query. |
| View objects based on sql query are read only view objects |
| 51. What is an entity object? |
| Entity object is created based on a database table, it is responsible for insertion/updation/validation of the table data. |
| They are stored in the oracle.apps.<prod>.<application>.schema.server package directory |
| 52. What is an Application Module(AM)? |
| Application module holds the related objects pertaining to an application ie. View objects, Entity Objects etc. The application module helps |
| in getting the required database connection, maintains the page session or transaction context |
| 53. What is the object passed to every page request? |
| OAPageContext object is passed to every request, using this object the controller initializes the application module object and |
| will call the required methods. |
| 54. Where is the view object(VO) initialization or query filtering done? |
| It is done with view object implementation class Ex. EmpVOImpl.java |
| 55. What is the property to set for an AM so that the transaction state is maintained across pages? |
| RETENTION_LEVEL property is set to value MANAGE_STATE for an AM. |
| 56.What is the Personalization? |
| Personalization means changes to the existing ‘Page’ according to the customer requirement |
| 57.Give some examples of Page Personalization? |
| Addition of new columns to a table results, adding of fields, changing the order of regions, columns etc. |
| Apart from this validation of certain fields, display of Descriptive flex fields etc can also be achieved |
| 58. What is extension? |
| Extension is the changing of the existing components for adding more features or customer required features. View Objects, Controller, |
| Application Module can be extended. |
| 59. What is substitution? |
| When view objects are extended, we need to tell the applications that our extended view object should be used or substituted during runtime, |
| substitution will serve this purpose |
| 60. How to do register a new OA Framework page in Oracle Applications? |
| oracle.jrad.tools.XMLImporter utility will be used. After successfully importing the page data will be stored in metadata |
| repository tables of the database |
| 61. How do you move personalization from one machine to another? |
| Using the functional administrator responsibility the xml file can be downloaded, this file contains the required personalization done on a |
| Here XML Importer utility can be also used in particular page. The same can be used to upload in a different instance. |
| 62. How is the applications security maintained during the OA Framework components development or how is the required security obtained? |
| The Database connectivity file ( .dbc file) has the applications username and password along with the responsibility to be used for connecting |
| to the applications at page run time. |
| 63. What are the different layers of onion reuse object model in OAF? |
| The hierarchy is as : |
| Controller (XXCO.java) |
| |__ |
| Application Module (XXAMImpl.java, XXAM.xml) |
| |__ |
| View Objects(XXVOImpl.java, XXVORowImpl.java, XXVO.xml) |
| |__ |
| Entity Objects(XXEOImpl.java, XXEO.xml) |
| |_ Database |
| 64. What is ‘Partial Page Rendering’ PPR? |
| A. PPR is a mechanism where in only the required part of the page is refreshed as against the whole page. The page objects fire the ‘events’ |
| and accordingly the request is handled in the controller file |
| 65. What are the search region options available? |
| Simple Search – ResultBasedSearch is the construction mode for the region |
| Advanced or autocustomization search – Autocustomization is the mode here |
| None – User has the develop the page, regions, controller etc here |
| 66. What is the bean used for supporting transactions across pages visually to the user? |
| OATrainBean is used to link the pages across the transaction. AM supports the transaction context or state here across the pages. |
| 67. How does personalization takes its effect at runtime? |
| After the page structure or bean hierarchy is formed with, the personalization layers get applied on top of it to come up with the final structure. |
| Remember that is the reason why personalization is upgrade safe. |
| 68. Name some components requiring extension? |
| View Objects, Controller, Application Module. Yes nested application module concept is allowed. |
| After you modify a class file and move it to the server what is the immediate step that will be followed? |
| The services of the instance ie. Apache server etc. have to be bounced so that the new code in the class file takes effect. |
| 69.) Where does the two categories of files in OAF be placed in the server? |
| All the xml files of the page/region will be placed in the respective TOP’s mds directory. All the class files irrespective of TOP will be |
| placed under $JAVA_TOP which can be $COMMON_TOP/java |
| 70. When do you create additional business components package? |
| Apart from B4CJ client business components package and B4CJ server business components package we create additional business |
| components package when we develop any sharable thing such as ‘LOV’ (List of Values), ‘Poplist’ etc which will be used in multiple pages |
| 71) How do you map the LOV created to your base page? |
| One of the items in the page has to be MessageLOVInput which extends the new LOV region, apart from this LOV mappings between base page |
| and LOV region have to be created. |
| 72) What is the default top region of any new page that you create? |
| PageLayout is the top level default region |
| 73) At what level region controller for a page can be set? |
| It can be under a Main region under PageLayoutRegion or any region as per the business need.Provision of defining multiple controllers |
| for a page also exist |
| 74) PPR follows GET or POST flow? |
| POST flow |
| 75) What is the extension to the tool for developing OA F components? |
| Jdeveloper OA Extension class support the OA F development |
| 76) What are the methods in controller? |
| ProcessRequest and processformrequest |
| 77) What is a Controller? |
| Controller is the java file and can be associated to a complete OAF page or to a specific region. |
| There are several tasks you will do routinely in your code. |
| ? Handle button press and other events |
| ? Automatic queries |
| ? Dynamic WHERE clauses |
| ? Commits |
| ? JSP Forwards |
| The logic for accomplishing all these tasks is written in controller |
| 78) When is the processRequest method called? |
| PR method is called when the page is getting rendered onto the screen |
| 79) When is processFormRequest method called? |
| PFR method is called when we perform some action on the screen like click of submit button or click on lov |
| 80) What are levels of personalization? |
| 1. Function Level |
| 2. Localization Level |
| 3. Site Level |
| 4. Organization Level |
| 5. Responsibility Level |
| 6. Admin-Seeded User Level |
| 7. Portlet Level |
| 8. User Level |
| 81) What is the difference between inline lov and external lov. |
| Inline lov is a lov which is used only for that particular page for which it was created and cannot be used by any other page. |
| External lov is a common lov which can be used by any page. It is a common component for any page to use it. It can be used by giving the full path |
| of the lov in the properties section “External LOV” of the item. |
| 82) What is a Javabean? |
| JavaBeans is an object-oriented programming interface that lets you build re-useable applications or program building blocks called components |
| that can be deployed in a network on any major operating system platform. |
| 83) What is query Bean? |
| QueryBean is used to execute and return the results of a query on behalf of the QueryPortlet application. |
| 84) What is the difference between autocustomization criteria and result based search? |
| Results based search generates search items automatically based on the columns on the results table. |
| In Autocustomization search we need to set what all fields are required to display as a search criteria. |
| 85) What is MDS? |
| MDS is MetaData Service. When a web page is broken into small units like buttons,fields etc they are stored in a database. These are not stored as |
| binary files but as data in tables. The data are present in JDR tables. MDS provides service to store & return page definitions. MDS collects those |
| definitions in components/fields in a meaningful manner to build a page. |
| 86) What is XML? |
| XML is a markup language for documents containing structured information. |
| Structured information contains both content (words, pictures, etc.) and some indication of what role that content plays (for example, content in a |
| section heading has a different meaning from content in a footnote, which means something different than content in a figure caption |
| or content in a database table, etc.). |
| 87) What is the difference between customization and extension? |
| Customization is under direct user control. The user explicitly selects between certain options. Using customization a user can: |
| Altering the functionality of an application |
| Altering existing UI |
| Altering existing business logic |
| Extension is about extending the functionality of an application beyond what can be done through personalization. Using extension we can: |
| Add new functional flows |
| Extend or override existing business logic |
| Create New application/module |
| Create New page |
| Create New attribute |
| Extend/Override defaults & validations |
| 88) What is Personalization? |
| Personalization enables you to declaratively tailor the UI look-and-feel, layout or visibility of page content to suit a business need or a user preference |
| Using Personalization we can: |
| • Tailor the order in which table columns are displayed. |
| • Tailor a query result. |
| • Tailor the color scheme of the UI. |
| • Folder Forms |
| • Do Forms Personalization |
| 88)Can you extend every possible Application Module? |
| No..Root AM cannot be extended. |
| 89) What is root AM? |
| The application module which is associated with the top-level page region (the pageLayout region) is root application module. |
| 90) Why can’t Root AM be extended? |
| The root AM is loaded first and after that the MDS Substitutions are parsed. |
| Hence ROOT AM gets loaded even before the time the substitutions definition from MDS layer get worked out. |
| Obviously, the root am cant substitute itself, hence it can’t be extended |
| 91) What is MVC Architecture? |
| MVC Architecture is a Model View Controller Architecture. The controller responds to user actions and directs application flow. The model |
| encapsulates underlying data and business logic of the application. The view formats and presents data from a model to the user. |
| 92) Which is the MVC layer VO located? |
| VO is located in the View Layer which is responsible for presenting the data to the user. |
| 93) Which package should include EO and AO. |
| The EO and AO will be present in the schema.server package. |
| 94) What is the difference between inline lov and external lov. |
| Inline lov is a lov which is used only for that particular page for which it was created and cannot be used by any other page. |
| External lov is a common lov which can be used by any page. It is a common component for any page to use it. It can be used by giving the |
| full path of the lov in the properties section “External LOV” of the item. |
| 95) What is a Javabean? |
| JavaBeans is an object-oriented programming interface that lets you build re-useable applications or program building blocks called components |
| that can be deployed in a network on any major operating system platform. |
| 96) What is query Bean? |
| QueryBean is used to execute and return the results of a query on behalf of the QueryPortlet application. |
| 97) What is the difference between autocustomization criteria and result based search? |
| Results based search generates search items automatically based on the columns on the results table. |
| In Autocustomization search we need to set what all fields are required to display as a search criteria. |
| 97) What is MDS? |
| MDS is MetaData Service. When a web page is broken into small units like buttons,fields etc they are stored in a database. These are not stored as |
| binary files but as data in tables. The data are present in JDR tables. MDS provides service to store & return page definitions. |
| MDS collects those definitions in components/fields in a meaningful manner to build a page. |
| 98) Why Should we give retainAM=Y? |
| The AM should be retained whenever you are navigating away from a page and when you know that there is a possibility to come back to the |
| page again and data is to be retained. Example : Any navigation link that opens in a new page or any navigation which has a |
| back button to come back to the initial page. |
| The AM should not be retained for two independent pages, especially if they have common VOs which fetch different result sets. In such cases, |
| retaining the AM may not remove the cache of VOs and so the result may not be as expected. |
| 99) What is the significance of addBreadCrumb=Y |
| Ans: The basic intention of the breadcrumb is to let the user know of the navigation path he took to reach the current page. |
| 100) How do you find right jdev patch for your oracle application version. |
| Ans: Search in oracle.metalink.com as Jdev with OA Extension. |
| 101) What are the tools you had used for decompiling java class? |
| Jad is one of the tool for decompiling the java class. |
| 102. What will setmaxFetchSize(0) will do? |
| setmaxFetchSize just determines how much data to be sent at a time. |
| 103.Can we use dynamically created VO in OAF?What is the pros and cons? |
| 104.What is advanced table in table? |
| 105.What is a HGrid? |
| A HGrid, otherwise known as a hierarchy grid, allows users to browse through complex sets of hierarchical data. |
| 106. Tell me the OAF components required for a simple search page? |
| VO,AM,Page |
| 107.What is a switcher in oAF and when it is used? |
| A switcher is a control, that allows the selective display of information.For example if you want to display a image for update enabled and |
| update disabled you can use switcher. |
| 108.What are all the methods in CO? |
| processFormRequest |
| processRequest |
| 109.When a page renders which method in CO fires? |
| processRequest |
| 110.How do you handle back button navigation in OAF based application? |
| Want to answer this section? use the comment section. |
| 111.Where will you write your business logic? |
| Model |
| 112.What will vo.createRow() do? |
| createRow creates a row in the VO. |
| 113.How do you catch the button event on ProcessFormRequest Method? |
| if (“update1?.equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM))) |
| Here update1 is the event. |
| 114.What is pageButton bar? |
| When you want to display buttons on top and bottom of the page then you create a region as pageButtonbar and create buttons within this region. |
| 115.How do you add a link to OAF Page? |
| Create a new item with style as link and give its destination uri property which is the url where you want to navigate to. |
| 116.Which is the top most region in OAF page? |
| PageLayoutRN |
| 117.What are all the several ways to debug an OAF based application? |
| We can use the debugger option .Set breakpoints and run the page in debug mode. |
| 118.How do you call an pl/sql api from OAF page. |
| To call a PL/SQL API from OAF, we use OracleCallableStatement or CallableStatement |
| 119.Should a search page have an EO? |
| Not necessary. If you are creating a record then we need a EO |
| 120.What will happen when you set DisableClientSideValidation property to True? |
| If you set the property to True it shows that there will no validation that will occur on the web tier as part of the form submit. |
| 121.What is SPEL? |
| SPEL is Simplest Possible Expression Language. It is an expression that will either return TRUE or FALSE. |
| 122.Where is a SPEL used? |
| SPEL is used in places where you want to show or hide an item programatically. |
| 123.What is PPR? |
| PPR is Partial Page rendering. Which means that only a particular part of the page is refreshed and not the entire page. |
| Examples of PPR scenarios? |
| [*]Hiding/Showing Objects[/*] |
| [*]Required/Optional[/*] |
| [*]Disabled/Enabled[/*] |
| [*]Read only/Updatable[/*] |
| 124. How do you generate stack of exception and display the list of error messages in OAF page? |
| Create an arrayList of exceptions then do a raiseBundledException. |
| 125.What is the significance of ProcessFormData method? |
| Fires when page submit happens.. |
| 126. Describe the steps for VO Extension? |
| 1. Identify VO to be extended.And Copy to your machine from server. |
| 2. Create new Vo in xx.oracle.apps package and extend parent VO. |
| 3. Create substitution in jdev. |
| 4. Deploy extended VO to $JAVA_TOP. |
| 5 .Load jpx file to database using jpximporter.. |
| 127.How to enable personlization? |
| 1.Login to the application. |
| 2.Click on Functional Administrator responsibility. |
| 3.Click on Core Services Tab. |
| 4.Click on Profiles. |
| 5.Enter Pers%Self% in Name and click Go. |
| 6.In the results you will see Personalise Self-Service Defn.Update it and enter Yes in the Site Value |
| 128. When we should bounce the page? |
| 129. What is the command used to import an oaf page and region? |
| Ans: java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/ -username <>-password <>-dbconnection “(DESCRIPTION= |
| (ADDRESS=(PROTOCOL=tcp)(HOST=[LINK=http://cpa51d.cpa.bdoutsource.com/][/LINK])(PORT=1558)) (CONNECT_DATA= (SID=<>) ) )” -rootdir . ; |
| 130. Where to locate the definition of standard OAF Pages and regions? |
| Ans: : $APPL_TOP/icx/11.5.0/mds/por/ — for purchasing |
| 131. What is Passivation? |
| Passivation is the process of saving application state to a secondary medium (the database) at specific event points so it can be restored (activated) when needed. |
| 132.How do you get the value from the database sequence? |
| OADBTransaction transaction = getOADBTransaction(); |
| Number employeeId = transaction.getSequenceValue(“SEQ Name”); |
| setEmployeeId(employeeId); |
| 133. How do you perform your validation in OAF? |
| All OAF validations are done in the Entity Object. |
| 134. How do you copy rows from one vo to another? |
| To copy multiple rows you can add the multipleSelection item for the table.Check which row is selected and write code for implementing this. |
| 135.What is a transaction unit in OAF? |
| With the transaction unit identifier, you can indicate when a specific UI task begins and ends, and if the user navigates in an unexpected |
| manner such as using the browser Back button. You can check the transaction unit status and react to ensure that inappropriate actions are |
| not performed and unwanted data in the BC4J cache is not committed. |
| 136. How to implement a dependent poplist? |
| Dependent poplist can be implemented by enabling firePartialAction and capturing the event for the source poplist and passing the value |
| selected in the source to the method where we set the where clause and execute the query for the destination poplist. |
| 137.How do we pass parameters between pages? |
| Ans: pageContext.forwardImmediately(“OA.jsp?page=/xxch/oracle/apps/fnd/test/webui/DetailsPG&fname=”+fname. |
| Here fname is the variable we are passing to the DetailsPG. |
| 138. How do we synchronize a EO and Table in the database? |
| Ans: Right click on the EO and click Synchronise. |
| 139. How to set currency formatting in an OAF advance table region? |
| Ans: pageContext.getOANLSServcies().formatCurrency(num,”USD”); |
| 140. How to call Concurrent Program in OAF? |
| public int submitRequest( String ProgramApplication ,String ProgramName ,String ProgramDescription ,String StartTime,boolean SubRequest, |
| Vector Parameters ) throws RequestSubmissionException |
| ProgramApplication -Application Short name of application under which the program is registered. |
| ProgramName – Concurrent Program Name for which the request has to be submitted. |
| ProgramDescription – Concurrent Program Description. |
| StartTime – Time at which the request should start running. |
| SubRequest – Set to TRUE if the request is submitted from another running request and has to be treated as a sub request. |
| Parameters – Parameters of the concurrent Request. |
| Example: |
| public int submitCPRequest(OAPageContext oapagecontext,OAWebBean oawebbean,Number headerId) |
| { |
| OAApplicationModule am = oapagecontext.getApplicationModule(oawebbean); |
| try { |
| OADBTransaction tx = (OADBTransaction)am.getOADBTransaction(); |
| java.sql.Connection pConncection = tx.getJdbcConnection(); |
| ConcurrentRequest cr = new ConcurrentRequest(pConncection); |
| String applnName = "PO"; //Application that contains the concurrent program |
| String cpName = "POXXXX"; //Concurrent program name |
| String cpDesc = "Concurrent Program Description"; // concurrent Program description |
| Vector cpArgs = new Vector(); // Pass the Arguments using vector |
| cpArgs.addElement((String)headerId); |
| int requestId = cr.submitRequest(applnName, cpName, cpDesc, null, false, cpArgs); // Calling the Concurrent Program |
| tx.commit(); |
| return requestId; |
| } |
| catch (RequestSubmissionException e) |
| { |
| OAException oe = new OAException(e.getMessage()); |
| oe.setApplicationModule(am); |
| throw oe; } |
| } |
| 141. How to Extend a VO which is having View Link? |
| VO extension will take of viewlink by itself So we can extend this VO as usual VO Extension. |
| 142.What is the Purpose of Serializable in OAF? |
| To Pass Multiple parameters of different type as a single |
| 143. How to Synchronize an Entity Object (EO) with Data Base? |
| Step 1 : Right click on Entity Object(EO) and click on “Synchronize with DataBase..” |
| Step 2 : Double Click on the EO, Click on Attributes in the left Panel and then Click on “New from Table….” |
| 144. What are the methods in controller? |
| Controller is having three type of methods they are |
| 1. ProcessRequest, 2.ProcessFormRequest 3. ProcessFormData |
| 145. How do you catch the button event on ProcessFormRequest Method? |
| if (pageContext.getParameter(.EVENT_PARAM). equals(“update”)) Here update is the event. |
| 146. How to create a Dynamic VO? |
| OAApplicationModule am = oapagecontext.getApplicationModule(oawebbean); |
| String DynamicVOQuery = “select a.scheduled_start_date,a.wip_entity_id,b.wip_entity_name from WIP_DISCRETE_JOBS a,WIP_ENTITIES b “; |
| DynamicVOQuery = DynamicVOQuery + "where a.wip_entity_id=b.wip_entity_id and wip_entity_name = :1 "; |
| OAViewObject DynamicViewObject =(OAViewObject) am.findViewObject("DynamicVO"); |
| if(DynamicViewObject == null) { |
| DynamicViewObject =(OAViewObject) am.createViewObjectFromQueryStmt("DynamicVO ", DynamicVOQuery); |
| DynamicViewObject.setWhereClauseParams(null); |
| DynamicViewObject.executeQuery(); oracle.jbo.Row row1 =DynamicViewObject.first(); |
| if(row1 != null) |
| { String mFndUserDescription = row1.getAttribute(0).toString(); } |
| DynamicViewObject.remove(); } |
| 147. When is processFormRequest method called? |
| ProcessFormRequest(PFR)t method is called when we perform some action on the screen like click of submit button or click on Go or any |
| action perform on the page the result is displayed is called PFR. |
| 148. Which package should include EO and AO? |
| The EO and AO will be present in the schema.server package. |
| 149.What is Activation and Passivation in OAF |
| Passivation is the process of saving application state to a secondary medium (the database) at specific event points so it can be restored A740 |
| ( activated) when needed. This restoration of data is called Activation. Passivation in OAF is done implicitly when the appropriate |
| profile options are enabled. |
| 150. What is Validation View Object(VVO), Validation Application Module , Root Application Module , View Link , Entity Expert , |
| Association Object , Attribute Set? |
| Validation View Object – A view object created exclusively for the purpose of performing light-weight SQL validation on behalf of |
| entity objects or their experts. |
| Validation Application Module – An application module created exclusively for the purpose of grouping and providing transaction context to related |
| Validation view objects. Typically, a standalone entity object or the top-level entity object in a composition would have an associated |
| validation application module. |
| Root Application Module – Each pageLayout region in an OA Framework application is associated with a “root” application module which |
| groups related services and establishes the transaction context. |
| This transaction context can be shared by multiple pages if they all reference the same root application module, and instruct the framework to |
| to retain this application module (not return it to the pool) when navigating from page to page within the transaction task. |
| View Link – Establishes a master/detail relationship between two view objects |
| Entity Expert – A special singleton class registered with an entity object (EO) that performs operations on behalf of the EO. |
| Association Object – BC4J association objects implement the relationships between entity objects. |
| For example, a purchase order header can reference a supplier, or it can own its order lines. |
| Attribute Set – Bundles of region or item properties that can be reused either as is or with modifications. |
| For example, all buttons sharing the same attribute set would have the same label and Alt text. |
Monday, June 12, 2017
Interview Questionere
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment