tag:blogger.com,1999:blog-13310096110875813832011-12-01T14:53:56.979-08:00Oracle Applications Blog - Suman ThotaOracle Applications - By Thota
(Visit www.thotasuman.com)Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-1331009611087581383.post-6338846230977106762011-12-01T14:31:00.001-08:002011-12-01T14:44:24.036-08:00Customization: Metalink Notes<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">www.thotasuman.com</a><br />Note 578466.1 Oracle Workflow Customization Policy Clarification<br />Note 395441.1 Oracle Application Framework Support Guidelines for Customer<br />Note 209603.1 Generic policy on Extensions/customizations<br /><br />--Check in www.support.oracle.com <br /><a href="http://www.thotasuman.com/" target="_blank">www.thotasuman.com</a> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-633884623097710676?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0tag:blogger.com,1999:blog-1331009611087581383.post-92196767234024012442011-12-01T12:26:00.001-08:002011-12-01T13:19:49.964-08:00Oracle Applications Framework (OAF) Interview Questions<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /><br />Oracle OA Framework Interview Questions<br /><br /> What is the pattern used in developing any OAF component?<br /> MVC (Model, View, Controller)<br /> Lists the components in the MVC architecture<br /> Model: Application Module, View Objects, View Links, Entity Objects, Entity Associations etc.<br />View: Page, Region, Attributesets etc.<br />Controller : Controller class files<br /><br /> Which is the component responsible for user actions?<br /> Controller is the object. The code present in ProcessFormRequest gets executed up on the user action.<br /><br /> If we have to initialize something during the page loading, which is the right place?<br />A. ProcessRequest() method of the Controller file is the right place.<br /><br /> What is the significance of ProcessFormData()?<br /> For a ‘POST’ request the data on the page is binded to the view object in this method<br /><br /> Does ‘GET’ request result in calling ProcessFormData()?<br /> No, only POST request calls that.<br /><br /> What is the main Controller component in OAF?<br /> OAController is the main class and our controller will become subclass of it.<br /><br /> How does page structure get created at runtime?<br /> OAPageBean is responsible for creating the bean hierarchy structure at runtime after calling ProcessRequest() of each of the beans in the hierarchy.<br /><br /><br /> Where does the client BC4J objects get placed in the server?<br />A. They are located in the oracle.apps.<product>.<application>.server<br /><br /><br /> Where does the server BC4J objects get placed in the server?<br /> They are located in the oracle.apps.<product>.<application>.schema.server<br /><br /> Where does the Page and Controller related files get placed?<br /> They are located in oracle.apps.<product>.<application>.webui<br /><br /> What are Validation View Objects?<br /> They are the VVO’s used in validation of attributes, they are the BC4J components and have their AM ie VAM Validation Application Module<br /><br /> What is the version of Jdeveloper to be used in 11i or R12?<br /> For 11i, Jdeveloper 9i will be used and for R12 Jdeveloper 10g will be used.<br /><br /> What is a Database Connectivity File?<br /> It is a .dbc file which is specified in the project properties. The location of this file on the server is $FND_TOP/secure<br /><br /> What is a View Object?<br /> 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.<br /><br /> How do you create a view object?<br /> 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<br /><br /> What is an entity object?<br /> 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<br /><br /> What is an Application Module(AM)?<br /> 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<br /><br /> What is the object passed to every page request?<br /> OAPageContext object is passed to every request, using this object the controller initializes the application module object and will call the required methods.<br /><br /> Where is the view object(VO) initialization or query filtering done?<br /> It is done with view object implementation class Ex. EmpVOImpl.java<br /><br /> What is the property to set for an AM so that the transaction state is maintained across pages?<br /> RETENTION_LEVEL property is set to value MANAGE_STATE for an AM.<br /><br /><br /><br /> What is the Personalization?<br /> Personalization means changes to the existing ‘Page’ according to the customer requirement<br /><br /> Give some examples of Page Personalization?<br /> 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<br /><br /> What is extension?<br /> Extension is the changing of the existing components for adding more features or customer required features. View Objects, Controller, Application Module can be extended.<br /><br /> What is substitution?<br /> 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<br /><br /> How to do register a new OA Framework page in Oracle Applications?<br /> oracle.jrad.tools.XMLImporter utility will be used. After successfully importing the page data will be stored in metadata repository tables of the database<br /><br /> How do you move personalization from one machine to another?<br /> Using the functional administrator responsibility the xml file can be downloaded, this file contains the required personalization done on a particular page. The same can be used to upload in a different instance. Here XMLImporter utility can be also used.<br /><br /> How is the applications security maintained during the OA Framework components development or how is the required security obtained?<br /> 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.<br /><br /> What are the different layers of onion reuse object model in OAF?<br /> The hierarchy is as :<br />Controller (XXCO.java)<br /> |__<br /> Application Module (XXAMImpl.java, XXAM.xml)<br /> |__<br /> View Objects(XXVOImpl.java, XXVORowImpl.java, XXVO.xml)<br /> |__<br /> Entity Objects(XXEOImpl.java, XXEO.xml)<br /> |_ Database <br /><br /><br /><br /> What is ‘Partial Page Rendering’ PPR?<br />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<br /><br /> What are the search region options available?<br /> Simple Search – ResultBasedSearch is the construction mode for the region<br />Advanced or autocustomization search – Autocustomization is the mode here<br />None – User has the develop the page, regions, controller etc here<br /><br /> What is the bean used for supporting transactions across pages visually to the user?<br /> OATrainBean is used to link the pages across the transaction. AM supports the transaction context or state here across the pages.<br /><br /> How does personalization takes its effect at runtime?<br /> 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.<br /><br /><br /> Name some components requiring extension?<br /> View Objects, Controller, Application Module. Yes nested application module concept is allowed.<br /><br /> After you modify a class file and move it to the server what is the immediate step that will be followed?<br /> The services of the instance ie. Apache server etc. have to be bounced so that the new code in the class file takes effect.<br /><br /> Where does the two categories of files in OAF be placed in the server?<br /> 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<br /><br /> When do you create additional business components package?<br /> 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<br /><br /> How do you map the LOV created to your base page?<br /> 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.<br /><br /> What is the default top region of any new page that you create?<br /> PageLayout is the top level default region<br /><br /> At what level region controller for a page can be set?<br /> 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.<br /><br /> PPR follows GET or POST flow?<br /> POST flow<br /><br /> What is the extension to the tool for developing OA F components?<br />A. Jdeveloper OA Extension class support the OA F development<br /><br />--All the Best<br /><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-9219676723402401244?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0tag:blogger.com,1999:blog-1331009611087581383.post-65062321667358526872011-12-01T11:49:00.001-08:002011-12-01T13:19:30.385-08:00XML/BI Publisher Interview Questions<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /><br /> What is BI Publisher?<br /> A. It is a reporting tool for generating the reports. More than tool it is an engine that can be<br /> integrated with systems supporting the business.<br /><br /> Is BI Publisher integrated with Oracle Apps?<br /> Yes, it is tightly integrated with Oracle Apps for reporting needs. In 11.5.10 instances xml publisher was used, in R12 we can it BI Publisher<br /><br /> What is the difference between xml publisher and BI Publisher?<br /> Name is the difference, initially it was released on the name of xml publisher( the initial patchset), later on they have added more features and called it Business Intelligence Publisher. In BI by default we have integration with Datadefinitions in R12 instance. Both these names can be used interchangeably<br /><br /> What are the various components required for developing a BI publisher report?<br /> Data Template, Layout template and the integration with Concurrent Manager.<br /><br /> How does the concurrent program submitted by the user knows about the datatemplate or layout template it should be using for generating the output?<br /> The concurrent program ‘shortname’ will be mapped to the ‘code’ of the Datatemplate. Layout template is attached to the datatemplate, this forms the mapping between all the three.<br /><br /> What is a datatemplate?<br /> Datatemplate is an xml structure which contains the queries to be run against the database so that desired output in xml format is generated, this generated xml output is then applied on to the layout template for the final output<br /><br /> What is a layout template?<br /> Layout template defines how the user views the output, basically it can be developed using Microsoft word document in rft (rich text format) or Adobe pdf format. The data output in xml format (from Data template) will be loaded in layout template at run time and the required final output file is generated.<br /><br /> What are the output formats supported by layout template?<br /> xls, html, pdf, eText etc are supported based on the business need.<br /><br /> Do you need to write multiple layout templates for each output type like html/pdf?<br /> No, only layout template will be created, BI Publisher generates desired output format when the request is run<br /><br /> What is the default output format of the report?<br /> The default output format defined during the layout template creation will be used to generate the output, the same can be modified during the request submission and it will overwrite the one defined at layout template<br /><br /> Can you have multiple layout templates for a singe data template?<br /> Yes, multiple layouts can be defined, user has a choice here to use one among them at run time during conc request submission<br /><br /><br /> Where do you register data and layout templates?<br /> Layout template will be registered under xml publisher administrator responsibility>Templates tab.<br /> Data template will be registered under xml publisher admininstrator responsibility> Data Definitions<br /><br /> I want to create a report output in 10 languages, do I have to create 10 layout templates?<br /> No, BI Publisher provides the required translation for your templates, based on the number of languages installed in your oracle apps environment requires outputs are provided<br /><br /> What is the required installation for using BI Pub report?<br /> BI Publisher deskop tool has be installed. Using this tool you can preview or test the report before deploying the same on to the instance.<br /><br /> How do you move your layout or data template across instances?<br /> xdoloader is the utility that will be used. <br /><br /> What is the tool to map required data output and layout templates so that they can be tested in local machine?<br /> Template viewer will be used for the same.<br /><br /> Which component is responsible for generating the output in xml format before applying it to layout template?<br /> DataEngine will take DataTemplate as the input and the output will be generated in xml format which will then be applied on layout template<br /><br /> Can BI publisher reports be used in OAF pages?<br /> XDO template utility helper java classes are provided for the same.<br /><br /> Name some business use cases for BI reports?<br /> Bank EFT, customer documents, shipping documents, internal analysis documents or any transactional documents<br /><br /> How do you pass parameters to your report?<br /> Concurrent program parameters should be passed, ensure that the parameter name/token are same as in the conc prog defn and the data template<br /><br /> What are the various sections in the data template?<br /> Parameter section<br /> Trigger Section<br /> Sql stmt section<br /> Data Structure section<br /> Lexical Section<br /><br /> What does lexical section contain?<br /> The required lexical clause of Key Flex field or Descriptive FF are created under this section<br /><br /> What triggers are supported in Data template?<br /> Before report and After report are supported<br /><br /> Where is the trigger code written?<br /> The code is written in the plsql package which is given under ‘defaultpackage’ tag of data template.<br /><br /> what is the file supporting the translation for a layout template?<br />A. xliff is the file that supports the translation, you can modify the same as required.<br /><br />--All the Best<br /><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-6506232166735852687?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0tag:blogger.com,1999:blog-1331009611087581383.post-59477704597341561912011-12-01T11:45:00.000-08:002011-12-01T13:19:07.190-08:00Oracle Applications: Capturing FND Debug log<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /><br />Many a times we would need to go through the log to find out the cause of the problem. Below is one quicker and easier way to do. <br /><br />1. Set the following profiles at user level<br />a) FND: Debug Log Enabled 'Yes'<br />b) FND: Debug Log Level 'Statement'<br />c) FND: Debug Log Module '%'<br />Log off and re login now.<br /><br />2.<br />a) Run the following query and note its output as log_val_1.<br /><br /> select max(log_sequence) from fnd_log_messages;<br />b) Perform the test case now.<br /> Once the process completes run the below query again and note its output as<br /> log_val_2.<br /> select max(log_sequence) from fnd_log_messages;<br />c) Run the following query to fetch the log messages.<br /> select log_sequence, module, message_text<br /> from fnd_log_messages<br /> where log_sequence between log_val_1 and log_val_2<br /> order by log_sequence; <br /><br />--Happy Logging<br /><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-5947770459734156191?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0tag:blogger.com,1999:blog-1331009611087581383.post-6443866007698134692011-12-01T10:25:00.001-08:002011-12-01T13:18:45.903-08:00Setting Applications Context<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /><br />When running the queries against multi-org views from your sql developer or some sql sessions you need to set the Apps Context so that the rows are retrieved.<br /><br />Example: ap_invoices_all is a table, ap_invoices is a view. Running a query such as below will not result in any rows if apps context is not set prior to running the query.<br /><br />sql>select * from ap_invoices;<br />No rows returned<br /><br />For 11i<br />-----------<br />You can set the context using fnd_global.apps_initialize(user_id, resp_id, application_id);<br /> or <br />dbms_application_info.set_client_info(org_id);<br />user_id -> From fnd_user table<br />resp_id -> From fnd_responsibility, fnd_responsibility_tl tables<br />application_id -> From fnd_application table<br />org_id -> org id or the operating unit id<br /><br />For R12<br />------------<br />We can use the mo global apis here:<br />begin<br />mo_global.init('AR');<br />mo_global.set_policy_context('S',84);<br />end;<br /><br />Here 'AR' is a valid application name where multi org access is enabled, you can give any relevant application name also. 'S' for single and 84 is the org id or the operating unit id<br /><br />--Happy Context' ing<br /><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-644386600769813469?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0tag:blogger.com,1999:blog-1331009611087581383.post-63276902127750011712011-12-01T09:46:00.000-08:002011-12-01T13:17:46.248-08:00Oracle Applications - How to Bounce Services(Forms, Concurrent Mgr, Application Tier etc)<div dir="ltr" style="text-align: left;" trbidi="on"><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /><br />This post gives you a handy information on bouncing the services in eBusiness Suite Applications 11i/R12<br /><br />Steps to Bounce<br />-----------------<br />1. Login to your unix box<br /><br /><br />2. Set the environment by running the env file present in $APPL_TOP<br /> #cd $APPL_TOP<br /> #ls *.env<br /> #. <env_name>_<host_name>.env<br /><br />3. Go to $ADMIN_SCRIPTS_HOME (In 11i, Use $COMMON_TOP/admin/scripts)<br /> #cd $ADMIN_SCRIPTS_HOME<br /> <br />4. Here you will see a list of files and based on the need you will have to run various scripts as given below<br /><br /> 4.1. Bounce All Services ( Note the 'dot' after the # sign in the commands below and above)<br /> <br /> # . adstpall.sh apps/<pwd><br /> #. adstrtal.sh apps/<pwd><br /><br /> 4.2 Bouce Mid Tier for OAF (Oracle Applications Framework) to be reflected <br /> # adoacorectl.sh stop (For R12)<br /> # adapcctl.sh stop<br /> #adoacorectl.sh start (For R12)<br /> # adapcctl.sh start<br /> <br /> 4.3 Bounce the forms services<br /> #adformsctl.sh stop<br /> #adformsctl.sh start<br /><br /> 4.4 Bounce the concurrent manager services<br /> #adcmctl.sh stop<br /> #adcmctl.sh start<br /> <br /> 4.5 Any time you want to check the status of app server services? Use the below command<br /> #adapcct.sh status<br /><br /> -Happy Bouncing<br /><a href="http://www.thotasuman.com/" target="_blank">http://www.thotasuman.com/</a><br /> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1331009611087581383-6327690212775001171?l=thota-suman.blogspot.com' alt='' /></div>Suman Thotahttp://www.blogger.com/profile/07177437132159991090noreply@blogger.com0