http://oracleapps88.blogspot.

com/
Interview Questions on Oracle SCM,AOL,Forms 1. What is order cycle? Order cycles describe the processing or routing, through which orders progress. Order cycles contain cycle actions such as Enter, Pick Release or Ship Confirm. Each cycle action has at least one result. For example, results for the action ‘Enter’ include ‘Booked’, ‘Partial’ and ‘Entered’. You can customize your order cycle by defining prerequisites for each action so that Oracle Order Entry performs these actions in the sequence you define. For example, the prerequisite for the action Pick Release could be the action Legal Review and the result Pass. You would not be able to pick release the order until it meets this prerequisite. You can define as many order cycles as you want so you can handle different processing requirements for different types of orders or for orders from different sales channels. For example, you may have one order cycle that requires legal approval that you use for international orders and one without legal approval for domestic orders. If you make any changes to cycle actions in an order cycle you can determine when those changes take effect by setting the profile option OE: Cycle Action Changes Affect Existing Orders Tables used are SO_CYCLES, SO_CYCLE_ACTIONS, SO_ACTION_PRE_REQS, SO_ACTIONS, SO_RESULTS, SO_ACTION_RESULTS. 2. List the various actions of a typical order cycle? Order cycles contain cycle actions such as ‘Enter’, ‘Pick Release’ or ‘Ship Confirm’, ‘Backorder Release’, ‘Receivable Interface’, ‘Inventory Interface’, ‘Complete Line’, ‘Complete order’. Enetered -> Book -> Demand/ATP (Available to Promise) -> Pick Release -> Shipping -> Inventory Interface -> Receivable Interface -> Close order 3. What is the relation between an order type and an order cycle? Order Cycle can differ depending on the type of an order For example you may have one order cycle that requires legal approval that you use for international orders and one without legal approval for domestic orders Order cycle is attached to the order type. 4. What does Inventory Interface do? Inventory Interface Program populates the interface tables with transactions submitted through Confirm shipment forms. It updates order lines with shipped quantities and updates inventory. 5. What are ATO and PTO? ATO - Assemble to Order - A configuration you make in response to customer order which includes optional items. PTO - Pick to Order - A configure to order environment where the option and included items in a model appear on pick slips and order pickers gather the options when they ship the order. Alternative to manufacturing the parent item on a work order and then shipping it. 6. What is RMA? RMA is permission for a customer to return items. OE allows you to authorize the return of your sales orders as well as sales made by other dealers as long as the item are part of your item master and price list. Receipt of goods previously sold to customer, credit to a customer or replace with identical item. 7. What is Hold? A feature that prevents an order or order line from processing through the order cycle. You can place hold on any order or order line. 8. What are various types of holds?

http://oracleapps88.blogspot.com/
Credit check hold, Legal Review hold, Sales Review Hold, Customer request Hold. (so_holds.type_code) Few of logitechs hold types: CREDIT This hold is automatically placed on an order invoiced to a customer who fails credit check GSA This hold is automatically placed on an order which is in violation of GSA CONFIGURATOR This hold is automatically placed on a Sales Order Line that fails Configurator Validation Order Management Product on Short Supply Order Management Product on Quality Stop Shipment Order Management Awaiting clarification on Order Detail Order Management Incomplete Ship To Credit Management Customer/Order on Credit Hold Order Management EDI order with incorrect pricing - hold until pricing issue resolved Order Management EDI order with incorrect QTY (Case Pack) - hold until QTY issue resolved Order Management Customer Requested Hold Credit Management Manual Credit Hold on Backorder Order Management EDI order waiting for information Document Services Pre Release Hold to applied to Prevent Pick Release Document Services Pre Release Hold to applied to Prevent Backorder Release Order Management RMA Order Waiting For Information Credit Management Overdue Payment Hold by Credit Managment Order Management Product on Short Supply 9. What is a hold Parameter? A criterion you use to place a hold on an order or order line. Valid hold parameters are customer, customer site, order, and item. (so_order_holds_view_hold.hold_level) Logitech HOLD_LEVEL ------------------------------Customer Item Order Site Use 10. What are various types of discounts? Discount is a reduction of list price for an item. Fixed price discounts - Final price is contractually fixed regardless of fluctuations in list price. For example: item A has a list price of 100, a fixed price discount specifies a selling price of 90, results in a selling price of 90 even if the list price changes to 110. Price adjustments - The difference between list price of an item and its selling price. Price difference can have positive or negative impact on price list. Price adjustments which lower the list price are called as price adjustment discounts. It can be for order or order line. Earned discounts 11. What is scheduling of orders? Order scheduling includes assigning demand or reservations, warehouses, shipment dates, lots and subinventories to order line, it can be don’t on booked or un-booked orders. 13. What is underlying table for discounts? SO_DISCOUNTS, SO_DISCOUNT_CUSTOMERS, SO_DISCOUNT_LINES, SO_PRICE_ADJUSTMENTS 14. What is auto-accounting? An Receivable feature that lets you determine how the Accounting Flex-field for your revenue, receivable, freight, tax, unbilled receivables, and unearned revenue account types are created.

http://oracleapps88.blogspot.com/
15. What is Auto-invoicing? A program that imports invoices, credit memos, and on account credits from other system into oracle receivables. 16. What does the table ra_cust_trx_line_gl_dist store? Stores the accounting records for revenue, unearned revenue, and unbilled receivables for each invoice or credit memo line. This table must have one row for each accounting distribution. 17. What are the underlying tables in various transactions in receivables? RA_CUSTOMER_TRX, RA_CUST_TRX_LINE_SALESREPS, RA_CUSTOMER_TRX_LINE_GL_DIST, RA_CUSTOMER_TRX_LINES, AR_PAYMENT_SCHEDULES AR_PAYMENT_SCHEDULES, AR_CASH_RECEIPTS, AR_MISC_CASH_DISTRIBUTIONS, AR_CASH_RECEIPT_HISTORY, AR_RECEIVABLE_APPLICATION 18. What are interface tables used during autoinvoicing interface? RA_INTERFACE_LINES, RA_INTERFACE_SALESCREDITS, RA_INTERFACE_DISTRIBUTIONS 19. If invoice, credit memos and debit memos all get stored in the same table then, how do you come to know which transaction is it? RA_CUSTOMER_TRX table stores cust_trx_type_id, which identifies the user defined transaction type. Which in turn is stored in RA_CUST_TRX_TYPES. The field TYPE defines the type of transaction, which is linked to LOOKUP_CODE of AR_LOOKUPS table. Basic 6 transaction types are hard coded in AR_LOOKUPS table and are not user maintainable. 20. What is a credit memo? Credit memo is a document, which partially or fully, reverses an original invoice. You can create credit memos through the Oracle Receivables Enter Credit Memos form or through Auto-Invoice. 21. What is a debit memo? Debits that you assign to your customer for additional charges that you want to collect. You may want to charge your customers for unearned discounts taken, additional freight charges, taxes, and finance charges. 22. What are the underlying tables for credit memos and debit memos? RA_CUSTOMER_TRX_ALL 23. What is an accounting Rule? Accounting rule is a rule that Oracle receivables Auto-invoice uses to specify revenue recognition schedules for your transactions. You can define your accounting rule where revenue is recognized over a fixed or variable period of time. For example, you can define a fixed duration accounting rule with monthly revenue recognition for a period of 12 months. 24. What is the difference between an accounting rule and an invoicing rule? Invoicing Rule: Rules the Oracle receivables uses, to determine when you bill your invoices. You can bill in advance or in arrears. 25. What are the various features of Oracle Receivables? Multiple System Options Use optional batching Customize to meet your needs: Accounting Flex-field Item Flex-field Territory Flex-field

foreign or domestic Remit-to addresses Business purposes Contact names Telephone numbers Create customer credit profiles: Payment terms Automatic receipt information Finance charges Copy credit profiles Define sales territories Default pertinent customer site information to transactions Query customers using variable criteria Invoicing Create sign-insensitive transactions Number invoices and lines automatically Recognize revenue over multiple periods using invoice rules Create recurring invoices Create consolidated billing invoices based on periods defined by payment terms Specify transaction type. including: Deposit Guarantee Invoice Debit memo Create credit memos.com/ Sales Tax Flex-field Descriptive Flex-field Define any chart of accounts using up to 30 segments Define your own accounting calendar Choose from a variety of payment terms: Split terms Proxima terms Terms by amount or percent Multiple discounts Choose from tax options: By location or product Compounding tax Tax exemptions Group multiple.http://oracleapps88. including: Full and partial credit Automatic sales credit reversal On-account credit Handle write-offs automatically or manually .blogspot. conditional taxes Sales Tax or VAT environment User-definable tax hierarchy Customers Specify customer relationships Validate customer addresses Enter addresses in country-specific formats Enter an unlimited number of: Addresses.

http://oracleapps88.blogspot.com/ Set adjustment limits View transaction balances View accounting entries on-line Print invoices at any time Collections Record customer calls Print customer statements Create dunning letters based on days overdue or dunning levels Define unlimited number of user-defined dunning letter templates Produce statements based on user-definable cycles Reapply cash Perform inquires on-line or on the web Create flexible agings Drill down to detail by aging bucket Inquire using external references such as project and order number View correspondence history on-line Create centralized statement sites Create centralized dunning sites Cash Application Record payments from third parties Create chargebacks Process receipts automatically: Lockbox transmission Bills of exchange Direct debits Match receipts to transactions by: Transaction Number Order Number Purchase Order Number Consolidated Bill number Custom Number Use AutoCash rules: Apply to oldest invoice first Exact match on invoice Clear past due invoices Clear the account Clear Past Due Invoices grouped by Payment Term Apply payments according to user-defined rule sets Use earned and unearned discounts Discount on specified line types Track bank remittances Clear bank statement items automatically or manually Use flexible lockbox formats Create bank charges automatically Reapply cash Reverse multiple receipts in a single step Process Notes Receivable Future-dated checks Promissory Note Global Accounting .

http://oracleapps88. If I add a column to a form and don’t register it what will happen? After you paint your form. If I add certain code to a form and don't register it what will happen? 30. only quantities of the item that have been received in a sub-inventory are credited. . are not eligible to be credited unless they pass inspection and are received into a sub-inventory. and adjustments Use Report eXchange to customize reports: Query selected information Export to other applications Create flexible agings. Items. cash application.Completely Accepted. then the Receivables Interface creates partial credits corresponding to the accepted quantity that has not already been credited.com/ Record sales and VAT taxes with complete tax reporting Issue letters of credit Handle bills of exchange and automatically eliminate risk Use optional sequential numbering Enter multiple currencies using user-defined currency formats Process cross-currency receipts Calculate currency gains and losses Enter cross-currency deposits Default tax code from revenue segment of natural account Enter and print line amounts that include tax Report in multiple currencies Reporting View reports on-line Report by company Create accounting reports of agings. You should register your forms again after you make any changes to their structures such as adding or deleting fields or zones. You can reregister your form as many times as you want without harming it. By registering your form. If the prerequisite for the Receivables Interface is only RMA Interface . What does form registration do? 28. register your form with Oracle Application Object Library. the full return quantity entered on the RMA line is eligible to be credited. 27. If the RMA Interface is not a prerequisite to the Receivables Interface in the order cycle. receipts. Why do you need form registration? 29. QuickPick. which are received for purposes of inspection. you must register any form you wish to run under Oracle Application Object Library. the Receivables Interface waits until the full quantity is accepted and then creates a full credit. and help text. If the RMA Interface results Partially Accepted or Completely Accepted are prerequisites to the Receivables Interface in the order cycle. Does an RMA (order return) automatically generate credit memos? Yes. you assign it to a particular application and let Oracle Application Object Library add form-level triggers your form needs to support EasyForm and such features as Menus. Receivable Interface of RMA will generate credit memos. In fact.Partially Accepted. Thus if the prerequisite for the Receivables Interface includes RMA Interface . including: Customizable aging buckets Dispute bucket Customer and invoice summary By amount and salesperson Additional reports: Transaction registers Tax reports Credit and collections reports Key indicators Supplier/Customer Netting report Foreign Exchange Gain/Loss report 26.blogspot.

.parameter2. The trigger can be used to dynamically change the formatting attributes of the object.. they may not be the parent or child object for an anchor). 7. Rules: Caution: The PL/SQL in a Format Trigger is executed each time that Oracle Reports attempts to format the layout . only the object is placed in the clipboard. What are the various steps in developing a report? After getting a valid specification. Rules: 1. if field C is the parent. For example: · Assume that object A and object B are anchored together and object A is the parent. Write SQL statement 2. 4.)"). Write triggers to enforce business rules 4. 33. field B cannot be anchored to field C. Matrix objects. Field C cannot be the parent for an anchor to field B. 3. which is not inside of frame A..http://oracleapps88. Paint the layout 3. 10. You cannot use Align. 31. In addition. but other objects may be anchored to it (i. Put script in CUSTOM_TOP directory 4.if its SQLreport then 1. 5. If you select the anchor and one of the objects. or Size Objects from the Arrange menu on anchors. and the margin cannot be anchored to anything (i. data model includes query. Build a data model. An anchor must always be on top of the objects it anchors together (i.. you must select the anchor and the two objects it anchors together.srw.blogspot. Register it If its Oracle Reports (6i) then 1.? From Reports: . and field C is the parent. 8. A repeating frame that is the vertical or horizontal repeating frame for a matrix cannot be anchored to another object.com/ You can use the Update Form Information form to register any changes you make to the blocks and fields of your form. What are format triggers? Format Triggers are PL/SQL functions executed before the object is formatted. Objects cannot be anchored together in such a way that they have a circular dependency. it can be the parent but not the child object for an anchor). What is anchoring? Anchors are used to determine the vertical and horizontal positioning of a child object relative to its parent. Create parameters 5.user_exit ("user_exit_name( parameter1. summary columns. 2. if object C is the parent for an anchor to object A. 34. Align Objects. groupings etc 2. decide on the oracle tool in which report could be developed. placeholders. formula columns. An object may be anchored to only one other object. To copy an anchor..e.e.e. Build layout 3. How do you call a user exit? From Forms: . · Assume that frame A contains field B and field B is above frame A in the editor. Object B cannot be the parent for another anchor between object A and object B. 6. 9. Oracle Reports prevents you from moving the anchor to a layer below its parent and child objects. anchors. object B cannot be the parent for an anchor to object C. frame A is anchored to field C. Moving an anchor also cause the two objects it anchors together to move. An anchor cannot be resized. Put script in CUSTOM_TOP directory 6. . Nothing can be anchored to a hidden object (an object with Hidden checked). If you select the anchor by itself. Register it 32. Because it is inside of frame A. Furthermore. it must be one or more layers above the parent and child objects). or to change the name that appears in QuickPicks. nothing will be copied to the paste buffer..

the Format Trigger actually fires twice (once for each page on which the frame formats). Occasionally. For repeating frames. you may need to build your own user exit to perform application processing that is beyond the scope of SQL or SQL*Forms commands. you can use the value of a parameter called COUNT1 in a condition (e. you may get unpredictable results. the part of the frame on the first page formats. but you cannot directly set their values. 4. Therefore. frames. 1. If you do this. there may be multiple children. For example. boilerplate. Otherwise. but the part on the second page does not). The condition in your PL/SQL must return the same result both times the Format Trigger fires. the value of a pagedependent column cannot be computed until the report is formatted. if you have Page Protect checked for an object. Note also that the use of PL/SQL global variables to indirectly set the values of columns or parameters is not supported. For example. 5. IF :COUNT1 = 10). because you cannot predict when or how many times the trigger will fire. if you create a master/detail report. In addition. the parent group's repeating frame cannot have a Format Trigger that relies on a value in the child group. you can read the values of Oracle Reports columns and parameters of the correct frequency (look at the rule below).http://oracleapps88. Comments inserted directly into the PL/SQL code must use the PL/SQL comment delimiters. To create a Format Trigger that acts upon all instances of a repeating frame at once.. or other repeating frames) it encloses would not format either. 36. For example. That is. If you want to conditionally change the cell of a matrix. Oracle Application Object Library helps you build a user exit in a third generation language (such as Pro*C) and integrate it into a standard user exit library. The PL/SQL in a Format Trigger must return consistent results for the same object.g. In case of Oracle reports (6i). the trigger may be executed more than once. summary columns etc. You also cannot reference any page-dependent columns (i. you should put a frame around the field inside the matrix and use the Format Trigger for the frame.g. format triggers should only contain PL/SQL program units that set formatting attributes (e. Oracle Reports cannot determine which of the child records to use. The reason for this is that it would result in a circular dependency. break it up into multiple simple queries and link them up with data-links. In a Format Trigger.g. If the Format Trigger returns FALSE for every instance of a repeating frame on a logical page. say you have a frame whose Format Trigger returns FALSE when a certain condition is met. If the frame spans two pages. Utilizing a correct combination of indices on tables to fetch data. For example. (This restriction also applies to user exits called from the Format Trigger. 35. :COUNT1 = 10).. the entire column will not format in the matrix.. If a Format Trigger returns false and the object does not format.. 3. 9. but the report cannot be formatted until the Format Trigger is executed. 2. instead of writing a complex query. As a result. this can cause other objects not to print.com/ object. only part of the frame will be formatted (e. at the parent record level. the repeating frame will occupy no space on the logical page and anchors to other objects will collapse (if specified). 2. If the Format Trigger on a repeating frame in a matrix report returns FALSE.blogspot. the object might not be formatted on the logical page where the trigger is fired. In case of Oracle reports (6i) reduce the number of User exits. 8. PURPOSE: .) 3. if an instance of the across dimension repeating frame does not format. You should not perform other actions. an entire row or column of the matrix will not format. formula columns. 4.g. Reset At of Page) or columns that rely on page-dependent columns in a Format Trigger. What is Explain Plan? Explain Plan analyzes the query and breaks it up in to the steps which oracle follows to fetch the data. create a frame around the repeating frame and enter a Format Trigger for the frame. You cannot reference columns or variables in the Format Trigger of an object that have a different frequency than the object.. format triggers. such as inserting data in a table. For each parent. For example. color and highlighting). Writing straight forward and plain data fetching Queries. 7. For example. How can you increase the performance of reports? 1. 6.e. the Format Trigger is executed for each instance of the repeating frame. 38. any objects (fields. but you cannot directly set its value in an assignment statement (e. if a repeating frame does not format. What is a user Exit? A user exit is a routine your form calls to perform application processing.

The SQL script always inserts statistics for all traced SQL statements. These individuals can specify different TABLE values and avoid destructively interfering with each other's processing on the temporary plan table. SELECT. and then drops it. The specified user must be able to issue INSERT. INSERT creates a SQL script that stores the trace file statistics in the database. The specified user must have CREATE SESSION system privileges. Doing away with functions in where clause. TKPROF ignores the TABLE parameter. Note that this parameter does not affect the optional SQL script. including recursive SQL statements. If this table does not exist. If more than one option is specified. SORT sorts the traced SQL statements in descending order of the specified sort option before listing them into the output file. TKPROF creates it. and DELETE statements against the table. Use EXISTS where ever possible instead of sub-queries. This command inserts a row describing each step of the execution plan into a specified table. EXPLAIN determines the execution plan for each SQL statement in the trace file and writes these execution plans to the output file. TKPROF creates this script with the name filename3. If the table does not already exist. Use the following arguments with TKPROF: filename1 specifies the input file. 2. Eliminate FULL table scans. This file can be either a trace file produced for a single session or a file produced by appending together individual trace files from multiple sessions. uses it for the EXPLAIN PLAN command. and then deletes its rows.http://oracleapps88. The default value of YES causes TKPROF to list these statements. TKPROF uses the table PROF$PLAN_TABLE in the schema of the user specified by the EXPLAIN parameter. This option allows multiple individuals to concurrently run TKPROF with the same user in the EXPLAIN value. What is TKPROF? TKPROF is a toll by Oracle to format the trace file output. 39. 1. If you use the EXPLAIN parameter without the TABLE parameter. This script creates a table and inserts a row of statistics for each traced SQL statement into the table. Rearranging the table names in from clause. For these privileges to issue statement. SYS enables and disables the listing of SQL statements issued by the user SYS. a trace file containing statistics produced by the SQL trace facility. If the specified table already exists. Forcing appropriate indices. If you use the TABLE parameter without the EXPLAIN parameter. 3. uses it. If you are using cost-based optimization. this command also determines the cost of executing the statement. filename2 specifies the file to which TKPROF writes its formatted output. the user must also be able to issue CREATE TABLE and DROP TABLE statements.com/ To determine the execution plan Oracle follows to execute a specified SQL statement. TKPROF lists statements into the output file in ascending . see the ORACLE7 Server SQL Language Reference Manual.blogspot. the output is sorted in descending order by the sum of the values specified in the sort options. By passing different parameters you can control the contents of the output file. 40. or recursive SQL statements into the output file. 4. TABLE specifies the schema and name of the table into which TKPROF temporarily places execution plans before writing them to the output file. The value of NO causes TKPROF to omit them. TKPROF deletes its rows. How did you optimize your SQL after using Explain Plan? 0. TKPROF determines execution plans by issuing the EXPLAIN PLAN command after connecting to ORACLE with the user and password specified in this parameter. If you omit this parameter.

and fetch counts · CPU and elapsed times · Physical reads and logical reads · Number of rows processed · Misses on the library cache 42. so_picking_line_details tables and prints picking slips for the batch. accepts a trace file named KERVMS_RPK2_FG_SQLDBA_007. Note that this parameter does not affect the optional SQL script.blogspot.TRC and writes a formatted output file named OUTPUTA.FCHCPU) PRINT=10 41. The SQL script always inserts statistics for all traced SQL statements. You create picking batches when you release your orders for shipping. If you omit this parameter. sub-inventory. What is SQL trace? The SQL trace facility provides performance information on individual SQL statements. so_picking_lines. SO_picking batches contains picking batch name and other information depends on the values entered on pick release screen from the following fields like warehouse. customer. The sort options are: PRSCNT number of times parsed PRSCPU CPU time spent parsing PRSELA elapsed time spent parsing PRSDSK number of physical reads from disk during parse PRSQRY number of consistent mode block reads during parse PRSCU number of current mode block reads during parse PRSMIS number of library cache misses during parse EXECNT number of executes EXECPU CPU time spent executing EXEELA elapsed time spent executing EXEDSK number of physical reads from disk during execute EXEQRY number of consistent mode block reads during execute EXECU number of current mode block reads during execute EXEROW number of rows processed during execute EXEMIS number of library cache misses during execute FCHCNT number of fetches FCHCPU CPU time spent fetching FCHELA elapsed time spent fetching FCHDSK number of physical reads from disk during fetch FCHQRY number of consistent mode block reads during fetch FCHCU number of current mode block reads during fetch FCHROW number of rows fetched PRINT lists only the first integer sorted SQL statements into the output file. order etc. Example This example runs TKPROF. user may enter combination of these values and create a picking batch.PRF EXPLAIN=SCOTT/TIGER TABLE=SCOTT. How do you call a flex-field from a report? .http://oracleapps88. What does so_picking_batches contain? A user-defined group of pickslips for orders that you release for picking all at once.TEMP_PLAN_TABLE_A INSERT=STOREA.com/ order of when each was first issued. 43. The SQL trace facility generates the following statistics for each statement: · Parse.SQL SYS=NO SORT=(EXECPU. a batch can contain all shipments for a specific warehouse.TRC OUTPUTA. execute. TKPROF lists all traced SQL statements. For example. or all priority shipments regardless of warehouse.PRF: TKPROF KERVMS_RPK2_FG_SQLDBA_007. Which in turn will fire an concurrent program which populates the so_picking_headers.

which you have created. Specify the first screen user would see after the successful login. 47. and START WITH. 4. Mention any report customization you have done? 46. If you want to use lexical references in your SELECT clause. How do you create a responsibility? Navigate Security Responsibility Define 1.(Optional) 49.) that operators interact with as they run your form. If value set not there you have to create one. you should create a separate lexical for each . Rules: 1. 3. and which applications' data those reports and concurrent programs can access.4 List incompatible program if any. Create the Executable 2. etc. What all reports have you customized in OE? 1.http://oracleapps88. Printing sales orders in European languages. what reports and concurrent programs the user can run. radio groups. · Import the data. 2. · Upload the data from the ASCII files into Interface Tables using SQL*loader. 2. lines. What are lexical parameters? Lexical references are placeholders for text that you embed in a SELECT statement. CONNECT BY. If a column or parameter is used as a lexical reference in a query. How do you transfer data from legacy system to oracle financials? · Transfer the data into ASCII files from Legacy system. Each canvas-view is displayed in a window. Create concurrent program 2. its data type must be Character.com/ 44. 2. What is canvas? Canvas-views are the background objects on which you place the interface items (text items.2 Create the parameters to be passed to the report. 2. 53. which is existing in the interface tables to the Oracle's base tables after necessary validations. 2. Specify the data group by which user will login to database. GROUP BY.1 Assign the executable. HAVING. WHERE. You cannot make lexical references in a PL/SQL statement. 2. 3. images. What is a responsibility? Use this form to define a responsibility. Specify the application in which you want to create responsibility. etc. A responsibility determines how much of an application's functionality a user can use. Specify the main Menu which user will see on the screen. 48. What tables does demand interface update? MTL_DEMAND_INTERFACE 50. FROM. 45. check boxes. How do you register a report? 1. 5. ORDER BY. You can use lexical references to replace the clauses appearing after SELECT.3 Attach value set to each and every parameter.blogspot. 51.) and boilerplate objects (boxes. Assign the report security group which decides which reports user has access to.

each value you specify for your lexical references at runtime must have the same data type as its Initial Value. the report would run. WHERE Clause SELECT ORDID. That is. you could enter ORD for ATABLE at runtime. In addition. neither the child column of a link or its table name should be determined by a lexical reference. if you change the columns selected at runtime. Otherwise. An Oracle Reports link should not depend upon a lexical reference. In addition.. For example. TOTAL FROM ORD WHERE &CUST . See the example below. To achieve this functionality.http://oracleapps88.g. For example. If you use lexical references in your SELECT clause.com/ column you will substitute. A lexical reference cannot be used to create additional bind variables after the After Form trigger fires. Look at the example below. &P_JOB ROLE FROM EMP P_ENAME. You would get an error if you supplied the following value for the parameter in the Before Report trigger: WHERE SAL = :new_bind If you supplied this same value in the After Form trigger. For example. SAL FROM EMP &where_clause If the value of the WHERE_CLAUSE parameter contains a reference to a bind variable. Following are some examples of lexical references: SELECT Clause SELECT &P_ENAME NAME. which was selected in the parent query. and P_JOB can be used to change the columns selected at runtime. Also. you should use aliases for your columns. you must specify the value in the After Form trigger or earlier. you must specify the same number of items at runtime as were specified in the report's data model. FROM Clause SELECT ORDID. &PARM2 COL_2 FROM EMP WHERE &PARM_1 = :DEPTNO Note how the WHERE clause makes a bind reference to DEPTNO. P_EMPNO. you could enter DEPTNO as the value for P_EMPNO on the Runtime Parameter Form. 5. suppose you have a query like the following (note that the WHERE clause is replaced by a lexical reference): SELECT ENAME. WHERE) for the link directly in the query. this example assumes that you have created a link between the queries in the Data Model editor with no columns specified. the column names in the SELECT list will not match the Oracle Reports columns and the report will not run. you may also want to use lexical references for the SELECT clause (look at the previous example) in case the column names differ between tables.blogspot. &P_EMPNO ENO. TOTAL FROM &ATABLE ATABLE can be used to change the table from which columns are selected at runtime. your parent and child queries might be written as follows: Parent Query: SELECT DEPTNO FROM EMP Child Query: SELECT &PARM_1 COL_1. This enables you to use the same layout field and boilerplate label for whatever value you enter for the lexical on the Runtime Parameter Form. 6. If you dynamically change the table name in this way. Note that in this case. For example. 4. you need to create a link with no columns specified and then enter the SQL clause (e. you should assign an alias to each lexical reference.

you must make a bind reference to BREAK_COL because lexical references are not allowed in PL/SQL. MAX(SAL) FROM EMP GROUP BY &BREAK_COL BREAK_COL is used to change both the SELECT list and the GROUP BY clause at runtime. for example. In the Validation Trigger for GROUP_BY_COLUMN. you could enter WHERE SAL > 1000 ORDER BY DEPTNO for &WHEREORD at runtime. GROUP BY Clause SELECT NVL(COMMPLAN.http://oracleapps88. SUM(TOTAL) TOTAL FROM ORD GROUP BY CUSTID HAVING &MINTOTAL The value of MINTOTAL could. Multiple Clauses SELECT &COLSTABLE COLSTABLE could be used to change both the SELECT and FROM clauses at runtime. SUM(TOTAL) TOTAL FROM ORD GROUP BY &NEWCOMM The value of NEWCOMM can be used to define the GROUP BY clause. . HAVING Clause SELECT CUSTID. ORDER BY Clause SELECT ORDID. end. This PL/SQL ensures that. or any combination as the sort criterion. for example to add a CONNECT BY and START WITH clause. For example. ORDID. ORDERDATE.blogspot. the user of the report can provide a value for a parameter called GROUP_BY_COLUMN (of Data type Character). if necessary. SHIPDATE.'HIREDATE') then :break_col := 'to_char('in_var')' . you could enter DNAME ENAME. DFLTCOMM) CPLAN.com/ CUST can be used to restrict records retrieved from ORD. CONNECT BY and START WITH Clauses Parameters in CONNECT BY and START WITH clauses are used in the same way as they are in the WHERE and HAVING clauses. At runtime. you call the following PL/SQL procedure and pass it the value of GROUP_BY_COLUMN: procedure conv_param (in_var IN char) is begin if upper(in_var) in ('DEPTNO'. else :break_col := in_var. The Initial Value of the parameter &BREAK_COL is JOB. For example. SELECT * FROM EMP &WHEREORD WHEREORD could be used to change both the WHERE and ORDER BY clauses at runtime. you make a lexical reference to BREAK_COL. be used to select customers with a minimum total of orders. PL/SQL and SQL SELECT &BREAK_COL C1. Any form of the WHERE clause can be specified at runtime. LOC SAL FROM DEPT for COLSTABLE at runtime. TOTAL FROM ORD ORDER BY &SORT The value of SORT can be used to select SHIPDATE. a TO_CHAR is placed around the break column the user chooses. Notice how in SQL. It could also be used to add on to the query. In PL/SQL. ORDERDATE. end if.'EMPNO'.

How do I populate a POPlist with a record group at runtime? Syntax: POPULATE_LIST(list_id. · The record group contains an other value element but the list does not meet the criteria specified for adding an other value element with ADD_LIST_ELEMENT. recgrp_id). Usage Notes: · Do not use the POPULATE_LIST built-in if the Other Values property is defined and there are queried records in the block. The data type of the ID is ITEM. The record group must be created at runtime and it must have the following two column (CHAR) structure: Column 1: Column 2: The list label the list value Parameters: List_id Specifies the unique ID that Oracle Forms assigns when it creates the list item. Refer to the restrictions on DELETE_LIST_ELEMENT for more information. At this point. an error will occur because Oracle Forms will attempt to display the previously fetched values (A. recgrp_name). recgrp_name The CHAR name you gave to the record group when you created it. POPULATE_LIST(list_id. · Before populating a list. and ** Populates the list with values from record group . For example. Doing so may cause Oracle Forms to be unable to display records that have already been fetched.com/ 54. The data type of the name is CHAR. recgrp_id). Assume also that these values have been fetched from the database (a query is open).http://oracleapps88. Use the FIND_ITEM built-in to return the ID to an appropriately typed variable. assume that a list item contains the values A. recgrp_name). Refer to the restrictions on ADD_LIST_ELEMENT for more information. Use the ABORT_QUERY built-in to close an open query.blogspot. close any open queries. clears the list. if you populate the list using POPULATE_LIST. Example: /* ** Built-in: POPULATE_LIST ** Example: Retrieves the values from the current list item ** Into record group one. The data type of the ID is RecordGroup. B. and C and the Other Values property is defined. B. POPULATE_LIST(list_name. POPULATE_LIST(list_name. Built-in Type Unrestricted procedure Enter Query Mode: yes Description: Removes the contents of the current list and populates the list with the values from a record group. and C). Restrictions: POPULATE_LIST returns error FRM-41337: Cannot populate the list from the record group if: · The record group does not contain either the default value element or the other values element and the list does not meet the criteria specified for deleting these elements with DELETE_LIST_ELEMENT. list_name The name you gave to the list item when you created it. recgrp_id Specifies the unique ID that Oracle Forms assigns when it creates the record group. but will be unable to because these values were removed from the list and replaced with new values.

passing the parameter list . List or name Specifies the parameter list to be passed to the called product. Valid numeric constants for this parameter are BATCH and RUNTIME. display). either the file system or the database.http://oracleapps88. How do I call reports from forms? 56. The application looks for the module or document in the default paths defined for the called product.item_name. bar chart. report. Data passing is supported only for master queries. execmode. 'RECGRP_ONE'). ** Trigger: When-Button-Pressed */ BEGIN Retrieve_List(list_id. /* ** Run the report synchronously. Oracle Graphics display. even if the called application has not completed its display.DATA_PARAMETER. location. parameter lists that contain parameters of type DATA_PARAMETER (pointers to record groups) can only be passed to Oracle Reports and Oracle Graphics in SYNCHRONOUS mode. Note: You can pass text parameters to called products in both SYNCHRONOUS and ASYNCHRONOUS mode. 'RECGRP_TWO'). the ID of the parameter list. GRAPHICS specifies Oracle Graphics. When you run Oracle Reports and Oracle Graphics. The name of the chart item must be specified in the format block_name. Document Specifies the CHAR name of the document or module to be executed by the called product. Location Specifies the location of the document or module you want the called product to execute. Valid constants for this property are FILESYSTEM and DB. Valid numeric constants for this parameter are SYNCHRONOUS and ASYNCHRONOUS. Clear_List(list_id). However. display Specifies the CHAR name of the Oracle Forms chart item that will contain the display (such as a pie chart. Parameters: product Specifies a numeric constant for the Oracle product you want to invoke: FORMS specifies a Runform session. or graph) generated by Oracle Graphics. execmode Specifies the execution mode to be used when running the called product. or Oracle Book document. or NULL. (SYNCHRONOUS mode is required when invoking Oracle Graphics to return an Oracle Graphics display that will be displayed in a form chart item. commmode. REPORT specifies Oracle Reports. SYNCHRONOUS specifies that control returns to Oracle Forms only after the called product has been exited. To specify a parameter list ID. document. use a variable of type PARAMLIST. always set execmode to RUNTIME. When you run Oracle Forms. list. Commmode Specifies the communication mode to be used when running the called product. (This parameter is only required when you are using an Oracle Graphics chart item in a form.com/ ** Two when a button is pressed. Valid values for this parameter are the CHAR name of the parameter list. commmode. execmode can be either BATCH or RUNTIME. RUN_PRODUCT(product. Valid values are the name of a form module.) Note: You can prevent Oracle Graphics from logging on by passing a parameter list that includes a parameter with key set to LOGON and value set to NO. display). Note: You cannot pass a DATA_PARAMETER to a child query in Oracle Reports.'EMP_QUERY'. name. Populate_List(list_id.'EMP_RECS').blogspot. BOOK specifies Oracle Book. END. execmode. What are various parameters of Run_product built-in? RUN_PRODUCT(product. 55. ASYNCHRONOUS specifies that control returns to the calling application immediately. The operator cannot work in the form while the called product is running.) Add_Parameter(pl_id. location. document.

or matrix break data model. the summary must be owned by the cross product group and must have Product Order specified. FILEYSTEM.blogspot. 57. and then recreate the cross-product group. RUNTIME. What is a complex report you have done? 59. Note: For data models that require a break group. you should create the break group before creating the crossproduct group. Parameters: validation scope Specify one of the following scopes: DEFAULT_SCOPE Perform normal validation for the default scope.com/ */ Run_Product(REPORTS. determined by the runtime platform. see Building Reports Manual. RECORD_SCOPE Perform normal validation for the current record. one of which must be a cross product group. What are the prerequisites of a Matrix report? Data Model Requirements You must have a matrix. (Note that summaries owned by the crossproduct group cannot have a Reset At or Compute at of Page or rely on columns that do. If the cross-product group already exists. Built-in Type: unrestricted procedure Enter Query Mode: yes Description: VALIDATE forces Oracle Forms to immediately execute validation processing for the indicated validation scope. delete it. For more information. create the break group(s). Matrix Report Defaulting This section is divided into six sections: · Matrix defaulting without summaries · Matrix defaulting with summaries . If the first field of a form is required. Oracle Forms will not validate at the default scope but at the scope defined by SET_FORM_PROPERTY. Note: If you change the scope via SET_FORM_PROPERTY(VALIDATION UNIT) and then call VALIDATE(DEFAULT_SCOPE). Matrices and Summaries # When creating summaries that will appear within the matrix. The data model must have at least four groups. In this case. pl_id. FORM_SCOPE Perform normal validation for the current form. nested matrix. Oracle Reports uses the Product Order to determine where to place the fields for the summaries in the layout. 'empreport'.http://oracleapps88. it allows to navigate out of the required current field. For developer: VALIDATE(validation_scope). 58. you will override the default scope as defined in the form module. NULL). and I want to tab out without entering any value. and at least two of the groups inside of it. how do I do that? For user: Press Shift + Tab.) Default Layout Requirements You must select the cross product group. BLOCK_SCOPE Perform normal validation for the current block. SYNCHRONOUS. ITEM_SCOPE Perform normal validation for the current item.

M_groupname_HDR is used to protect field labels from being overwritten by other objects in the report. you can calculate the number of matrix objects created.http://oracleapps88.com/ · Nested matrix defaulting without summaries · Nested matrix defaulting with summaries · Matrix break defaulting without summaries · Matrix break defaulting with summaries Matrix Defaulting without Summaries Assume you only have one group tree. you selected the cross product group. 6) The following are the limitations: a) The number of columns in the report layout is limited by the maximum number of columns for which the data model is designed and the report lay out is painted. Select maximum number of dummy columns with fixed column aliases from dual should be the default value for the lexical parameter “QUERY”.blogspot. By multiplying the number of across dimensions by the number of down dimensions. 2. 63. 3) Write a code in either After parameter form OR Before report triggers to extract table name (say TN) from RQ. b) The tedious hard coding part involved in building the new query for the report in either of the 2 After parameter form OR Before report triggers. Generated Objects: Your Layout editor will contain the following objects: B_columnname For the label of each selected column in the Default Layout dialog box. 1) The data model should be prepared in the most generic format possible i. If we have same triggers at multiple levels i. (M_ implies it is a frame. (F_ implies it is a field. 61. If u don’t know the error. (B_ implies it is a boilerplate object. For ex. How do I call a backend stored procedure from forms? Just call the stored procedure in forms by its name and passing required parameters. 5) Pass the newly built report query to the data model via the lexical parameter “QUERY”.) X_groupname For each pair of repeating frames that intersect to form the matrix. Item .) M_groupname_HDR For each group that you selected in the Default Layout dialog box. 60. 62. If u know the error then display appropriate message in on-error. then get error code and text which oracle gives DBMS_ERROR_CODE. 1. Apply the to_char function to all those non character fields that are part of the report query. one dimension going down multiplied by one dimension going across yields one matrix object. and one group below it.e. (R_ implies it is a repeating frame. How do I handle stored Procedure errors from forms? If error not handled in SP then error will propagate in forms. two groups inside of it. DBMS_ERROR_TEXT and display the contents. If I am calling a report from forms & if the report query is ‘select * from emp’ and dynamically at runtime I want to change it to ‘select * from dept’ can I do it? How? Yes. 2) After accepting the report query from the user through a user parameter (say RQ). Form.) R_groupname For each group that you selected in the Default Layout dialog box. using lexical parameters like &QUERY. HDR implies it is a header frame. Assume that each group contains one column. In this case. Query up the columns from the data dictionary (table ‘COL’)for the table name TN. Don’t forget to add the fixed column aliases that were used to form the data model.e. 4) Build the report query using the column names that are queried up and the table name that is extracted. Block and Item then what is the default order of firing the triggers? 1.) F_columnname For each column that you selected in the Default Layout dialog box. it is possible.

#FND FKEY DEFINE_LISTVAL SQL="SELECT LOOKUP_CODE. What triggers get fired first? When-new-form-instance or when-new-item-instance? 1. yorigin. heading2(length). E. The steps are as follows: a) Define an LOV.blogspot. #FND FIELD_INFO ZONENAME="ORDER_LINE" FIELDNAME="UNIT_OF_MEASURE" LOVNAME="UOM_QP" 2) a) Add a new trigger defining a customized LOV. MEANING \"Unit of Measure \" INTO :ORDER_LINE.. What all steps have to be done if I have to add a Quick Pick to a form.UNIT_OF_MEASURE..http://oracleapps88..com/ 2. When-new-item-instance 65. Form 64.PRODUCT_ID)" COLUMN="\" Unit of Measure \"(15)" LOVNAME="UOM_QP" b) attach it to the Field as one of the steps in FND_STARTUP trigger.." [FLDNAME=":block.reference_field"] [TITLE="{title text*application shortname:message name}"] [HEADING="{heading1(length). ... height"] Add a FND_LISTVAL trigger specifying your LOVNAME with the field to which it has to be attached to.}"] [AUTOPICK="{YNFORCE_YESFORCE_NO}"] [WINDOW="xorigin.ename" LOVNAME="LOV1". width.g.. XXX_QP (or an unnamed step of your form-level EasyForm declaration trigger at form level) where XXX are three or more characters you choose Create user defined trigger as follows : Syntax.. at item level as follows : #FND FKEY LISTVAL FLDNAME=":first_block. register it and run it in Oracle financials Application? 1) Get the registered form from the top directory and add a couple of steps in the FND_STARTUP trigger of the form. *application shortname:message nameN}"] [CACHE="{YN}"] [MATCH="{YN}"] [LONGLIST="{YN}"] [SKIP="{012. When-new-form-instance 2. :ORDER_LINE. Block 3.UNIT_OF_MEASURE_MEANING FROM OE_LOOKUPS WHERE LOOKUP_TYPE = 'UNIT_OF_MEASURE' AND LOOKUP_CODE IN (SELECT UNIT_OF_MEASURE FROM OE_PRODUCT_PRICES WHERE PRODUCT_ID = :ORDER_LINE. column2(length). Step 1 #FND FKEY DEFINE_LISTVAL LOVNAME=”list_of_values_name" SQL="SQL select statement" [QVALIDATION="SQL logic for query validation"] [EVALIDATION="SQL logic for entry validation"] COLUMN="column1(length). What all AOL features have you used? 66.

SO_PICKING_LINES. warehouse. quickpick. SO_PICKING_LINE_DETAILS. flex field popup will appear. descriptive flex-field. 68. Depending on the value set you use for validation. Tell any complex form you have developed? 71. What technical features (non-functional) have you practically used in Oracle Applications? Context sensitive help. specify TYPE as FORM. Tables used are SO_PICKING_HEADER. executable 74. Picking is a process of withdrawing items from inventory to be shipped to the customer. It stores item id. When you pick release an order there is a field for backorder if you specify backorder to INCLUDED or ONLY the back order quantity will be picked for shipment. 76. APPS in-built user exit will interpret the string and will return a formatted WHERE CLAUSE in form of a lexical parameter which we have to attach to the query. columns. zoom. This FND_FKEY should be at item level. responsibility. menu name and move to next zone.com/ c) Add FND_FKEY trigger calling #EXEMACRO EXETRG “user trigger name” this trigger is called from a form level standard PRE_FIELD trigger. registering tables. What is stored in SO_PICKING_BATCHES? Stores batch information for the orders. Only Releases only backordered lines that meet your criteria. menu creation. How do I attach a form to my own menu? \Navigate Application Menu Specify application name. 73. How do you release back ordered items? Backorder is unfulfilled customer order or commitment. What all are steps required to pass a flex field as a parameter to a report? A value set of validation type special or pair has to be created. Then when you specify report parameters in concurrent program definition. forms. For a menu item attach a object. specify the value set which is to be used for parameter validation. This FND_FKEY trigger queries and fetches data based on the LOV definition and lights up the PICK lamp in the message line. What all features of reports have you incorporated in your report? 70. which are due for pick release. What is pick release? Which tables are used in pick release? Pick Release is an order cycle action to notify warehouse that orders are ready for picking. Exclude Releases all unreleased order lines that meet your criteria (excluding backorders). report sets. d) Register the form. report. Tell any complex report you have developed? 69. . 75. What all features of forms you have incorporated in your form? 72.http://oracleapps88. This value can be either of following : Include Releases all backordered order lines that meet your criteria and then all unreleased order lines that meet your criteria. sub-inventory. Responsibility “Application Developer” and the navigation path is \Navigate Application Form Register 67. SO_PICKING_BATCHES. Unfulfilled order line details which have failed to be released at least once by Pick Release or have been backordered by Ship Confirm.blogspot. in which we have to actually invoke the flex field. Parameters are passed to the report as a string. Specify under which application the form is registered into and Save changes. quickcode. concurrent program.

blogspot. Oracle Applications uses flex-fields to capture information about your organization. Each segment has an assigned name and a set of valid values. order type. shipment priority. For changing segments of descriptive flex-field From AOL select \Flex-field descriptive segments You have to UN-FREEZ flex-field and then change the segments. . Name the table where demand interface data is stored? Please refer to question No 48 81. SO_ORDER_HOLDS_ALL 78. and you can think of a segment qualifier as something the segment uses to tag its values. flex-field name and change value sets in the next zone. SO_HOLD_RELEASES. SO_HOLD_AUTHORIZATION. ship set no. Specify the application. How to register a form. Save the screen to reflect the new value set. and determine whether detail posting or budgeting are allowed for a particular value. In the Oracle Applications. 84. You should think of a flex-field qualifier as something the whole flex-field uses to tag its pieces.http://oracleapps88. Hint is passed in the SQL as /* hint */ where hint is the index name to be used. reports? Refer to question 46 and 27 to 30 for answer. 79. zone. 82. Once you are through with modifications.com/ shipment method. You can think of a segment qualifier as an "identification tag" for a value. What is flex field? Flex-field An Oracle Applications field made up of segments. only the Accounting Flex-field uses segment qualifiers. How do you modify descriptive flex field? 1. How does explain plan inform that a particular index be used for query execution? You can pass hint for the optimizer to use the specified index. segment qualifiers can identify the account type for an account segment value. set it back to FREEZ. It is easy to confuse the two types of qualifiers. Which tables stored order holds information? Tables storing hold information are SO_HOLDS. There are two types of flex-fields: key flex-fields and descriptive flex-fields. In the Accounting Flex-field. What is segment qualifier? Segment Qualifier A segment qualifier identifies a particular type of value in a single segment of a key flex-field. 2. form. This will fire a concurrent request which will in turn change the descriptive flex field to reflect the changes. 77. For changing value sets attached to flex-field \Flex-field descriptive values. Where will you keep host source code? $APPL_TOP/bin 83. SO_HOLD_SOURCES_ALL. 80. etc.

86. Hence. Information about the radix character and thousands separator are determined from the location of the user. due to the static nature of QuickCodes lists of values. QuickCodes share all the powerful features of QuickPick. which displays mixed currency values. 87. From your end user's point of view. Oracle Application Object Library processes them up to ten times . a QuickCodes field looks and acts just like a QuickPick field. In Germany the radix character and thousand separator are switched from the US counterpart. You can design more intuitive forms by displaying descriptive names and hiding internal identifiers. Why is FND CURRENCY used in reports? It is FND FORMAT_CURRENCY user exit for a report. although for QuickCodes this validation happens automatically. For queried data for a Flex-field a) Trigger FND_PRE_QUERY calls POPID user exit for invoking flex field window and FND_POST_QUERY calls LOADID user exit for loading segment descriptions when user Queries. These are written at the block level. This is written at the field level. A context-sensitive segment is a segment that may or may not appear depending upon what other information is present in your form. QuickPick also makes it easy for you to create foreign key relationships in your forms. you users sees all enabled and disabled currency names. You can also use QuickPick to enforce separate validation rules for data entry and data query. your user can only chose from currency names that are enabled and currently active. For example.com/ 85. A global segment is a segment that always appears in the descriptive flex field pop-up window. NOTE: It does not convert one currency into another but just formats the amounts as per location. b) Triggers FND_PRE_INSERT and /or FND_PRE_UPDATE calls VALID user-exit for validating the user entered flex field. instead of the representative's employee ID or some other identifying code. What is the difference between quick pick and quick code? Overview of QuickPick and QuickCodes QuickPick is a powerful Oracle Application Object Library feature that makes your users more productive by letting them enter data in shorthand form and by ensuring that they enter valid data. QuickCodes also use separate validation criteria for data entry and data query. 88. global and context-sensitive. However. global and context-sensitive. 89. that you can decide to use in a descriptive flex field structure. What are global segments? Descriptive flex fields have two different types of segments. such as AutoSelection and AutoReduction. your form displays a PICK lamp to show your user that QuickPick is available. What are context sensitive segments? Descriptive flex fields have two different types of segments. QuickCodes let you define general purpose. For example. based on start and end dates and an enabled flag. regardless of context (any other information in your form). How to implement flex fields in forms.blogspot. QuickCodes allow you to base your program logic on codes while displaying user-friendly names in a QuickPick window. When querying data. a report can appear differently depending upon the location of the user and the profile options values set. you can specify that when entering a currency name. QuickCodes simplify name and language changes by letting you alter the names your users see. while the codes in your underlying forms and programs remain unchanged.http://oracleapps88. your user can enter the representative's name. The special display for negative and positive currency values is specified by two profile options. static lists of values for form fields. name the triggers and user exits? For inserting data for a Flex-Field a) Trigger KEY_PREFIELD calls POPID user exit for invoking flex field. If you define a QuickPick on a field. that you can decide to use in a descriptive flex field structure. The negative numbers display in parentheses () or angle brackets <\> depending upon the user's preference. when entering the sales representative responsible for a client.

You can also use QuickCodes on fields that accept longer lists of values.blogspot. In the Accounting Flex-field. . Instead of writing triggers that explicitly check for each of these values (and their partial values like Y or N). within every journal entry. and determine whether detail posting or budgeting. suppose your form contains several fields that accept the values Yes and No. allow you to create new QuickCode types. How will you display a message in the form that you have modified for testing the form? 93. Your end users can also specify a starting date. What was the structure of accounting flex field in your previous project? Company Region Cost Center Account Product Sub-account 96. Some QuickCodes are shared among several applications. 97. Oracle General Ledger ensures that. You can think of a segment qualifier as an "identification tag" for a value. are allowed for a particular value.http://oracleapps88. 94. 92. What is auto reduction? AutoReduction automatically shortens the list to only those values beginning with the character(s) your users type. There are two types of QuickCodes. What are special triggers created in the form when you register it? Refer question 27-30. QuickCodes returns a code to your form to indicate the value entered. We recommend you do not create new QuickCode types for the pre-seeded QuickCodes. In this chapter. and are always pre-seeded. How to debug the form? You should have developer menu to do this. How can you see the global parameter values in the form without coding? You should have developer menu to do this.S. such as U. Special QuickCodes. we discuss maintaining and developing Special QuickCodes. In the Oracle Applications. system level and global variables. only the Accounting Flex-field uses segment qualifiers. an ending date. 90. If your end user enters Yes or No (or their partial values). the total debits to company 01 equal the total credits to company 01. Your end users can add values to lists you define.com/ faster than ordinary QuickPick lists. There is an option to set Debugger On and Off. You have a Examine option which lists all form level. It will show you which trigger is getting fired and you can debug the relevant trigger. resulting in improved performance for your users. You can maintain these QuickCodes using the Define QuickCodes form. 95. You can see values of all of them without coding for it. A segment qualifier identifies a particular type of value in a single segment of a key flexfield. What is cost center segment? It is a segment qualifier. 91. For example. state names. you can write QuickCodes triggers that refer to the QuickCodes type YES_NO. segment qualifiers can identify the account type for an account segment value. if your company segment is a balancing segment. What is balancing segment? Balancing segment An Accounting Flex-field segment that you define so that Oracle General Ledger automatically balances all journal entries for each value of this segment. which are maintained from the Define Special QuickCodes form. For example. and whether a particular QuickCodes value is enabled. usually referred to simply as QuickCodes.

_ Invoice date is within active date ranges of parameters _ Each invoice line amount must equal the sum of it's distributions _ GL date must fall within an open or future-enterable accounting period _ Invoice Amount sign adheres to the value that you specified for the Creation Sign field of the transaction type for this invoice If you are entering an invoice against a commitment: _ Invoice date is equal to or later than the transaction date _ Invoice's GL date is equal to or later than the commitment's GL date If you have assigned an automatic payment method to an invoice: _ Specified a customer bank _ Specified a customer bank branch _ Specified a customer bank account If you assign an invoicing rule to an invoice: _ Each invoice line has an accounting rule _ Each invoice line has a rule start date _ Invoice and tax lines of an invoice have account sets If you do not assign an invoicing rule to an invoice: . you can have as many accounting flex fields as you wish. Oracle Receivables automatically generates a report after you merge customer information to allow you to review the details of your merge. What are on-account sales credits? On account: Payments where you intentionally apply all or part of the payment amount to a customer without reference to an debit item. If you only have partial information for the invoice you can always go back to enter more information to complete your invoice. then you have to define one set of books per accounting flex field. Can you have two accounting flex fields in AR? Yes. 101. What happens when you complete an invoice? You complete an invoice by entering yes in this field.com/ 98.http://oracleapps88. On-account examples include prepayments and deposits. What is customer merging? You can merge the business purposes of two different customers in order to assign all transactions to a new customer. 100. But. You can create on account credits in the Enter Credit Memos form or through AutoInvoice. Oracle Receivables performs several validation tests before it allows you to set the Complete field to Yes for an invoice: _ Invoice contains at least one line or has freight at the header level.blogspot. 99. or you can merge business purposes for the same customer. On account credits: Credits that you assign to your customer's account that are not related to a specific invoice.

102. but can be referenced via the foreign key cust_trx_type_id. Each of these transactions is stored as a unique record. What all things are stored in RA_CUSTOMER_TRX? The RA_CUSTOMER_TRX table stores invoice.blogspot. and tax calculation fails. If you update a completed invoice by changing values on which AutoAccounting depends. The transaction type for the invoice is stored in the RA_CUST_TRX_TYPES table. The transaction number. Oracle Applications allow you to define your own country specific validation. 103. 104. Oracle Receivables displays a warning message and changes this field back to No. customer_trx_id. AR enables to chase customer for payments. Oracle Receivables also lets you delete incomplete invoices if you enter Yes in the Allow Delete field of the System Options form. material is delivered to customer. How AR and OE related? Orders are entered through OE module. outstanding debit item. What is credit memo and debit memo? . What is address validation? For each address style you can define country specific validation which controls the information you enter in certain address elements.com/ _ Revenue accounts exist for all of the invoice and tax lines _ Accounts on the Account Assignments are valid Flexfield combinations If Tax Calculation is set to Yes: _ Each line has a tax line except charges lines When you complete an invoice whose transaction type has Open Receivables set to Yes. based on the primary key. receivable interface is run. What is finance charge? Finance charges are additional charges that you assign to your customers for past due items. What are charge backs? Charge-back is a new debit item that you assign to your customer when you close an existing.http://oracleapps88. 108. Oracle Receivables displays the invoice on your agings. trx_date and bill_to_customer_id columns. 106. Data remains in AR till Invoice is paid off and then data is passed on to GL. document sequence number. Finance charges can be included on your customer's statements and dunning letters. Validation can take the form of a simple quickpick or a complex parent-child relationship between address elements. If you update a completed invoice by changing values on which tax calculation depends. You specify whether you want to charge your customers finance charges through their customer profiles. Additional information stored in this table includes ship-to customer. you may want to restrict the entry of cities for French addresses to a predefined list. This interface ports data from OE to AR tables.e. If you change the transaction type of a completed invoice where Open Receivables is set to No. transaction date and billing customer are stored in the trx_number. debit memo. respectively. Oracle Receivables displays a warning message and changes this field back to No. 107. and AutoAccounting fails. Various kinds of reports are produced. Oracle Receivables no longer displays the invoice on your agings. Once order is Ship Confirmed i. or you may want to restrict a postal code to a certain range of numbers. commitment and credit memo header information. currency code and a transaction complete flag. What is lock box? 105. For example.

112. What is set of books? Set of books A company or group of companies within Oracle General Ledger that shares a common Accounting Flex-field structure.concatenated description field name"] [TITLE="window title"] [VDATE="date"] [NAVIGATE="{YN}"] [AUTOPICK="{YN}"] [NUM=":structure defining field"] [COPY=":block.unique ID field"] [REQUIRED="{YN}"] [DISPLAY="{ALL flexfield qualifier segment number}"] [UPDATE="{ALL flexfield qualifier segment number}"] [INSERT="{ALL flexfield qualifier segment number}"] [DATA_FIELD="concatenated hidden IDs field"] [DESC="block. Which is the parameter set to validate key flex field value? Syntax #FND {POPIDLOADIDVALID} CODE="flexfield code" APPL_SHORT_NAME="application_short_name" VALIDATE="{FULLPARTIALNONEQUERY}" SEG="block. CM record will have customer_trx_type_id of credit memo (in training database its set to 1002). How to find overdue invoices? You can find out overdue invoices by firing an aging report. What is the link between CM and invoice (column name)? Invoice and CM both go in ra_customer_trx table.blogspot.field\n{ALL flexfield qualifier}"] [VRULE="flexfield qualifier\n segment qualifier\n {I[nclude]E[xclude]}\n NAME=Message Dictionary message name\n . Eg. 90days overdue etc.field\nSegment qualifier"] [READ_ONLY="{YN}"] [DINSERT="{YN}"] [WINDOW="{YN}"] [ID="block. List the key flex fields in AR? Territory Sales tax location 113. Question 20. 111.com/ Ref. 21. 60 days overdue.http://oracleapps88. calendar and functional currency. Define aging buckets to list invoices in different buckets like 30 days overdue. Invoice record trx_number = 1000 CM record trx_number = 1020086 previuos_customer_trx_number = 1000 110. This CM record will store the trx_number of Invoice record in previous_customer_trx_number.concatenated values field name" [BLOCK="block_name"] [FIELD="field_name"] [DERIVED=":block. 109.

115. so you do not have to wait for their completion.. . and from cancelling return line quantities that have been received or credited. The Cancel Orders form honors security rules that you define for the Cancel operation that are stricter than these rules. After which stage you cannot cancel the order? The Cancel Orders form enforces some security rules that are not predefined using the Define Security Rules form. For example.field\n flexfield qualifier\n segment qualifier"] [USEDBFLDS="{YN}"] [COLUMN="{column1(n) column1 alias(n) [. they will be ignored. 116. such as releasing shipments or running a report. You can choose to include unapplied and on-account payments. but if you define any that conflict with these rules. column2(n). which decide the way Oracle applications work. 117.http://oracleapps88. Name important tables from OE/AR? Following are the list of some tables in OE module: SO_CYCLES SO_ACTIONS SO_CYCLE_ACTIONS SO_RESULTS SO_HEADERS SO_LINESSO_LINE_DETAILS . non-interactive tasks within Oracle Applications for you. What is dunning letter? A letter that you send to your customers to inform them of past due debit items. What is profile? Profile is a set of optional/mandatory parameters. the Cancel Orders form prevents you from cancelling order line quantities that have been shipped or invoiced.."] [VALATT=":block. enabling you to complete multiple tasks simultaneously. which include the following: a) Order Type b) Order Number c) Customer Number d) Between ‘Request Dates’ and or ‘Schedule Dates’. What is concurrent program? It is a unique facility that manages many time-consuming. the Concurrent Manager does the work for you. 119.. which a user can set.blogspot.com/ validation value1\n validation value2. e) Ware house f) Sub-inventory g) Item h) Shipment priority i) Freight Carrier 118. What are the inputs for pick release? ‘Backorders’ & ‘Prior Reservations Only’ are mandatory fields. rest of them are optional.]}] [WHERE="where clause"] [SET="set number"] [ALLOWNULLS="{YN}"] [QUERY_SECURITY="{YN}"] [QBE_IN="{YN}"] [LONGLIST="{YN}"] [NO_COMBMSG="MESG_NAME"] 114. When you submit a request in Oracle Applications that does not require your interaction. Oracle Receivables lets you specify the text and format of each letter..

What tables are hit when an Invoice is entered? RA_CUSTOMER_TRX RA_CUSTOMER_TRX_LINES RA_CUST_TRX_LINE_GL_DIST RA_CUSTOMER_TRX_LINE_SALESREPS AR_PAYMENT_SCHEDULES 123. 121. Name important tables of various modules? Following are some of the important tables in AP module: AP_INVOICES AP_INVOICE_DISTRIBUTIONS . RA_INTERFACE_DISTRIBUTIONS Oracle Receivables and Oracle Government Receivables uses three tables to temporarily store data you transfer from other systems. These tables are called RA_INTERFACE_LINES_ALL. Give complete process cycle for OE/AR? The process cycle for a general OE is as follows: ENTER BOOK DEMAND INTERFACE BACK ORDER RELEASE PICK RELEASE SHIP CONFIRM INVENTORY INTERFACE & RECEIVABLE INTERFACECOMPLETE LlNECOMPLETE ORDER The process cycle for a general OE is as follows: Import Invoice information from legacy system or from OE module (Receivable Interface) to Autoinvoice the Orders.com/ SO_PRICE_LISTS SO_PRICE_LIST_LINES SO_PRICE_ADJUSTMENTS SO_DISCOUNTS SO_DISCOUNTS_LINES SO_PICKING_BATCHESSO_PICKING_HEADERSSO_PICKING_LINES SO_LINE_APROVALS SO_ORDER_APROVAL SO_CREDIT_CHECK_RULES Following are the list of some tables in AR module: RA_CUSTOMER_TRX RA_CUSTOMER_TRX_LINES RA_CUST_TRX_LINE_GL_DIST RA_CUSTOMER_TRX_LINE_SALESREPS AR_PAYMENT_SCHEDULES AR_CUSTOMER_PROFILES AR_CUSTOMER_PROFILE_CLASSES AR_CASH_RECEIPTS AR_MISC_CASH_DISTRIBUTIONS AR_CASH_RECEIPT_HISTORY AR_RECEIVABLE_APPLICATIONS 120. Complete invoice.http://oracleapps88.blogspot. Enter Receipt Apply the Invoices against the receipt received or deposits held or credit memos or prepayments. RA_INTERFACE_ERRORS_ALL is used only by AutoInvoice to store information about interface data that failed validation. For a detailed description of each column in these tables. RA_INTERFACE_SALESCREDITS_ALL and RA_INTERFACE_DISTRIBUTIONS_ALL. Name interface tables in OE/AR? Oracle Order Entry inserts information into two of the three AutoInvoice interface tables (RA_INTERFACE_LINES and RA_INTERFACE_SALES_CREDITS). 122. The fourth table. please refer to the Table and Column Description section.

ctl This is the control file. Look at the following example: sqlldr orauser/passwd control=loader. selective filters. SQL*loader supports various load formats. loader. but comes with more options. Its syntax is similar to that of the DB2 Load utility. deptname position (08:27) char(20) ) begindata COSC COMPUTER SCIENCE ENGL ENGLISH LITERATURE MATH MATHEMATICS POLY POLITICAL SCIENCE .com/ AP_HOLDS AP_PAYMENT_SCHEDULES AP_INVOICE_PREPAYS AP_CHECKS AP_INVOICE_PAYMENTS AP_PAYMENT_DISTRIBUTIONS Following are some of the important tables in GL module: GL_JE_BATCHES GL_JE_HEADERS GL_JE_LINES GL_CODE_COMBINATIONS GL_BALANCES GL_IMPORT_REFERENCES GL_BUDGETS GL_BUDGET_ENTITIES GL_BUDGET_ASSIGNMENTS GL_BUDGET_VERSIONS GL_INTERFACE Following are some of the important tables in INV module: MTL_SYSTEM_ITEMS MTL_PARAMETERS MTL_ITEM_ATTRIBUTES MTL_ITEM_TEMPLATES MTL_ITEM_TEMPL_ATTRIBUTES MTL_UNITS_OF_MEASURE MTL_ITEM_REVISIONS MTL_SERIAL_NUMBERS MTL_LOT_NUMBERS MTL_ITEM_CATALOG_GROUPS MTL_MATERIAL_TRANSATIONS MTL_MATERIAL_TRANSATIONS_TEMP MTL_ONHAND_QUANTITIES MTL_DEMAND_INTERTFACE 125.http://oracleapps88. One load data into the Oracle database by using the sqlldr (sqlload on some platforms) utility.ctl: load data infile * replace into table departments ( dept position (02:05) char(4).blogspot. and multi-table loads. What you know about SQL*Loader? SQL*Loader is a utility used for moving data from external files into the Oracle database.

B.txt' APPEND INTO TABLE mailing_list FIELDS TERMINATED BY b".http://oracleapps88." If you need to load positional data (fixed length). data2 POSITION(6:15) ) BEGINDATA 11111AAAAAAAAAA 22222BBBBBBBBBB Modify data as it loads into the database: look at the following examples: LOAD DATA INFILE * INTO TABLE modified_data ( rec_no "my_db_sequence. :addr.AAAAAAAAAA 22222. look at the following control file example: LOAD DATA INFILE * INTO TABLE load_positional_data ( data1 POSITION(1:5). state. In the first we will load delimited data (variable length): LOAD DATA INFILE * INTO TABLE load_delimited_data FIELDS TERMINATED BY ". time_loaded "to_char(SYSDATE. region CONSTANT '31'. :mailing_city)". zipcode. city.D.C.txt' BADFILE 'bad_orders. mailing_state ) . data2 POSITION(6:15) "upper(:data2)" ) BEGINDATA 11111AAAAAAAAAA 22222BBBBBBBBBB LOAD DATA INFILE 'mail_orders. null. mailing_city "decode(:mailing_city." ( addr. :mailing_addr)". :city. data2 ) BEGINDATA 11111. mailing_addr "decode(:mailing_addr.blogspot. null. 'HH24:MI')". data1 POSITION(1:5) ":data1/100".com/ Load variable and fix length data records look at the following control file examples."A.nextval"." OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( data1.

To Improve performance of SQL*Loader : 1.Run multiple load jobs concurrently. This option can only be used with direct data loads.http://oracleapps88. there are cases when you can't use direct load. ename POSITION(6:15) CHAR. (30:37) are characters 30 to 37: LOAD DATA APPEND INTO TABLE db_trace_19980517 WHEN (01) <> 'H' and (01) <> 'T' and (30:37) = '19980517' ( region CONSTANT '31'. call_b_no POSITION(12:29) CHAR ) You can not get SQL*Loader to commit at the end of the load file.com/ Load data into multiple tables at once: Look at the following control file: LOAD DATA INFILE * REPLACE INTO TABLE emp WHEN empno != ' ' ( empno POSITION(1:4) INTEGER EXTERNAL. Name some important interface programs a) Inventory b) Customer c) Item d) Receivable e) GL f) Demand g) Tax .A very simple but easily overlooked hint.Add the following option in the command line: DIRECT=TRUE. service_key POSITION(01:11) INTEGER EXTERNAL. 126. committing can be reduced. deptno POSITION(17:18) CHAR. 3. However. but by setting the ROWS= parameter to a large value. empno POSITION(1:4) INTEGER EXTERNAL ) Selectively load only the data that you need : Look at this example. Make sure you have big rollback segments ready when you use a high value for ROWS=. Refer to chapter 8 on Oracle server Utilities manual. mgr POSITION(20:23) INTEGER EXTERNAL ) INTO TABLE proj WHEN projno != ' ' ( projno POSITION(25:27) INTEGER EXTERNAL. 4. This will significantly slowdown load times even with ROWS= set to a high value.Turn off database logging by specifying the UNRECOVERABLE option. 2. This will effectively bypass most of the RDBMS processing. (01) is the first character.blogspot. do not have any indexes and/or constraints (primary key) on your load tables during the load process.

For example. which are visible to your application. The scheduler would probably be built from several types of objects. it declares the types. and triggers that contain the logic for scheduling and other functionality. a specification and a body. and relations. variables. What are object groups? An object group is a container for a group of objects.blogspot. Packages usually have two parts. Program units cannot be placed in an object group. objects. which are hidden from your application. passed parameters. · Deleting an object group from a module does not delete the objects it contains from the module. blocks. constants. block-level triggers. Packages can be created interactively with SQL*Plus or SQL*DBA using the CREATE PACKAGE and CREATE PACKAGE BODY commands. you can change the body without having to recompile calling programs. but rather pointers to the objects. cursors. The body fully defines cursors and subprograms and so implements the specification. you might build an appointment scheduler in a form and then decide to make it available from other forms in your applications. Unlike subprograms. enhance.http://oracleapps88. including a window and canvas-view. · Objects owned by blocks cannot be placed in an object group. and items that display dates and appointments. and subprograms available for use. · When an object in an object group is deleted from a module. This includes items. and subprograms. Still. You define an object group when you want to package related objects so you can copy or reference them in another module. you could then copy them to any number of other forms in one simple operation. Object groups provide a way to bundle objects into higher-level building blocks that can be used in other parts of an application and in subsequent development projects. it is removed from the object group automatically. defining object groups does not increase module size significantly. The specification is the interface to your applications. If you packaged these objects into an object group. Implementation details in the package body are hidden and inaccessible. · The objects in a group must all be defined in the same module. Package Body . Only the declarations in the package specification are visible and accessible to applications. or replace a package body without changing the interface (package specification) to the package body. Difference between packages and procedure/function Packages A package is a database object that groups logically related PL/SQL types. You can create object groups in form and menu modules. the format of a package is similar to that of a subprogram: The specification holds public declarations. So. item-level triggers. packages cannot be called. you must include the block itself by dragging the block object into the object group in the Navigator. The body holds implementation details and private declarations. Once you create an object group. You can debug. you cannot place objects from two different forms in the same object group. although sometimes the body is unnecessary. or nested. · An object group cannot contain another object group. 128. you can add and remove objects to it as desired. exceptions. · Object groups do not store copies of the objects they contain. These objects cannot exist independently of the block in which they were defined.com/ 127. To include these objects in an object group.

and an optional exception-handling part. which are placed between the keywords BEGIN and EXCEPTION (or END). an executable part. Parameter declarations are optional. Like a procedure. Oracle Forms runs the new form with the same Runform options as the parent form. which are placed between the keywords BEGIN and EXCEPTION (or END). The keyword DECLARE is not used. The executable part contains statements. which are placed between the keywords IS and BEGIN. Parameter declarations are optional. except that functions have a RETURN clause. The keyword DECLARE. which introduces declarations in an anonymous PL/SQL block. If the calling form had been called by a higher form. That is. The procedure body has three parts: a declarative part. Procedures that take no parameters are written without parentheses. The declarative part contains local declarations. The exception. Functions and procedures are structured alike. Therefore. The procedure body begins with the keyword IS and ends with the keyword END followed by an optional procedure name. The function body has three parts: a declarative part. · CALL_FORM Built-in Type: unrestricted procedure Enter Query Mode: yes Description: Runs an indicated form while keeping the parent form active. Functions that take no parameters are written without parentheses. an executable part. which define types and objects necessary for the internal workings of the package. which are placed between the keywords EXCEPTION and END. · Function A function is a subprogram that computes a value. Various ways to call a form from another form and their difference · NEW_FORM Built-in Type: restricted procedure Enter Query Mode: no Description: Exits the current form and enters the indicated form. the declarative part of a package body can contain subprogram bodies. the declared types and objects are inaccessible except from within the package body. The scope of these declarations is local to the package body. 129. If the parent form was a called form. Keep in mind that subprograms defined in a package body are accessible outside the package only if their specifications also appear in the package specification. One or more RETURN statements must appear in the executable part of a function. The package body can also contain private declarations. The exception-handling part contains exception handlers. and an optional exception-handling part. is not used. Unlike a package specification.blogspot. The function body begins with the keyword IS and ends with the keyword END followed by an optional function name. which are placed between the keywords EXCEPTION and END. the package body contains the definition of every cursor and subprogram declared in the package specification. Oracle Forms runs the called form with the same . a function has two parts: the specification and the body. At least one statement must appear in the executable part of a procedure.com/ The package body implements the package specification. which specifies the datatype of the result value. Procedure A procedure has two parts: the specification and the body. The executable part contains statements. The NULL statement meets this requirement. The calling form is terminated as the parent form. The function specification begins with the keyword FUNCTION and ends with the RETURN clause. Oracle Forms runs the new form with the same options as the parent form. The declarative part contains local declarations. The procedure specification begins with the keyword PROCEDURE and ends with the procedure name or a parameter list. which are placed between the keywords IS and BEGIN.handling part contains exception handlers. Oracle Forms releases memory (such as database cursors) that the terminated form was using. Oracle Forms keeps the higher call active and treats it as a call to the new form.http://oracleapps88.

that is.http://oracleapps88. We can define the sales person for the customer also. Call OPEN_FORM to create multiple-form applications. 130. closed order : An order and its order lines that have completed all activities in its process flow and for which the close activity has been completed. we can associate a sales person with an order also. · OPEN_FORM Built-in Type: restricted procedure (cannot be called in Enter Query mode) Enter Query Mode: no Description: Opens the indicated form.blogspot. If sales person not defined at the customer level. Can you base a block in a form on a view? Yes.com/ Runform preferences as the parent form. applications that open more than one form at the same time. Sales channel is always associated with the customer. When the called form is exited Oracle Forms processing resumes in the calling form at the point from which you initiated the call to CALL_FORM. . You can. If the view is non-updatable or non-insertable then you can not base a block on view. Account specialist and sales manager are always associated with bill to site address of the customer.

Sign up to vote on this title
UsefulNot useful