Você está na página 1de 30

MTL_PARAMETERS: It maintains a set of default options like general ledger accounts; locator, lot, and serial controls; interorganization

options; costing method; etc. for each organization defined in Oracle Inventory. Each organizations item master organization (MASTER_ORGANIZATION_ID) and costing organization (COST_ORGANIZATION_ID) are maintained here. You specify which manufacturing calendar the organization will use (CALENDAR_CODE), as well as the set of exceptions to this calendar (CALENDAR_EXCEPTION_SET_ID). NEGATIVE_INV_RECEIPT_CODE indicates whether this organization will allow negative balances in inventory. It is used in the transaction system to ensure, for example, that you do not overissue a particular item (if you have indicated that negative balances are not allowed). For lot number and serial number autogeneration, you can specify whether you want the numbers generated from defaults defined at the organization level or the item level (LOT_NUMBER_GENERATION, SERIAL_NUMBER_GENERATION). You can also specify uniqueness constraints for lot numbers (LOT_NUMBER_UNIQUENESS) and serial numbers (SERIAL_NUMBER_TYPE). Among the accounting defaults that can be defined here are valuation accounts, receiving accounts, profit and loss accounts, and inter organization transfer accounts. MTL_SYSTEM_ITEMS: This is the definition table for items. This table holds the definitions for inventory items, engineering items, and purchasing items. You can specify itemrelated information in fields such as: Bill of Material, Costing, Purchasing, Receiving, Inventory, Physical attributes, General Planning, MPS/MRP Planning, Lead times, Work in Process, Order Management, and Invoicing. You can set up the item with multiple segments, since it is implemented as a flex field. Use the standard System Items flex field that is shipped with the product to configure your item flex field. The flex field code is MSTK. The primary key for an item is the INVENTORY_ITEM_ID and

ORGANIZATION_ID. Therefore, the same item can be defined in more than one organization.

Each item is initially defined in an item master organization. The user then assigns the item to other Organizations that need to recognize this item; a row is inserted for each new organization the item is assigned to. Many columns such as MTL_TRANSACTIONS_ENABLED_FLAG and BOM_ENABLED_FLAG correspond to item attributes defined in then MTL_ITEM_ATTRIBUTES table. Two units of measure columns are stored in MTL_SYSTEM_ITEMS table. PRIMARY_UOM_CODE is the 3character unit that is used throughout Oracle Manufacturing. PRIMARY_UNIT_OF_MEASURE is the 25character unit that is used throughout Oracle Purchasing. Items now support multilingual description. MLS is implemented with a pair of tables: MTL_SYSTEM_ITEMS_B and MTL_SYSTEM_ITEMS_TL. Translations table (MTL_SYSTEM_ITEMS_TL) holds item descriptions in multiple languages. DESCRIPTION column in the base table (MTL_SYSTEM_ITEMS_B) is for backward compatibility and is maintained in the installation base language only. MTL_ITEM_STATUS MTL_ITEM_STATUS is the definition table for material status codes. Status code is a required item attribute. It indicates the status of an item, i.e., Active, Pending, Obsolete. The status optionally controls several function controlling item attributes (status attributes) and can be used to disable the item from being used by the various application products. MTL_UNITS_OF_MEASURE_TL MTL_UNITS_OF_MEASURE_TL is the definition table for both the 25character and the 3character units of measure. The base_uom_flag indicates if the unit of measure is the primary unit of measure for the uom_class. Oracle Inventory uses this table to keep track of the units of measure used to transact an item. This table is also used by Oracle Purchasing, Oracle Order Management and Oracle Shipping Execution. MTL_ITEM_LOCATIONS MTL_ITEM_LOCATIONS is the definition table for stock locators. The associated attributes describe which sub inventory this locator belongs to, what the locator physical capacity is, etc. The locator is a key flex field. The Flex field Code is MTLL.

Entity 2
MTL_ITEM_CATEGORIES This table stores the item assignments to categories within a category set. For each category assignment, this table stores the item, the category set, and the category. Items may be assigned to multiple categories and category sets but may be assigned to only one category in a given category set. This table may be populated through the Master Items and Organization items windows. It can also be populated by performing item assignments when a category set is defined. It is also populated when an item is transferred from engineering to manufacturing. MTL_CATEGORIES This is the code combinations table for item categories. Items are grouped into categories within the context of a category set to provide flexible grouping schemes. The item category is a key flexfield with a flex code of MCAT. Item categories now support multilingual category description. MLS is implemented with a pair of tables: MTL_CATEGORIES_B and MTL_CATEGORIES_TL. MTL_CATEGORY_SETS MTL_CATEGORY_SETS contains the entity definition for category sets. A category set is a categorization scheme for a group of items. Items may be assigned to different categories in different category sets to represent the different groupings of items used for different purposes. An item may be assigned to only one category within a category set, however, STRUCTURE_ID identifies the flexfield structure associated with the category set. Only categories with the same flexfield structure may be grouped into a category set. CONTROL_LEVEL defines whether the category set is controlled at the item or the item/organization level. When an item is assigned to an item level category set within the item master organization, the category set assignment is propagated to all other organizations to which the item is assigned. VALIDATE_FLAG defines whether a list of valid categories is used to validate category usage within the set. Validated category sets will not allow item assignment to the category set in categories that are not in a predefined list of valid categories. Category Sets

now support multilingual category set name and description. MLS is implemented with a pair of tables: MTL_CATEGORY_SETS_B and MTL_CATEGORY_SETS_TL.

Entity 3
MTL_DEMAND This table stores demand and reservation information used in Available To Promise, Planning and other Manufacturing functions. There are three major row types stored in the table: Summary Demand rows, Open Demand Rows, and Reservation Rows. Summary Demand is direct demand for an item within an organization on a particular date that originated from a particular source. For hard reservations there are several columns which further define what the reservation is for, and where it is being placed. Currently, four sources of demand are supported, Sales Order, Account, Account Alias, and User Defined transaction sources. Five different types of demand, denoted by DEMAND_TYPE column, are used. These five types are Model, Option Class, Option Item, Configuration Item and Derived. Derived demand rows are inserted by BOM Demand exploder when demanded item has ATP table components. Each Summary Demand row may be associated with one or more Reservation rows. Reservation may be placed against a particular inventory control (that is, specific sub inventory, locator, revision and lot) against any sources (that is, Account Number, Account Alias, Sales Order or even UserDefined sources). Each Summary Demand row may be associated with one or more detailed rows. The detailed rows consist of reservations and open demand. A reservation row represents a firm promise of a supply source. Currently, two types of reservation are supported, reservations to onhand, and reservations to WIP jobs. Each summary demand row may be associated with one and only one open demand row. Open Demand rows represent the unreserved portion of the Summary Demand. MTL_SECONDARY_INVENTORIES MTL_SECONDARY_INVENTORIES is the definition table for the sub inventory. A sub inventory is a section of inventory, i.e., raw material, finished goods, etc. Sub inventories are assigned to items (in a many to one relationship), indicating a list of valid places where this item will physically exist in inventory. Other attributes include general ledger accounts, demand picking order, locator type, availability type, and reservable type. You can also specify whether

this sub inventory is an expense or asset sub inventory (ASSET_INVENTORY) or whether quantities are tracked (QUANTITY_TRACKED). MTL_ONHAND_QUANTITIES MTL_ONHAND_QUANTITIES stores quantity on hand information by control level and location. MTL_ONHAND_QUANTITIES is maintained as a stack of receipt records, which are consumed by issue transactions in FIFO order. The quantity on hand of an item at any particular control level and location can be found by summing TRANSACTION_QUANTITY for all records that match the criteria. Note that any transactions which are committed to the table MTL_MATERIAL_TRANSACTIONS_TEMP are considered to be played out as far as quantity on hand is concerned in Inventory transaction forms. All our Inquiry forms and ABC compile are only based on MTL_ONHAND_QUANTITIES.MTL_ONHAND_QUANTITIES has two columns, CREATE_TRANSACTION_ID and UPDATE_TRANSACTION_IDs to join to MTL_MATERIAL_TRANSACTIONS.TRANSACTION_ID the transactions that created the row and the transaction that last updated a row.

Entity 4
MTL_TRANSACTION_TYPES MTL_TRANSACTION_TYPES contains seeded transaction types and the user defined ones. USER_DEFINED_FLAG will distinguish the two. The table also stores the TRANSACTION_ACTION_ID and TRANSACTION_SOURCE_TYPE_ID that is associated with each transaction type. MTL_MATERIAL_TRANSACTIONS MTL_MATERIAL_TRANSACTIONS stores a record of every material transaction or cost update performed in Inventory. Records are inserted into this table either through the transaction processor or by the standard cost update program. The columns TRANSACTION_TYPE_ID, TRANSACTION_ACTION_ID, TRANSACTION_SOURCE_TYPE_ID, TRANSACTION_SOURCE_ID and

TRANSACTION_SOURCE_NAME describe what the transaction is and against what entity it was performed. All accounting journal entries for a given transaction are stored in MTL_TRANSACTION_ACCOUNTS, joined by the column TRANSACTION_ID. If the item is under lot control then the lot records are stored in MTL_TRANSACTION_LOT_NUMBERS, joined by the column TRANSACTION_ID. If the item is under serial control then the serial records are stored in MTL_UNIT_TRANSACTIONS, joined by the column TRANSACTION_ID. The Item revision and locator control are stored in the columns REVISION and LOCATOR_ID respectively. Transfer transactions are represented as two single records in the table. They are related through the column TRANSFER_TRANSACTION_ID, which contains the TRANSACTION_ID of the other transaction in the transfer. The index MTL_MATERIAL_TRANSACTIONS_UPGD is used only during install and upgrade, and will be dropped during the course thereof, but is included here for completeness.
Posted by Apps Adda at 24.1.08 0 comments

Tuesday, January 22, 2008

Order Management Flow


<!--[if !vml]--> Order management flow as per Oracle Apps 11.5.10.2 Version....

1. Order Entry This is first stage when Order in enter in system. When the order is entered it basically creates a record in order headers and Order Lines table. oe_order_headers_all (Here the flow_status_code as entered) oe_order_lines_all (flow_status_code as entered) ( order number is generated) <!--[if <!--[endif]--> 2. Order Booking This is next stage, when Order which is entered in step 1 is booked and Flow status changed from Entered to Booked. At this stage, this table gets affected. !supportLineBreakNewLine]-->

oe_order_headers_all (flow_status_code as booked ,booked_flag updated) oe_order_lines_all (flow_status_code as awaiting shipping, booked_flag updated) wsh_delivery_details (released_status R ready to release,

oe_interfaced_flag=N-Not interfaced to OM, inv_interfaced_flag=N Not interfaced to INV)


Records get inserted into wsh_delivery_assignments but with delivery_id are null. wsh_new_deliveries (status_code OP open)

Same time, Demand interface program runs in background And insert into inventory tables mtl_demand 3. Reservation This step is required for doing reservations SCHEDULE ORDER PROGRAM runs in the background and quantities are reserved. Once this program get successfully get completed, the mtl_reservations table get updated. 4. Pick Release Ideally pick release is the process which is defined in which the items on the sales order are taken out from inventory. Normally pick release SRS program runs in background. Once the program gets completed these are the table gets affected: oe_order_lines_all (flow_status_code PICKED ) wsh_delivery_details (released_status S submitted for release ) mtl_txn_request_headers mtl_txn_request_lines (move order tables. Here request is generated to move item from saleable to staging sub inventory) Mtl_material_transactions_temp move_order_header_id/line_id 5. Pick Confirm Items are transferred from saleable to staging Sub inventory. (link to above tables through

mtl_material_transactions mtl_transaction_accounts wsh_delivery_details (released_status YReleased ) wsh_delivery_assignments

6. Ship Confirm Here ship confirms interface program runs in background. Data removed from

wsh_new_deliveries oe_order_lines_all (flow_status_code shipped) wsh_delivery_details (released_status C Shipped) mtl_transaction_interface mtl_material_transactions(linked through Transaction source header id) mtl_transaction_accounts Data deleted from mtl_demand,mtl_reservations Item deducted from mtl_onhand_quantities

7. Enter Invoice This is also called Receivables interface that mean information moved to accounting area for invoicing details. Invoicing workflow activity transfers shipped item information to Oracle Receivables. ra_interface_lines_all (interface table into which the data is transferred from order management)T Then Auto invoice program imports data from this Table which get affected into this stage are receivables base table. o ra_customer_trx_all (cust_trx_id is primary key to link it to trx_lines table and trx_number is the invoice number) o ra_customer_trx_lines_all (line_attribute_1 and line_attribute_6 are linked to header_id (or order number) and line_id of the orders) 8. Complete Line In this stage order line leval table get updated with Flow status and open flag.

oe_order_lines_all (flow_status_code shipped, open_flag N)

9. Close Order This is last step of Order Processing. In this stage only oe_order_lines_all table get updated. These are the table get affected in this step. oe_order_lines_all (flow_status_code closed,open_flag N)

These are the typically data flow of a order to cash model for a standard order. Posted by Apps Adda at 22.1.08 0 comments

Monday, January 21, 2008

ORACLE PURCHASING TABLES


PO_REQUISITION_HEADERS_ALL REQUISITION_HEADER_ID, PREPARER_ID, SEGMENT1, SUMMARY_FLAG, ENABLED_FLAG Stores information about requisition headers. You need one row for each requisition header you create. Each row contains the requisition number, preparer, status, and description.SEGMENT1 is the number you use to identify the requisition in forms and reports (unique). PO_REQUISITION_LINES_ALL REQUISITION_LINE_ID, REQUISITION_HEADER_ID, LINE_NUM, LINE_TYPE_ID,

CATEGORY_ID, ITEM_DESCRIPTION, UNIT_MEAS_LOOKUP_CODE, UNIT_PRICE, QUANTITY, DELIVER_TO_LOCATION_ID, TO_PERSON_ID, SOURCE_TYPE_CODE Stores information about requisition lines, Line number, item number, item category, item description, needby date, deliverto location, item quantities, units, prices, requestor, notes, and suggested supplier information for the requisition line. LINE_LOCATION_ID - purchase order shipment line on which you placed the requisition. it is null if you have not placed the requisition line on a purchase order. BLANKET_PO_HEADER_ID and BLANKET_PO_LINE_NUM store the suggested blanket purchase agreement or catalog quotation line information for the requisition line. PARENT_REQ_LINE_ID contains the REQUISITION_LINE_ID from the original requisition line if you exploded or multistoried this requisition line. PO_HEADERS_ALL PO_HEADER_ID, AGENT_ID, TYPE_LOOKUP_CODE, SEGMENT1, SUMMARY_FLAG,

ENABLED_FLAG Information for your purchasing documents.There is six types of documents that use PO_HEADERS_ALL RFQs, Quotations, Standard purchase orders, planned purchase orders, Blanket purchase orders, Contracts, can uniquely identify a row in PO_HEADERS_ALL using SEGMENT1 and TYPE_LOOKUP_CODE or using PO_HEADER_ID.BLANKET_TOTAL_AMOUNT for blanket purchase orders or contract purchase orders. If we use copy document Oracle Purchasing stores the foreign key to your original RFQ in FROM_HEADER_ID. PO_LINES_ALL PO_LINE_ID, PO_HEADER_ID, LINE_TYPE_ID, LINE_NUM Stores current information about each purchase order line. CONTRACT_NUM reference a contract purchase order from a standard purchase order line. PO_VENDORS VENDOR_ID, VENDOR_NAME, SEGMENT1,

SUMMARY_FLAG, ENABLED_FLAG Information about your suppliers. Purchasing, receiving, payment, accounting, tax, classification, and general information. PO_VENDOR_SITES_ALL VENDOR_SITE_ID, VENDOR_ID, VENDOR_SITE_CODE Information about your supplier sites. a row for each supplier site you define. Each row includes the site address, supplier reference, purchasing, payment, bank, and general information. Oracle Purchasing uses this information to store supplier address information. PO_DISTRIBUTIONS_ALL PO_DISTRIBUTION_ID, PO_HEADER_ID, PO_LINE_ID, LINE_LOCATION_ID, SET_OF_BOOKS_ID, CODE_COMBINATION_ID, QUANTITY_ORDERED, DISTRIBUTION_NUM Contains accounting distribution information for purchase order shipment line. You need one row for each distribution line you attach to a purchase order shipment. There are four types of documents using distributions in Oracle Purchasing:

Standard Purchase Orders, Planned Purchase Orders, Planned Purchase Order Releases, Blanket Purchase Order Releases Includes the destination type, requestor ID, quantity ordered and deliverto location for the distribution. PO_RELEASES_ALL PO_RELEASE_ID, PO_HEADER_ID, RELEASE_NUM, AGENT_ID, RELEASE_DATE Contains information about blanket and planned purchase order releases. You need one row for each release you issue for a blanket or planned purchase order. Each row includes the buyer, date, release status, and release number. Each release must have at least one purchase order shipment PO_VENDOR_CONTACTS VENDOR_CONTACT_ID, VENDOR_SITE_ID Stores information about contacts for a supplier site. You need one row for each supplier contact you define. Each row includes the contact name and site. PO_ACTION_HISTORY OBJECT_ID, OBJECT_TYPE_CODE, OBJECT_SUB_TYPE_CODE,

SEQUENCE_NUM Information about the approval and control history of your purchasing documents. There is one record in this table for each approval or control action an employee takes on a purchase order, purchase agreement, release, or requisition. Stores object_id -- Document header identifier, OBJECT_TYPE_CODE --- Document type, OBJECT_SUB_TYPE_CODE --Document subtype SEQUENCE_NUM --Sequence of the approval or control action for a document PO_REQ_DISTRIBUTIONS_ALL DISTRIBUTION_ID, REQUISITION_LINE_ID, SET_OF_BOOKS_ID, CODE_COMBINATION_ID, REQ_LINE_QUANTITY, DISTRIBUTION_NUM Stores information about the accounting distributions associated with each requisition line. PO_LINE_LOCATIONS_ALL LINE_LOCATION_ID, LAST_UPDATE_DATE, LAST_UPDATED_BY, PO_HEADER_ID, PO_LINE_ID,

SHIPMENT_TYPE Contains information about purchase order shipment schedules and blanket agreement price breaks. You need one row for each schedule or price break you attach to a document line. There are seven types of documents that use shipment schedules: RFQs, Quotations, Standard purchase orders, planned purchase orders, planned purchase order releases, Blanket purchase orders, Blanket purchase order releases each row includes the location, quantity, and dates for each shipment schedule. Oracle Purchasing uses this information to record delivery schedule information for purchase orders, and price break information for blanket purchase orders, quotations and RFQs.
Posted by Apps Adda at 21.1.08 1 comments

Sunday, January 20, 2008

Forms Perspnalization...
In this article, I would like to explain different possibilities of Forms Personalizations. Surely before explaining what can be done, first we will touch base upon what exactly it is.

Why was forms personalization introduced by Oracle in 11.5.10? 1. CUSTOM.pll is a programmatic methodology for extending Oracle Forms, even for trivial tasks. 2. Multiple developers working on same CUSTOM.pll could cause version related headaches Does Forms Personalization replace CUSTOM.pll? Not really, however it does provide an alternative to most common activities for which earlier one would use CUSTOM.pll Forms personalization is driven by the same set of events as that for CUSTOM.pll. Keep in mind that Oracle Forms Libraries first invoke the Forms Personalization, and then the CUSTOM.pll too for the same set of events.

How do I enable Forms Personalizations? Enable the personalizations using the Help/Diagnostics menu. <!--[if !vml]--><!--[endif]-->

What are the various components of Forms Personalizations? Different components of Oracle Forms Personalizations are listed below. You begin with recognizing which Triggers/Events that you wish to trap and under what conditions. The

condition can be entered using the syntax as defined in the picture below. <!--[if !vml]--><!--[endif]-->

What does the Action Tab do? Here you will either change form property, or display messages or enable menu etc. <!--[if !vml]--><!--[endif]-->

Can I modify SQL Query behind the LOV using Forms Personalizations? Of course you can. In the below example I am restricting the LOV to less than 3records by introducing where rownum <3> <![endif]--><!--[if !vml]--><!--[endif]-->

Can I call a PL/SQL Stored procedure passing it form field variables? Yes, using the syntax below. Note: You can also invoke FORMS_DDL built-in to perform DDL. <!--[if !vml]--><!--[endif]-->

Can I call BuiltIn's? Indeed, as shown below, you can pick from all the form built-in's as below. <!--[if !vml]--><!--[endif]-->

You can also call a form function and pass it parameters using Forms Personalizations <!--[if !vml]--><!--[endif]-->

Processing can be aborted if validation were to fail <!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

You can invoke equivalent to app_item_property.set_property. I am displaying the Required property below, however you can use this option for all supportable properties of app_item_property <!--[if !vml]--><!--[endif]-->

You can initialize a global variable. Initialization code is executed if and only if the global variable does not already exist.

Use global variables for passing variables back and forth between two forms. Please do not use Global Variables if your logic is restricted to a Single form itself. <!--[if !vml]--><!--[endif]-->

You can assign values to form fields using global variable. <!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

Using forms personalizations, you can set the Default where clause of the BLOCK too. Note: Don't forget to reset this clause after your desired operation has been finished. This will facilitate the form to run in standalone mode too. <!--[if !vml]--><!--[endif]-->

Ditto for Order by Clause on block. <!--[if !vml]--><!--[endif]-->

For displaying messages, you can either enter a plain text, or your message can be displayed from the result of a SQL Statement. <!--[if !vml]--><!--[endif]-->

Local variables can be defined and they will be active for throughout the session of the current form. Use global variables if you wish to share the variable between multiple forms. Below, just for demo, I am setting the local variable to 0. <!--[if !vml]--><!--[endif]--> In the below picture, I am checking if local variable is 0 then display a message. <!--[if !vml]--><!--[endif]-->

You can enable SPECIAL1-15 or MENU1-15, to create new menu entries under the Tool menu. <!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

As seen below, the above two setups have instantiated the new Menu Items <!--[if !vml]--><!--[endif]--> SPECIAL16-30 will create entries under Reports menu SPECIAL31-45 will create entries under Actions menu

You can capture the click on those newly created menu items by trapping event MENU1 or SPECIAL1 [or whatever you defined] <!--[if !vml]--><!--[endif]-->
Posted by Apps Adda at 20.1.08 0 comments

OCA Q'S
QUESTION NO: 1 Examine the data in the EMPLOYEES and DEPARTMENTS tables. EMPLOYEES LAST_NAME DEPARTMENT_ID SALARY Getz 10 3000 Davis 20 1500 King 20 2200 Davis 30 5000 Kochhar 5000 DEPARTMENTS DEPARTMENT_ID DEPARTMENT_NAME 10 Sales 20 Marketing 30 Accounts 40 Administration You want to retrieve all employees, whether or not they have matching departments in the departments table. Which query would you use? A. SELECT last_name, department_name FROM employees , departments(+); B. SELECT last_name, department_name FROM employees JOIN departments (+); C. SELECT last_name, department_name

FROM employees(+) e JOIN departments d ON (e.department_id = d.department_id); D. SELECT last_name, department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id); E. SELECT last_name, department_name FROM employees(+) , departments ON (e.department_id = d.department_id); F. SELECT last_name, department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id);

QUESTION NO: 2 Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25) Which three statements inserts a row into the table? (Choose three) A. INSERT INTO employees VALUES ( NULL, John,Smith); B. INSERT INTO employees( first_name, last_name) VALUES(John,Smith); C. INSERT INTO employees VALUES (1000,John,NULL); D. INSERT INTO employees(first_name,last_name, employee_id) VALUES ( 1000, John,Smith); E. INSERT INTO employees (employee_id) VALUES (1000); F. INSERT INTO employees (employee_id, first_name, last_name) VALUES ( 1000, John,);

QUESTION NO: 3

You need to give the MANAGER role the ability to select from, insert into, and modify existing rows in the STUDENT_GRADES table. Anyone given this MANAGER role should be able to pass those privileges on to others. Which statement accomplishes this? A. GRANT select, insert, update ON student_grades TO manager; B. GRANT select, insert, update ON student_grades TO ROLE manager; C. GRANT select, insert, modify ON student_grades TO manager WITH GRANT OPTION; D. GRANT select, insert, update ON student_grades TO manager WITH GRANT OPTION; E. GRANT select, insert, update ON student_grades TO ROLE manager WITH GRANT OPTION; F. F.GRANT select, insert, modify ON student_grades TO ROLE manager WITH GRANT OPTION;

QUESTION NO: 4 Examine the data in the EMPLOYEES table: LAST_NAME DEPARTMENT_ID SALARY Getz 10 3000 Davis 20 1500 King 20 2200

Davis 30 5000 Which three subqueries work? (Choose three) A. SELECT * FROM employees where salary > (SELECT MIN(salary) FROM employees GROUP BY department.id); B. SELECT * FROM employees WHERE salary = (SELECT AVG(salary) FROM employees GROUP BY department_id); C. SELECT distinct department_id FROM employees Where salary > ANY (SELECT AVG(salary) FROM employees GROUP BY department_id); D. SELECT department_id FROM employees WHERE SALARY > ALL (SELECT AVG(salary) FROM employees GROUP BY department_id); E. SELECT last_name FROM employees Where salary > ANY (SELECT MAX(salary) FROM employees GROUP BY department_id); F. SELECT department_id FROM employees WHERE salary > ALL (SELECT AVG(salary) -7FROM employees

GROUP BY AVG(SALARY));

QUESTION NO: 5 The database administrator of your company created a public synonym called HR for the HUMAN_RESOURCES table of the GENERAL schema, because many users frequently use this table. As a user of the database, you created a table called HR in your schema. What happens when you execute this query? SELECT * FROM HR; A. You obtain the results retrieved from the public synonym HR created by the database administrator. B. You obtain the results retrieved from the HR table that belongs to your schema. C. You get an error message because you cannot retrieve from a table that has the same name as a public synonym. D. You obtain the results retrieved from both the public synonym HR and the HR table that belongs to your schema, as a Cartesian product. E. You obtain the results retrieved from both the public synonym HR and the HR table that belongs to your schema, as a FULL JOIN.

QUESTION NO: 6 Which two statements about views are true? (Choose two.) A. A view can be created as read only. B. A view can be created as a join on two or more tables. C. A view cannot have an ORDER BY clause in the SELECT statement. D. A view cannot be created with a GROUP BY clause in the SELECT statement. E. A view must have aliases defined for the column names in the SELECT statement.

QUESTION NO: 7 Examine the description of the EMPLOYEES table: EMP_ID NUMBER(4) NOT NULL LAST_NAME VARCHAR2(30) NOT NULL

FIRST_NAME VARCHAR2(30) DEPT_ID NUMBER(2) -9JOB_CAT VARCHARD2(30) SALARY NUMBER(8,2) Which statement shows the maximum salary paid in each job category of each department? A. SELECT dept_id, job_cat, MAX(salary) FROM employees WHERE salary > MAX(salary); B. SELECT dept_id, job_cat, MAX(salary) FROM employees GROUP BY dept_id, job_cat; C. SELECT dept_id, job_cat, MAX(salary) FROM employees; D. SELECT dept_id, job_cat, MAX(salary) FROM employees GROUP BY dept_id; E. SELECT dept_id, job_cat, MAX(salary) FROM employees GROUP BY dept_id, job_cat, salary;

QUESTION NO: 8 Management has asked you to calculate the value 12*salary* commission_pct for all the employees in the EMP table. The EMP table contains these columns: LAST NAME VARCNAR2(35) NOT NULL SALARY NUMBER(9,2) NOT NULL COMMISION_PCT NUMBER(4,2) - 10 Which statement ensures that a value is displayed in the calculated columns for all employees? A. SELECT last_name, 12*salary* commission_pct FROM emp;

B. SELECT last_name, 12*salary* (commission_pct,0) FROM emp; C. SELECT last_name, 12*salary*(nvl(commission_pct,0)) FROM emp; D. SELECT last_name, 12*salary*(decode(commission_pct,0)) FROM emp;

QUESTION NO: 9 Which syntax turns an existing constraint on? A. ALTER TABLE table_name ENABLE constraint_name; B. ALTER TABLE table_name STATUS = ENABLE CONSTRAINT constraint_name; C. ALTER TABLE table_name ENABLE CONSTRAINT constraint_name; D. ALTER TABLE table_name STATUS ENABLE CONSTRAINT constraint_name; E. ALTER TABLE table_name TURN ON CONSTRAINT constraint_name; - 11 F. ALTER TABLE table_name TURN ON CONSTRAINT constraint_name;

QUESTION NO: 10 Examine the description of the STUDENTS table: STD_ID NUMBER(4) COURSE_ID VARCHARD2(10) START_DATE DATE END_DATE DATE Which two aggregate functions are valid on the START_DATE column? (Choose two) A. SUM(start_date)

B. AVG(start_date) C. COUNT(start_date) D. AVG(start_date, end_date) E. MIN(start_date) F. MAXIMUM(start_date)

If u want Answers with Explanations give me a commnets............................


Posted by Apps Adda at 20.1.08 0 comments

Saturday, January 19, 2008

Oracle Apps Interview Question and Answers

Oracle Apps Interview Question and Answers


Hi Folks this is mostly asked interview questions in all MNCs

<!--[if

!supportLists]-->1.

<!--[endif]-->How

to

attach

reports

in

Oracle

Applications ? Ans: The steps are as follows :

<!--[if !supportLists]--> <!--[endif]-->Design your report. <!--[if !supportLists]--> <!--[endif]-->Generate the executable file of the report. <!--[if !supportLists]--> <!--[endif]-->Move the executable as well as source file to the
appropriate products folder.

<!--[if !supportLists]--> <!--[endif]-->Register the report as concurrent executable. <!--[if !supportLists]--> <!--[endif]-->Define the concurrent program for the executable
registered.

<!--[if !supportLists]--> <!--[endif]-->Add the concurrent program to the request group


of the responsibility.

<!--[if !supportLists]-->2. <!--[endif]-->What are different report triggers and what


is their firing sequence? Ans. : There are five report trigger :

<!--[if !supportLists]--> <!--[endif]-->Before Report <!--[if !supportLists]--> <!--[endif]-->After Report <!--[if !supportLists]--> <!--[endif]-->Before Parameter Form <!--[if !supportLists]--> <!--[endif]-->After Parameter Form <!--[if !supportLists]--> <!--[endif]-->Between Pages
The Firing sequence for report triggers is Before Parameter Form After Parameter Form Before Report Between Pages After Report.

<!--[if !supportLists]-->3. <!--[endif]-->What is the use of cursors in PL/SQL ?


What is REF Cursor ? Ans. : The cursor are used to handle multiple row query in PL/SQL. Oracle uses implicit cursors to handle all its queries. Oracle uses unnamed memory spaces to store data used in implicit cursors, with REF cursors you can define a cursor variable which will point to that memory space and can be used like pointers in our 3GLs.

<!--[if !supportLists]-->4. <!--[endif]-->What is record group ?


Ans: Record group are used with LOVs to hold sql query for your list of values. The record group can contain static data as well it can access data from database tables thru sql queries.

<!--[if !supportLists]-->5. <!--[endif]-->What is a FlexField ? What are Descriptive


and Key Flexfields ? Ans: An Oracle Applications field made up of segments. Each segment has an assigned name and a set of valid values. Oracle Applications uses flexfields to capture information about your organization.

<!--[if !supportLists]-->6. <!--[endif]-->What are Autonomous transactions ? Give a


scenario where you have used Autonomous transaction in your reports ? Ans: An autonomous transaction is an independent transaction started by another transaction, the main transaction. Autonomous transactions let you suspend the main transaction, do SQL operations, commit or roll back those operations, then resume the main transaction. Once started, an autonomous transaction is fully independent. It shares no locks, resources, or commit-dependencies with the main transaction. So, you can log events, increment retry counters, and so on, even if the main transaction rolls back. More important, autonomous transactions help you build modular, reusable software components. For example, stored procedures can start and finish autonomous transactions on their own. A calling application need not know about a procedure's autonomous operations, and the procedure need not know about the application's transaction context. That makes autonomous transactions less errorprone than regular transactions and easier to use. Furthermore, autonomous transactions have all the functionality of regular transactions. They allow parallel queries, distributed processing, and all the transaction control statements including SET TRANSACTION. Scenario : You can use autonomous transaction in your report for writing error messages in your database tables. What is the use of triggers in Forms ?

Ans : Triggers are used in forms for event handling. You can write PL/SQL code in triggers to respond to a particular event occurred in your forms like when user presses a button or when he commits the form. The different type of triggers available in forms are :

<!--[if !supportLists]--> <!--[endif]-->Key-triggers <!--[if !supportLists]--> <!--[endif]-->Navigational-triggers <!--[if !supportLists]--> <!--[endif]-->Transaction-triggers <!--[if !supportLists]--> <!--[endif]-->Message-triggers <!--[if !supportLists]--> <!--[endif]-->Error-triggers <!--[if !supportLists]--> <!--[endif]-->Query based-triggers <!--[if !supportLists]-->7. <!--[endif]-->What is the use of Temp tables in Interface
programs ? Ans : Temporary tables are used in Interface programs to hold the intermediate data. The data is loaded into temporary tables first and then, after validating through the PL/SQL programs, the data is loaded into the interface tables.

<!--[if !supportLists]-->8. <!--[endif]-->What are the steps to register concurrent


programs in Apps ? Ans : The steps to register concurrent programs in apps are as follows :

<!--[if !supportLists]--> <!--[endif]-->Register the program as concurrent executable. <!--[if !supportLists]--> <!--[endif]-->Define the concurrent program for the executable
registered.

<!--[if !supportLists]--> <!--[endif]-->Add the concurrent program to the request group


of the responsibility

<!--[if !supportLists]-->9. <!--[endif]-->How to pass parameters to a report ? do


you have to register them with AOL ? Ans: You can define parameters in the define concurrent program form. There is no need to register the parameters with AOL. But you may have to register the value sets for those parameters.

<!--[if !supportLists]-->10. <!--[endif]-->Do you have to register feeder programs


of interface to AOL ? Ans : Yes ! you have to register the feeder programs as concurrent programs to Apps.

<!--[if !supportLists]-->11. <!--[endif]-->What are forms customization steps ?


Ans: The steps are as follows :

<!--[if !supportLists]--> <!--[endif]-->Copy the template.fmb and Appstand.fmb from


AU_TOP/forms/us. Put it in custom directory. The libraries (FNDSQF, APPCORE, APPDAYPK, GLOBE, CUSTOM, JE, JA, JL, and VERT) are automatically attached.

<!--[if !supportLists]--> <!-[endif]-->Create or open new Forms. Then customize.


<!--[if !supportLists]--> <!--[endif]-->Save this Form in Corresponding Modules. <!--[if !supportLists]-->12. <!--[endif]-->How to use Flexfields in reports ?
Ans : There are two ways to use Flexfields in report. One way is to use the views (table name + _KFV or _DFV) created by apps, and use the concatenated_segments column which holds the concatenated segments of the key or descriptive flexfields. Or the other way is to use the FND user exits provided by oracle applications.
Posted by Apps Adda at 19.1.08 0 comments

Labels: Oracle Apps

Oracle Cursor Variables


Cursor variables are like C or Pascal pointers, which hold the memory location (address) of some item instead of the item itself. So, declaring a cursor variable creates a pointer, not an item. In PL/SQL, a pointer has datatype REF X, where REF is short for REFERENCE and X stands for a class of objects. Therefore, a cursor variable has datatype REF CURSOR. To execute a multi-row query, Oracle opens an unnamed work area that stores processing information. To access the information, you can use an explicit cursor, which names the work area. Or, you can use a cursor variable, which points to the work area. Whereas a cursor always refers to the same query work area, a cursor variable can refer to different work areas. So, cursors and cursor variables are not interoperable; that is, you cannot use one where the other is expected

Você também pode gostar