You are on page 1of 18

Technical components of Oracle Purchasing

Page 1 of 18

Oracle Purchasing allows requisitions, purchase orders, quotations, and receipts etc to be processed and integrated with modules such as General Ledger, Inventory, Order Management etc. The Oracle Purchasing design consists of various technical components like interfaces, workflows, profile options, tables etc which are summarized in this article.

Main Business Components in Oracle Purchasing are

Employee/Buyers Vendor/Suppliers Requisitions Purchase Orders Receipts

Employees
You must to be setup as an employee in order to create a requisition or a PO. If Oracle HR is installed then you have to use the form defined in Oracle HRMS to define an employee. If Oracle HR is not installed then you can use a form under Setup>Personnel->Employees to setup employees. Main tables are HR_EMPLOYEES, PER_PEOPLE_F Important Note: The view HR_EMPLOYEES_CURRENT_V gives one record per active employee. PER_PEOPLE_F/PER_ALL_PEOPLE_F store multiple records per employee with specific start and end dates

Vendors
PO_VENDORS, PO_VENDOR_SITES_ALL and PO_VENDOR_CONTACTS are the main tables for this entity. Vendors are global i.e. a vendor, once defined, can be used across operating units (OU). Vendor sites are OU specific. Most of the PO tables store the VENDOR_ID and VENDOR_SITE_ID columns. VENDOR_SITE_ID is unique (not unique within a VENDOR_ID) in 11i. It used to be unique for a vendor until 11.0.PO_VENDORS PO_VENDORS stores information about your suppliers. You need one row for each supplier you define. Each row includes the supplier name as well as purchasing, receiving, payment, accounting, tax, classification, and general information.

http://apps2fusion.com/apps/fm/iprocurement/438-oracle-purchasing-technical

3/15/2012

status. Requisition Interface tables or using Self Service Purchasing. REQUISITION_HEADER_ID is invisible to the user. This table is one of three tables that store supplier information. bank. SEGMENT1 is the number you use to identify the requisition in forms and reports. supplier reference. Requisitions can be created by various means – Enter Reqs form. PO_VENDOR_SITES_ALL corresponds to the Sites region of the Suppliers window. Approval is a separate piece of code that is reused in both Reqs as well as PO approval. PO_VENDOR_CONTACTS corresponds to the Contacts region of the Supplier Sites window Requisition This entity is the starting point of data flow in the PO module. This table is one of three tables that store supplier information. It is a combination of Workflow. purchasing. PO_VENDORS corresponds to the Suppliers window. PO_VENDOR_SITES_ALL PO_VENDOR_SITES_ALL stores information about your supplier sites. and general information. Each row contains the requisition number. REQUISITION_HEADER_ID is the unique system–generated requisition number. VENDOR_ID is the unique system–generated receipt header number invisible to the user. Each row includes the contact name and site. All requisitions need to be approved before being considered for future processing. PO_VENDOR_CONTACTS PO_VENDOR_CONTACTS stores information about contacts for a supplier site. After the requisition is completed it should be submitted for Approval. SEGMENT1 is the system–generated or manually assigned number you use to identify the supplier in forms and reports. http://apps2fusion. Oracle Purchasing generates SEGMENT1 using the PO_UNIQUE_IDENTIFIER_CONTROL table if you choose to let Oracle Purchasing generate supplier numbers for you. PL/SQL and Pro*C code. preparer. There are 3 main tables for Reqs: PO_REQUISITION_HEADERS: PO_REQUISITION_HEADERS_ALL stores information about requisition headers. You need one row for each supplier contact you define. Each row includes the site address. You need a row for each supplier site you define.Technical components of Oracle Purchasing Page 2 of 18 Oracle Purchasing uses this information to determine active suppliers. An unapproved requisition has a value of ‘Incomplete’ for the column AUTHORIZATION_STATUS in the table PO_REQUISITION_HEADERS.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . Oracle Purchasing uses this information to store supplier address information. Oracle Purchasing generates SEGMENT1 using the PO_UNIQUE_IDENTIFIER_CONTROL table if you choose to let Oracle Purchasing generate requisition numbers for you. You need one row for each requisition header you create. payment. This table is one of three tables that store supplier information. and description.

PO_REQ_DISTRIBUTIONS: PO_REQ_DISTRIBUTIONS_ALL stores information about the accounting distributions associated with each requisition line. and suggested supplier information for the requisition line. PARENT_REQ_LINE_ID contains the REQUISITION_LINE_ID from the original requisition line if you exploded or multisourced this requisition line. PO_REQUISITION_LINES: PO_REQUISITION_LINES stores information about requisition lines. PO_REQ_DISTRIBUTIONS_ALL is one of three tables storing your requisition information. and the status of the document. foreign currency information. item quantities. deliver–to location. terms and conditions information. This table corresponds to the requisition Distributions window. Each row contains the line number. accessible through the Requisitions window Purchase Order This is the pivotal entity of Oracle Purchasing. notes. This table corresponds to the Lines region of the Requisitions window. LINE_LOCATION_ID identifies the purchase order shipment line on which you placed the requisition. All other entities function for or because of this entity. item number. There are four main tables for this entity: PO_HEADERS_ALL: There are six types of documents that use PO_HEADERS_ALL: • RFQs • Quotations • Standard purchase orders • Planned purchase orders • Blanket purchase orders • Contracts Each row contains buyer information. supplier information. PO_HEADER_ID is the unique system–generated primary key and is invisible to the user. SEGMENT1 http://apps2fusion. You need one row for each requisition line you create. prices. item category. need–by date.Technical components of Oracle Purchasing Page 3 of 18 PO_REQUISITION_HEADERS_ALL corresponds to the Header region of the Requisitions window. brief notes. Each requisition line must have at least one accounting distribution. units. Each row includes the Accounting Flexfield ID and requisition line quantity. You need one row for each requisition distribution you create. requestor. Oracle Purchasing uses this information to record information that is related to a complete document. BLANKET_PO_HEADER_ID and BLANKET_PO_LINE_NUM store the suggested blanket purchase agreement or catalog quotation line information for the requisition line. LINE_LOCATION_ID is null if you have not placed the requisition line on a purchase order.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . item description. SEGMENT1 provides unique values for each row in the table in addition to REQUISITION_HEADER_ID.

or quotation. Different document types can share the same numbers. Oracle Purchasing uses this information to record delivery schedule information for purchase orders. then PRICE_OVERRIDE equals UNIT_PRICE in PO_LINES_ALL. PO_LINE_LOCATIONS_ALL contains information about purchase order shipment schedules and blanket agreement price breaks. You can uniquely identify a row in PO_HEADERS_ALL using SEGMENT1 and TYPE_LOOKUP_CODE or using PO_HEADER_ID. contract purchase order. matching information. You need one row for each schedule or price break you attach to a document line. and price break information for blanket purchase orders. QUANTITY_COMMITTED. unit. SEGMENT1 is not unique for the entire table. PO_LINE_ID is the unique system–generated line number invisible to the user. Oracle Purchasing uses this information to record and update item and price information for purchase orders. MIN_RELEASE_AMOUNT only for blanket and planned purchase order lines. If ALLOW_PRICE_OVERRIDE_FLAG is ’Y’. It identifies the planned purchase order shipment you chose to release from. PRICE_OVERRIDE depends on the values of the ALLOW_PRICE_OVERRIDE_FLAG and NOT_TO_EXCEED_PRICE in the corresponding row in PO_LINES_ALL: If ALLOW_PRICE_OVERRIDE_FLAG is ’N’. quotations and RFQs. PO_RELEASE_ID identifies the release on which you placed this shipment. Oracle Purchasing only uses BLANKET_TOTAL_AMOUNT for blanket PO_LINES_ALL: Is a detail of headers table. PRICE_OVERRIDE always equals the purchase order line price for standard purchase order shipments. COMMITTED_AMOUNT.Technical components of Oracle Purchasing Page 4 of 18 is the system–assigned number you use to identify the document in forms and reports. quantity. Each row includes the line number. and dates for each shipment schedule. You need one http://apps2fusion. PO_DISTRIBUTIONS_ALL: PO_DISTRIBUTIONS_ALL contains accounting distribution information for a purchase order shipment line. tax information. Oracle Purchasing generates SEGMENT1 using the PO_UNIQUE_IDENTIFIER_CONT_ALL table if you choose to let Oracle Purchasing generate document numbers for you. For blanket and planned purchase orders. SOURCE_SHIPMENT_ID applies only to planned purchase order release shipments. If your document type is a blanket purchase order. then PRICE_OVERRIDE can take any value that is smaller than NOT_TO_EXCEED_PRICE in PO_LINES_ALL. the item number and category. Oracle Purchasing uses START_DATE and END_DATE to store the valid date range for the document. price. RFQ. If APPROVED_FLAG is ’Y’. Each row includes the location. and quantity ordered for the line. the purchase order is approved.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . PO_RELEASE_ID applies only to blanket purchase order release shipments. quotations. and RFQs. Oracle Purchasing uses ALLOW_PRICE_OVERRIDE_FLAG. PO_LINE_LOCATIONS_ALL: Also known as Shipments is a detail of lines. The QUANTITY field stores the total quantity of all purchase order shipment lines (found in PO_LINE_LOCATIONS_ALL). LINE_NUM is the number of the line on the purchase order. The QUANTITY field corresponds to the total quantity ordered on all purchase order distribution lines (found in PO_DISTRIBUTIONS_ALL). Oracle Purchasing uses CONTRACT_NUM to reference a contract purchase order from a standard purchase order line.

Receipt There are two receipt source types. the receipt type would be ’Internal Order’. If you do not autocreate the purchase order from online requisitions. Oracle Purchasing creates a receipt header when you are entering your receipts or when you perform inter–organization transfers using Oracle Inventory. When Oracle Inventory creates a receipt header for an intransit shipment. Some columns in PO_DISTRIBUTIONS_ALL contain information only if certain conditions exist: If you autocreate this accounting distribution from a requisition. If SOURCE_DISTRIBUTION_ID has a value. If the distribution corresponds to a blanket purchase order release. Supplier (PO based) and Internal Order (Internal Requisitions and Inter-org transfers) that you need to use when receiving against different source document types. the distribution is part of a planned purchase order release. The ’Internal Order’ receipt source type populates the ORGANIZATION_ID column. requestor ID. If you use encumbrance. If certain conditions are satisfied then multiple req lines are converted to a single PO line or a single PO shipment. REQ_LINE_REFERENCE_NUM and REQ_HEADER_REFERENCE_NUM contain the requisition number and requisition line number of the corresponding paper requisition. Oracle Purchasing does not allow you to group receipts from different sources under one receipt header.Technical components of Oracle Purchasing Page 5 of 18 row for each distribution line you attach to a purchase order shipment. If you use a foreign currency on your purchase order. There are three main tables in receiving: RCV_SHIPMENT_HEADERS RCV_SHIPMENT_HEADERS stores common information about the source of your receipts or expected receipts.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . These two columns are not foreign keys to another table. GL_ENCUMBERED_DATE and GL_ENCUMBERED_PERIOD_NAME contain encumbrance information Oracle Purchasing uses to create journal entries in Oracle General Ledger. quantity ordered and deliver–to location for the distribution. REQ_DISTRIBUTION_ID corresponds to the ID of the requisition distribution you copy on the purchase order. Oracle Purchasing stores currency conversion information in RATE and RATE_DATE. When you receive items that are part of an inter–organization transfer. Oracle Purchasing uses this information to record accounting and requisition information for purchase orders and releases. PO_DISTRIBUTIONS_ALL is one of five tables storing purchase order and release information. You use a receipt source type of ’Supplier’ when receiving items that you ordered from an external supplier using a purchase order. RCV_SHIPMENT_LINES RCV_SHIPMENT_LINES stores information about items that have been shipped and/or received from a specific receipt http://apps2fusion. the receipt number is not populated until you receive the shipment. or when receiving items that you request from your inventory using an internal requisition. You group your receipts by the source type and the source of the receipt. PO_RELEASE_ID identifies this release. Reqs can be converted to Purchase Orders using either the Autocreate form or Create PO workflow. Each row includes the destination type.

You can only delete rows from this table using the Purge feature of Oracle Purchasing. or catalog quotations in Purchasing. the Purchasing Documents Open Interface also validates the header. The Purchasing Documents Open Interface uses Application Program Interfaces (APIs) to process the data in the Oracle Applications interface tables to ensure that it is valid before importing it into Oracle Purchasing. For standard purchase orders. apply sourcing rules and release generation methods to the imported item. line. Requisitions Interface See ReqImport process below. Standard purchase orders cannot be transmitted through EDI. There are two Receiving http://apps2fusion. The Purchasing Documents Open Interface supports the EDI transmissions of the price/sales catalogs (ANSI X12 832 or EDIFACT PRICAT) and responses to RFQs (ANSI X12 843 or EDIFACT QUOTES). blanket purchase agreements. or catalog quotations. in the interface tables into blanket purchase agreements. receipt data is validated for compatibility with Purchasing. Purchasing Documents Open Interface (PDOI) You can automatically import and update price/sales catalog information and request for quotation (RFQ) responses from suppliers through the Purchasing Documents Open Interface. Purchase Orders and Receipts using the open interfaces for the respective entities. The Manufacturing APIs and Open Interfaces manual is a comprehensive guide to these interfaces. When you correct a transaction. After validating the price/sales catalog information or RFQ responses. the net transaction quantity is maintained in RCV_SUPPLY. including price break information. Standard purchase orders can only be imported as new documents. You can import these into the interface tables using a program that you write. it will never be updated. or updated when the supplier sends an updated catalog. One way to import the blanket purchase agreements and catalog quotations is through Electronic Data Interchange (EDI). Receiving Open Interface Within the Receiving Open Interface. the transaction is recorded in this table. Blanket purchase agreements and quotations can also be replaced with the latest price/sales catalog information when your supplier sends a replacement catalog. RCV_TRANSACTIONS RCV_TRANSACTIONS stores historical information about receiving transactions that you have performed. shipment. When you enter a receiving transaction and the receiving transaction processor processes your transaction.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . from a legacy system) through the Purchasing Documents Open Interface. RCV_SHIPMENT_LINES also stores information about the default destination for intransit shipments. for blanket purchase agreements and quotations. You can choose whether to import the data as standard purchase orders. The original transaction quantity does not get updated. and distribution information before importing the purchase orders into Purchasing. You can also choose to update your item master and. Main Interfaces You could import requisitions. the Purchasing Documents Open Interface program converts the information. Once a row has been inserted into this table.Technical components of Oracle Purchasing Page 6 of 18 source. You can also import standard purchase orders (for example.

Then. If the profile option is set to ’No’ (and TEST_FLAG is not ’Y’).com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . Then you use the Submit Request window to launch the Requisition Import program for any set of rows. http://apps2fusion. defaulted. You then pass these values as parameters to the Requisition Import program. After performing header. such as receipt-based accruals. The user’s guide and Oracle Manufacturing API’s and Open Interfaces manual is a good source for information on them. and place them on purchase orders or internal sales orders. • Populates the RCV_TRANSACTIONS table in Purchasing for each row in the RCV_SHIPMENT_HEADERS and RCV_SHIPMENT_LINES table if the column AUTO_TRANSACT_CODE in the RCV_TRANSACTIONS_INTERFACE table contains a value of ’RECEIVE’ or ’DELIVER’.and line-level validation. and production control systems. inventory management. FLOW You must write the program that inserts a single row into the PO_REQUISITIONS_INTERFACE_ALL and/or the PO_REQ_DIST_INTERFACE_ALL table for each requisition line that you want to import. defaulted. Major Processes A few important processes are described below. You also specify the requisition grouping and numbering criteria as parameters to the Requisition Import program.Technical components of Oracle Purchasing Page 7 of 18 Open Interface tables: • RCV_HEADERS_INTERFACE • RCV_TRANSACTIONS_INTERFACE Receipt data that is entered through the Receipts window in Purchasing is derived. The pre-processor is a program that the Receiving Transaction Processor initiates for data entered in the Receiving Open Interface. There are several other equally important processes in Oracle Purchasing. and validated by the Receipts window. • Updates supply for accepted line items in the tables MTL_SUPPLY and RCV_SUPPLY. what the receiving windows do when you save a transaction. • Calls the Oracle Inventory module for processing ’DELIVER’ transactions. approve or reserve funds for them if necessary. If you do not specify any values for these parameters. for all successfully processed records. The pre-processor simulates. performs the same steps that occur when you normally save receipt information in Purchasing: • Populates the RCV_SHIPMENT_HEADERS table in Purchasing with the receipt header information. the pre-processor fails the entire transaction. in Batch mode. • Populates the RCV_SHIPMENT_LINES table in Purchasing for each receipt header entry in the RCV_SHIPMENT_HEADERS table in Purchasing. Purchasing automatically validates your data and imports your requisitions. the pre-processor checks the profile option RCV: Fail All ASN Lines if One Line Fails. You can import requisitions as often as you want. • Updates the corresponding purchase orders with the final received and delivered quantities. You identify the set of rows you want to import by setting the INTERFACE_SOURCE_CODE and BATCH_ID columns appropriately in the PO_REQUISITIONS_INTERFACE_ALL table. If the profile option is set to ’Yes’ and any line failed validation. and validated by the receiving transaction pre-processor. ReqImport OVERVIEW This interface lets you integrate Oracle Purchasing quickly with new or existing applications such as material requirements planning. the Receiving Transaction Processor takes over and. the program imports all therequisition lines in the PO_REQUISITIONS_INTERFACE_ALL table. • Calls the Oracle General Ledger module for processing financial transactions. Most receipt data that is imported through the Receiving Open Interface is derived. you can review these requisitions.

If you do not provide a value for this parameter.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . and starts numbering requisitions. PO Create Documents Workflow OVERVIEW Purchasing integrates with Oracle Workflow technology to create standard purchase orders or blanket releases automatically from approved requisition lines. for Self-Service Purchasing (known then as Web Requisitions). In Release 11i. adds 1 to this number. the Requisition Import program uses the Group By parameter to group lines together. and creates a report which lists the number of interface records that were successfully imported and the number that were not imported.Technical components of Oracle Purchasing Page 8 of 18 Each run of the Requisition Import program picks up distribution information from either the PO_REQUISITIONS_INTERFACE_ALL or the PO_REQ_DIST_INTERFACE_ALL table. If you specify a value in the REQ_NUMBER_SEGMENT1 column of the PO_REQUISITIONS_INTERFACE_ALL table. This report can be viewed by choosing View Output for the Requisition Import concurrent Request ID in the Requests window. In the first phase. The program generates an error message for every validation that fails and creates a row in the PO_INTERFACE_ERRORS table with detailed information about each error. The workflow for creating purchasing documents automatically is called PO Create http://apps2fusion. a default distribution is created with the account information that you specify. If you provide a value in the GROUP_CODE column. VARIANCE_ACCOUNT_ID. or any of the CHARGE_ACCOUNT_SEGMENT columns. The PO_REQ_DIST_INTERFACE_ALL table was used in Release 11. the program uses the default Group By that you set up to group requisition lines. you should use the PO_REQ_DIST_INTERFACE_ALL table to create multiple distributions only for requisitions created in non-Oracle systems that use multiple distributions. the program loops until it finds a unique number. As long as the Multiple Distributions field in the Requisition Import program is No (or blank). ACCRUAL_ACCOUNT_ID. If not.) Requisition supply is also created for every approved requisition that is successfully imported. all lines with the same value in this column are grouped together under a requisition header. the Requisition Import program uses either the Last Requisition Number parameter if specified or the next unique number stored in the PO_UNIQUE_IDENTIFIER_CONTROL table. For every line that is successfully imported. BUDGET_ACCOUNT_ID. In the third phase. Requisition Import looks for distribution information in the PO_REQUISITIONS_INTERFACE_ALL table. this value becomes the requisition number. The Requisition Import program operates in three phases. the program validates your data and derives or defaults additional information. In the second phase. the program groups and numbers the validated requisition lines according to the following criteria. If you do not provide values in either of these columns. You can launch the Requisition Import Exceptions Report to view the rows that were not imported by the Requisition Import program along with the failure reason(s) for each row. You can group requisition lines in one of the following ways that the Requisition Import program supports by: • BUYER • CATEGORY • LOCATION • VENDOR • ITEM • ALL (all requisition lines grouped under one header) If you provide a value in the REQ_NUMBER_SEGMENT1 column of the PO_REQUISITIONS_INTERFACE_ALL table. the program deletes all the successfully processed rows in the interface tables. If any of the requisition numbers generated already exists. all lines with the same value for this column are grouped together under a requisition header. (You specify account information in any of the following columns in either the PO_REQUISITIONS_INTERFACE_ALL or the PO_REQ_DIST_INTERFACE_ALL table: CHARGE_ACCOUNT_ID.

The PO Approval workflow is initiated at the following points in Purchasing: • When you choose Submit for Approval (and then choose OK) in the Approve Document window. in turn. If the source document is a blanket purchase agreement. a release is created. a standard purchase order is created. which are viewable in the Workflow Builder as a diagram. control. Each workflow process consists of individual functions. FLOW The PO Create Documents workflow is initiated at the end of the requisition approval workflow for approved requisition lines. PO Approval Workflow OVERVIEW Whenever you submit a purchase order or release for approval or take an action in the Notifications Summary window. The purchase order approval workflow consists of processes. PO Create Documents consists of several processes.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 .Technical components of Oracle Purchasing Page 9 of 18 Documents. The table should never have more than one row. This table has no primary key. Each of these processes is viewable in the Workflow Builder as a diagram whose objects and properties you can modify. FLOW The purchase order approval process is associated with an item type called PO Approval. If the source document associated with the requisition line is a quotation. The workflow begins automatic document creation if you’ve kept the item attribute Is Automatic Creation Allowed? set to Y for Yes. consists of individual function activities. http://apps2fusion. and option information you provide to customize Oracle Purchasing to your company’s needs. In the Workflow Builder. Purchasing uses Oracle Workflow technology in the background to handle the approval process. This item type identifies all purchase order and release approval workflow processes available. some of whose objects and properties you can modify. Each workflow process. the PO Approval workflow is called to approve the document if you have allowed automatic approval. You can use the Workflow Builder interface to modify your approval process. PO_SYSTEM_PARAMETERS_ALL corresponds to the Purchasing Options window. See: Submitting a Document for Approval • When you respond to a reminder in the Notifications Summary window reminding you to submit a document for approval that has not yet been submitted. Workflow uses the approval controls and hierarchies you define according to the setup steps in the section to route documents for approval. Refer to the Oracle Purchasing User’s guide for a comprehensive explanation of the flow. Other important tables in Oracle Purchasing PO_SYSTEM_PARAMETERS_ALL PO_SYSTEM_PARAMETERS_ALL stores default. For each document that is created successfully by the PO Create Documents workflow. and you have properly set up sourcing rules. if source documents are associated with the requisition lines.

requisitions. system–generated numbers for the Oracle Purchasing tables that require special sequencing. the employee who acted on the document. there are four rows for each of the following entities: PO_HEADERS_ALL. release. Oracle Purchasing also uses this information to control how you enter information on your document lines according to the line type you choose. You need one row for each sequentially system–generated number for each organization. For each organization. quotations. Oracle Purchasing uses this information to provide default information when you create a document line using a line type. suppliers.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . TABLE_NAME values for quotations and RFQs are ’PO_HEADERS_QUOTE’ and ’PO_HEADERS_RFQ’ respectively.Technical components of Oracle Purchasing Page 10 of 18 PO_UNIQUE_IDENTIFIER_CONT_ALL PO_UNIQUE_IDENTIFIER_CONT_ALL stores information about the current. PO: AUTOMATIC DOCUMENT SOURCING Yes means that Purchasing automatically defaults source document and pricing information for an item from the most recently created blanket purchase agreement or quotation. There are two rows corresponding to the entities PO_VENDORS and RCV_SHIPMENT_HEADERS. The information for the quotation and RFQ sub–entities is associated with the PO_HEADERS_ALL table entity. purchase agreement. PO_ACTION_HISTORY PO_ACTION_HISTORY contains information about the approval and control history of your purchasing documents. and option information you provide to customize Oracle Purchasing document management for your company’s needs. PO_DOCUMENT_TYPES_B PO_DOCUMENT_TYPES_ALL_B contains information about default. The GL date on the requisition distribution is used as the purchase order date. where you must specify which source documents to use. You need each row for each line type you use. receipts. Each row includes references to the document itself. Important Profile Options in Oracle Purchasing PO: AUTOCREATE GL DATE OPTION Indicates the date used on purchase orders generated by AutoCreate: The autocreate date is used as the purchase order date. PO_LINE_TYPES_B PO_LINE_TYPES_B contains information about the line types you use in your business. PO_REQUISITION_HEADERS_ALL. PO_DOCUMENT_TYPES_ALL_B corresponds to the Document Types window. highest. Oracle Purchasing uses this information to display history information about documents and to forward documents in the approval process to the appropriate employee. Note that if an item on a requisition is associated with both a blanket purchase agreement and a quotation. and a note each employee can leave when taking an action on the document. Purchasing uses the blanket purchase agreement even if http://apps2fusion. The table includes rows for each of the following: purchase orders. the type of action taken on the document. control. No means that this source document information comes from the Approved Supplier List window. PO_HEADERS_RFQ and PO_HEADERS_QUOTE. There is one record in this table for each approval or control action an employee takes on a purchase order. the date of the action. and requests for quotations (RFQs). or requisition. ORDER_TYPE_LOOKUP_CODE is ’AMOUNT’ for an amount–based line type or ’QUANTITY’ for a quantity–based line type.

RCV: DEBUG MODE http://apps2fusion. and the Receiving Transaction Processor is called for the group of transactions that you entered since you last saved your work. Yes means log details are written to a flat file.) Yes also generates a database trace file. where it will be picked up the next time the Receiving Transaction Processor runs. or Sourcing negotiation page) and displays the created line(s) when you autocreate a document. Oracle Support Services may ask you for this trace file. PO: RESTRICT REQUISITION LINE MODIFY TO QUANTITY SPLIT Yes or No indicates whether Purchasing restricts requisition line modify in AutoCreate to only splitting the quantity of a line. which improves performance. RCV: ALLOW ROUTING OVERRIDE Yes or No indicates whether the destination type assigned during requisition or purchase order entry can be overridden at receipt time. No means log details are written to the concurrent manager log screen. Leaving this profile option blank means log details are not written at all. including errors. This profile option should be set to Yes only while debugging the Receiving Open Interface or for generating a trace file. Online The Receiving Transaction Processor is called directly. PO: WRITE SERVER OUTPUT TO FILE Yes or No indicates whether log details are written to a flat file rather than to the standard concurrent manager details log viewable through the View Log button in the Submit Request window when running the Purchasing Documents Open Interface program. RFQs window. PO: ENABLE SQL TRACE FOR RECEIVING PROCESSOR Yes means that when you run the Receiving Transaction Processor to import data from another system using the Receiving Open Interface. No means that the standard AutoCreate requisition line modify logic applies.Technical components of Oracle Purchasing Page 11 of 18 the quotation was created more recently. which can cause overflow problems for large catalogs. the View Log screen displays the receiving transaction pre–processor’s actions. Immediate The transaction goes to the interface table. (The profile option RCV: Processing Mode must also be set to Immediate or Batch for the Yes option to work. as it processed the receipt data from start to finish.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . if you need help with an error that occurs while the Receiving Transaction Processor runs. RCV: PROCESSING MODE Indicates the processing mode used after you save your work for receiving transactions: Batch The transaction goes to the interface table. PO: DISPLAY THE AUTOCREATED DOCUMENT Yes or No indicates whether Purchasing opens the appropriate transaction window (Purchase Orders window. The Receiving Open Interface validates receipt transactions from other systems and uses the Receiving Transaction Processor to import the validated data into Purchasing. PO: RELEASE DURING REQIMPORT Yes or No indicates whether Purchasing can automatically create releases during the Requisition Import process.

com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . They are explained below-: http://apps2fusion. per_people_address_v. Whether the users can create/approve/print the purchase orders is decided by how the document types are setup. The important columns PO_AGENTS_V Sr. Employee Setup Employee should be assigned the position and job. per_people_assigment_v to store the employee information.Technical components of Oracle Purchasing Page 12 of 18 If set to Yes. This is useful in PO approval workflow. Any setting other than Yes prevents receiving against orders using the Receiving Open Interface with the status of Closed for Receiving. The view used is per_people_v. The Receiving Open Interface (including ASN) will allow a receipt against orders with the status of Closed for Receiving if this profile is set to Yes. RCV: DEFAULT INCLUDE CLOSED PO OPTION If it is set to Yes.no 1 2 3 4 5 6 Column Name Agent_id Agent_name Location_id Location_code Start_date_active End_date_active Comments Unique agent id Agent Name Unique location id Location code Start date active End date active Document Types Document types there are certain attributes needs to be set. Buyer Setup Once the user is set as buyer then he/she can create/approve/print the purchase orders. The table which stores the buyer is PO_AGENTS and the view used for the buyer name and other details is PO_AGENTS_V. Before setting the user as buyer he/she must be an employee in applications. a search in the Enter Receipts window and the Receiving Transactions window automatically select the Include Closed POs checkbox. and RCV: Processing Mode set to Immediate or Batch. debug messages will be printed to the concurrent log file. Your search results will then include closed orders. Basic Purchasing Setups The purchasing user must be set as a buyer in Oracle applications.

6) Disable: Check it to disable the Document type. a. a. 10) Default Hierarchy: What hierarchy the approval process will follow is to be mentioned here. 5) Can change approval hierarchy: Preparers and approvers can change the approval hierarchy in the approval document window. 7) Access Level: How the users can access the document type.Technical components of Oracle Purchasing Page 13 of 18 1) Owner can approve: If we check this attribute then user can approve the documents he has created. One can define a custom workflow and also mention the name of the workflow. This is not applicable to RFQ and requisitions. 2) Approver can modify: If we check this attribute then approver the contents of the document. 3) Can change forward to: This indicates test that the user can change the name of the approver in the approval window. This field is not updatable when the document type is RFQ or Requisition. On Printing: On printing of the document. Modify: Can modify the document type c. 4) Can change forward from: This indicates that the user can change the name of the document creator. On approval: On approval of the document b. Full: Full access to the user b.no 1 2 3 Column Name Vendor_id Vendor_name Segment1 Comments Unique vendor id Vendor or supplier name Vendor Number http://apps2fusion. This is available only for document type requisition.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . Table Used The table where the information is stored is PO_DOCUMENT_TYPES_V Supplier Setup The table where the information is stored is PO_VENDORS Sr. View Only: Can only view the document type 8) Archive On: When the archival of document type will take place. 9) Approval workflow: Which workflow the purchasing will use to approve the document type in question.

no 1 2 3 4 5 6 Column Name Po_header_id Agent_id Segment1 Revision_num Vendor_id Vendor_site_id Comments Unique Po Header Id Agent id refers PO_AGENTS_V PO Number Revision Number for PO Unique vendor id refers PO_VENDOR_ID Unique vendor site id refers PO_VENDOR_SITES_ALL 7 8 9 Vendor_contact_id Ship_to_location_id Bill_to_location_id Vendor contact id Where the material will be shipped by supplier Where the Bill/Invoice will be sent by the supplier 10 11 Currency_code Authorization_status Currency code Authorization status for the PO Open/Closed/Approved/Incomplete 12 Type_look_up_code What is the type of PO Standard/Blanket/Planned 13 Org_id Operating Unit The second type of information stored is line level information. http://apps2fusion. First is the header information second is the line information and the third is the shipments and distributions information.no 1 2 3 Column Name Vendor_site_id Vendor_id Vendor_site_code Comments Unique vendor site Id Unique vendor site id refers PO_VENDORS Vendor site code Purchase Orders Creation Of Standard Purchase Orders Creation of purchase orders has three parts.Technical components of Oracle Purchasing Page 14 of 18 4 5 Start_date_active End date active Start date active End date active Another important table associated with this screen is PO_VENDORS_SITES_ALL.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . This stores the important information of vendor sites. Sr. Sr. This applies for the standard purchase order.

Standard Operating Unit http://apps2fusion.no 1 2 3 Column Name Po_line_id Po_header_id Line_type_id Comments Line identification number PO header id refers PO_HEADERS_ALL Line type_id such as Goods/Services/Expense etc 4 5 Line_num Item_id Unique line num for each line item Item to purchased refers MTL_SYSTEMS_ITEMS 6 Item_rev Revision of the item refers MTL_SYSTEM_ITEMS 7 8 9 10 11 Item_description Quantity Unit_price List_price Org_id Description of item Quantity to be entered Price of one unit Unit price from price list Operating unit from where purchasing will take place 12 13 Promise_date Need_by_date Promise date by supplier Date by which the material is required The third type of information is the shipment The information is stored in PO_LINE_LOCATIONS_ALL Sr.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 .Technical components of Oracle Purchasing Page 15 of 18 Its is stored in the table PO_LINES_ALL Sr. Blanket .no 1 2 3 4 5 Column Name LINE_LOCATION_ID PO_HEADER_ID PO_LINE_ID QUANTITY SHIP_TO_LOCATION_ID Comments Unique identifier LINE_LOCATION_ID Refers PO_HEADERS_ALL Refers PO_LINE_ALL Quantity to be shipped Unique Identifier for the quantity to be shipped 6 7 SHIPMENT_TYPE ORG_ID Price break.

Inventory Destination organization id Destination Sub-inventory Operating unit PO Release identification number if the PO type is blanket PO Thus to summarize the information for Standard.Technical components of Oracle Purchasing Page 16 of 18 The distribution information is stored in PO_DISTRIBUTIONS_ALL Sr. Therefore for a blanket transactions following tables are used.no 1 2 Column Name Po_Distribution_Id Po_Header_Id Comments Unique Distribution Id PO Header Identification number referring PO_HEADERS_ALL 3 Po_Line_Id PO Line identification number referring PO_LINES_ALL 4 5 6 Line_Location_Id Set_Of_Books_Id Code_Combination_Id Refers PO_LINE_LOCATIONS_ALL Set of Books GL Code combination id for charge account 7 8 9 10 11 12 13 Quantity_Ordered Distribution_Num Destinition_Type_Code Destination_Organization_Id Destination_Subinventory Org_Id Po_Release_Id Quantity Ordered Unique distribution number Destination type Code for e.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 . 1) PO_HEADERS_ALL 2) PO_LINES_ALL 3) PO_LINE_LOCATIONS_ALL 4) PO_DISTRIBUTIONS_ALL Creation of Blanket Purchase Order When the purchase order type information is of the type blanket then the header and line level information is stored in same table as that of standard PO. Planned is stored in the following tables. This release transaction then creates the shipment information and the distribution information. 1) PO_HEADERS_ALL 2) PO_LINES_ALL 3) PO_RELEASE_ALL http://apps2fusion. For a blanket one more transaction named a Release transaction is made.g.

Table below illustrates the base tables and there multi org views. The syntax is given below. So to accommodate this oracle has provided multi org views for the base tables of purchasing. The table for releases is PO_RELEASE_ALL Sr. For using multi org view we need to set ORG_ID context variable using the AOL built in package.SET_ORG_CONTEXT(<ORG_ID Value>) Once this is set then one can get rows in from all multi org views. For instance the table PO_HEADERS_ALL stores the header information of all the orgs. FND_CLIENT_INFO.Technical components of Oracle Purchasing Page 17 of 18 4) PO_LINE_LOCATIONS_ALL 5) PO_DISTRIBUTIONS_ALL Thus a blanket PO is same as Standard PO with the help of extra transaction call Releases. Base Table PO_HEADERS_ALL PO_LINES_ALL PO_LINE_LOCATIONS_ALL Multi Org View PO_HEADERS PO_LINES PO_LINE_LOCATIONS http://apps2fusion.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 .no 1 2 3 4 5 6 Column Name PO_RELEASE_ID PO_HEADER_ID RELEASE_NUM AGENT_ID RELEASE_DATE REVISION_NUM Comments PO Release identification Number Refers PO_HEADERS_ALL Unique release num Buyer ID refers PO_AGENTS_V The date on which release is created Revision number is generated when any changes are done to release information 7 8 9 10 11 APPROVED_FLAG APPROVED_DATE PRINT_COUNT PRINT_DATE AUTHORIZATION_STATUS Y if the release in question is approved Date on release is approved No of times the release is printed Last printed date of the release Different status of the releases such as Open/Closed/Approved/Incomplete 12 ORG_ID Operating unit Concept of Multi Organization in Purchasing In Oracle purchasing can be done across multiple organizations also called as operating units.

Technical components of Oracle Purchasing Page 18 of 18 PO_RELEASES_ALL PO_DISTRIBUTIONS_ALL PO_VENDOR_SITES_ALL PO_RELEASES PO_DISTRIBUTIONS PO_VENDOR_SITES http://apps2fusion.com/apps/fm/iprocurement/438-oracle-purchasing-technical 3/15/2012 .