Bookmark and Share Subscribe You may face visibility problem if http://docs.google.com is blocked on your network

Friday, August 29, 2008

Purchasing Overview

PURCHASE ORDER

What are the main tables associated with Purchase Order?

There are four main tables associated with Purchase Order.

1. PO_HEADERS_ALL

2. PO_LINES_ALL

3. PO_LINE_LOCATIONS_ALL

4. PO_DISTRIBUTIONS_ALL

1. It contains the Header information for the Purchasing documents. We require one row for each document we create.

Six types of documents that use PO_HEADERS_ALL are

a. RFQ

b. Quotation

c. Standard PO

d. Planned PO

e. Blanket PO

f. Contracts

Important data that are populated in this table are

· Buyer Information

· Supplier Information

· Brief Notes

· Terms and Conditions

· Status of the document

PO number is Segment1 of PO_HEADERS_ALL

Important columns: PO_HEADER_ID

2. It stores information about each PO lines. We need one row for each line we attach to a document.

Each row includes

a. LINE NUMBER

b. ITEM NUMBER

c. UNIT

d. PRICE

e. U.O.M

f. QUANTITY

3. It contains the information about PO shipment schedules and Blanket Agreement Price Breaks.

We need one row for each schedule or price break we attach to a document

Each row includes

· Destination Type

· Requestor Id

· Quantity Ordered and Delivered to Destination

Ø If the distribution corresponds to a Blanket PO release, PO_RELEASE_ID column identifies this release

Ø We enter distribution information in distribution window accessible through PO window

­CLOSING THE PURCHASE ORDER

The CLOSED_CODE column exists in the following three tables

1. PO_HEADERS_ALL

2. PO_LINES_ALL

3. PO_LINE_LOCATIONS_ALL


IMPORTANT COLUMNS OF PURCHASING TABLES

PO_HEADERS_ALL

PO_LINES_ALL

PO_LINE_LOCATIONS_ALL

PO_HEADER_ID

SEGMENT1

VENDOR_ID

VENDOR_SITE_ID

SHIP_TO_LOCATION_ID

CURRENCY_CODE

CLOSED CODE

1. OPEN

2. CLOSED

3. FINALLY CLOSED

4. HOLD

5. FREEZE

PO_LINE_ID

CATEGORY_ID

ITEM_ID

PO_HEADER_ID

QUANTITY

CLOSED_CODE

1. OPEN

2. CLOSED

LINE_LOCATION_ID

SHIP­_TO_LOCATION_ID

PO_HEADER_ID

PO_LINE_ID

QUANTITY_RECEIVED

QUANTITY_ACCEPTED

QUANTITY_REJECTED

CLOSED_CODE

1. OPEN

2. CLOSED FOR INVOICE

3. CLOSED FOR RECEIVING

4. FINALLY CLOSED

RECEIVING

What are the different Purchasing modes in Receiving?

There are three modes

1. ONLINE

2. IMMEDIATE

3. BATCH

1. ONLINE: Receipts are processed Online. If there are any errors, they are shown on the FORM itself, and don’t let you IGNORE and PROCEED.

2. IMMEDIATE: Receipts are processed immediately, but no errors are shown. Errors are recorded in REC_TRANSACTION_INTERFACE table.

3. BATCH: Receipts are processed in batch, but no errors are shown. Errors are recorded in REC_TRANSACTION_INTERFACE table.

Note: In all the above two cases, it requires Receiving Transaction Processor to be run periodically.

When you SAVE a Received Data in FORM, which tables are UPDATED?

Ø RCV_SHIPMENT_HEADERS: It contains SUPPLIER shipment header data like Shipment Date, Supplier Name

Ø RCV_TRANSACTIONS_INTERFACE: It contains RECEIVED data like Item Name, Quantity, and Receiving location

Ø RCV_SHIPMENT_LINES

Ø MTL_MATERIAL_TRANSACTIONS_TEMP

Ø PO_LINE_LOCATIONS_ALL

Ø PO_DISTRIBUTIONS_ALL

What are the major transactions in RECEIVING?

Ø Purchase Order Receipts

Ø Internal Requisition Receipts

Ø Inventory Inter-Org Transfer Receipts

Ø Customer Return Receipts

What are the different types of Receiving Routing?

Ø Standard Receipt

Ø Inspection Required

Ø Direct Delivery

Note: The Receipt form is used as Receiving materials against PO on Ordered receipts, Internal Requisitions, Inventory Inter-Org Transport and Customer Reports.

RECEIVING OPEN INTERFACE

Ø ROI is a gateway to IMPORT data from Oracle as well as Non-Oracle applications.

Ø The Receipts done through ROI should be processed in Batch mode only.

Ø In ROI, the table which are updated are

1. RCV_HEADER_INTERFACE

2. RCV_TRANSACTION_INTERFACE

Note: Transactions in ROI

Receipts can be done by Direct Delivery or by two steps namely RECEIVED and DELIVER.

This can be determined through AUTO_TRANSACT_CODE_FLAG.

If the value is DELIVERED, the system does a direct delivery into Sub-Inventory and if the value is RECEIVED, the system only receives the material and the delivery is done by the Receiving Transaction Form.

IMPORTANT COLUMNS OF RECEIVING TABLES

RCV_HEADERS_INTERFACE

RCV_TRANSACTIONS_INTERFACE

RCV_SHIPMENT_HEADERS

Ø HEADER_INTERFACE_ID

Ø GROUP_ID

Ø RECEIPT_SOURCE_CODE

Ø PROCESSING_STATUS_CODE

Ø TRANSACTION_TYPE

Ø ASN_TYPE

Ø INTERFACE_TRANSACTION_ID

Ø GROUP_ID

Ø PROCESSING_STATUS_CODE

Ø TRANSACTION_STATUS_CODE

Ø PROCESSING_MODE_CODE

Ø HEADER-INTERFACE_ID

Ø ASN_STATUS

Ø ASN_TYPE

Ø EDI_CONTROL_NUM

NON-SUPPORTED FEATURES OF ROI

Ø Transactions with LOT controls

Ø Transactions with SERIAL controls

Ø Internal Transfer & Sales order

Ø Un-Ordered Receipts

Through which you will be able to see ERROR reports in ROI?

Receiving Interface Errors Report

Data can be loaded into ROI either through flat files or direct SELECT statement. You can see details of errors from PO_INTERFACE_ERRORS table by joining with RCV_TRANSACTIONS_INTERFACE table using Interface_id.

What do you mean by PO requisition?

Ø PO requisition is a request to purchase materials for individual requirements. Normally Purchase requisitions are raised by employees or departments.

Ø Requisitions need approvals. It can be manually created or imported from other system like Inventory, WIP, MRP, OM etc

TABLES USED WITH REQUISITIONS

PO_REQUISITIONS_HEADERS_ALL

PO_REQUISITIONS_LINES_ALL

PO_REQ_DISTRIBUTIONS_ALL

The description is the same as PO

OTHER IMPORTANT TABLES USED WITH REQUISITIONS

Ø PO_VENDORS

Ø PO_LOOKUP_CODES

Ø PO_VENDOR_SITES_ALL

Ø PO_AGENTS

Ø PO_DOCUMENT_TYPES_ALL_B

Ø PO_RESCHEDULE_INTERFACE

Ø MTL_SUPPLY

IMPORTANT FIELDS OF REQUISITION

Ø REQUISITION_TYPE

Ø PREPARE

Ø TOTAL_CURRENCY

Ø LINE_TYPE

Ø CATEGORY

Ø SOURCE DESTINATION TYPE AND ORGANIZATION

ACTIONS PERFORMED WITH REQUISITION

Ø SAVE

Ø APPROVE

If you SAVE requisition, the above three tables are populated, while if you APPROVE a requisition, major tables updated are

Ø PO_REQUISITION_HEADER

Ø PO_APPROVAL_LIST_HEADERS

Ø PO_DOCUMENT_TYPES

CLOSING STATUS OF REQUISITION

Ø CANCEL

Ø FINALLY CLOSED

What do you mean by Auto Create?

Auto Create is a standard functionality provided by Oracle to create PO directly from Requisitions.

REQUISITIONS IMPORT PROGRAM (RIP)

Ø It is a concurrent program, which is used to import requisition from Oracle or Non-Oracle system.

Ø Data is first loaded in PO_REQUISITION_ALL table. The RIP can then be run, to import the records from the interface table as requisition in Oracle Processing.

Ø RIP creates a requisition line and one or more requisition distribution for each row it finds in the interface table. It then groups these lines on Requisitions according to parameters defined.

IMPORTANT TABLES

Ø PO_REQUISITION_INTERFACE_ALL

Ø PO_REQ_DIST_INTERFACE_ALL

Ø PO_INTERFACE_ERRORS

IMPORTANT PARAMETERS OF REQUISITION IMPORT PROCESS

a. Import Source

b. Import Batch Id

c. Group By

d. Initiate Approval after Import

REPORTS ASSOCIATED WITH REQUISITIONS IMPORT PROCESS

a. REQUISITION IMPORT RUN REPORT

We are able to view number of requisitions created and number of records in error from this report.

b. REQUISITION IMPORT EXCEPTIONS REPORT

We can see all rows that fail validation from this report

What do we mean by Sourcing Rule?

Ø It defines Inventory Replenishment method for either a Single Organization or for all Organizations.

Ø Sourcing rule is used to specify preferred Suppliers, Distributors and manufacturers.

Ø Use allocation percentage and ranking for multiple sources.

INTERNAL REQUISITIONS

Ø It is used to obtain materials within the same Organization or different Organization but within the same set of books.

20 comments:

  1. a good collection of data for the technical as well as functional ppl like us..2 thunbs up for u..
    vishal

    ReplyDelete
  2. ROI supports receiving of serial controlled items. Please do not give wrong info to people.
    User mtl_serial_numbers_interface with product_code='RCV' and product_transaction_id=intreface_transaction_id in rcv_transactions_interface

    ReplyDelete
  3. could you please elaborate on what you want to tell regarding Serial number issue?

    ReplyDelete
  4. BROTHER, YOUR NOTES ARE VERY HELPFUL, I NEED ONE HELP IN RCV_TRANSACTIONS_INTERFACE 2 LINES ARE STUCK, NOW HOE TO CLEAR THESE 2 LINES
    processing_mode_code = 'ONLINE',
    processing_status_code = 'PENDING',
    transaction_status_code = 'PENDING'

    URGENT REPLY WILL BE HIGLY APPRECIATED.

    ReplyDelete
  5. Please check error for the transactions in table apps.PO_INTERFACE_ERRORS
    Else you can delete the records from apps.RCV_TRANSACTIONS_INTERFACE and it will be available for receipt once again, this solution doesn't work all the time, so better take backup.

    ReplyDelete
  6. Thanks buddy for replying,
    there were no lines in PO_INTERFACE_ERRORS
    but i appreciate your reply
    incase any problem in future i hope you will not mind to help me
    but i sloved the problem,

    Solution

    Update rcv_transactions_interface
    set
    processing_mode_code ='BATCH'
    where
    interface_transaction_id in (56681, 56682);

    After this committed this update statement and run the “Receiving Transaction Processor” concurrent request

    lines are cleared from interface table.

    Regards
    Aayan

    ReplyDelete
  7. Hi,

    I have a custom table on which I make several custom validations before loading the data into RCV_TRANSACTIONS_INTERFACE.

    Is it possible to insert records that failed during custom validation into PO_INTERFACE_ERRORS table?
    Please help! Matter is urgent!

    ReplyDelete
  8. I am not sure... but this should be possible. I am sure this shouldn't be an easy job :-(
    For this probably you need to change program/s which processes records from RCV_TRANSACTIONS_INTERFACE. Also you need to change code used in workflow.

    What I suggest, please make sure that whatever records comes to RCV_TRANSACTIONS_INTERFACE must satisfy your custom validation. This is best and easy job. Changing standard program should be a last choice.

    ReplyDelete
  9. when i tried to return the Receipt i couldnt find record, When i checked in Receiving transactions summary i found the records, then i checked in RCV_Transactions_interface i found records with status as lc_pending

    ReplyDelete
  10. Hi Abid,
    This means the receiving is not yet complete, and record is pending for Landed Cost integration, you must have done receipt in LCM (Landed Cost Management) enabled inventory organization.

    Please follow the below document on Metalink for more details:

    EBS LCM : How To Diagnose Issues With Landed Cost Management In Procure To Pay Cycle [ID 860747.1]

    Thanks
    Devendra

    ReplyDelete
  11. Hi Dev,

    Good Document.
    on what basis we suggest client to go for position/Employee - supervisor Hierarchy.
    Asume Client is having multple positions and jobs

    Thanks
    Kiran

    ReplyDelete
  12. Hi Dev,
    Under internal Requisitios,you have mentioned that,"it's used to obtain material with in same Or or Different org but Within the same setof books".
    But it is possible to transfer the material across Different LE/Ledgers.

    User guide, Section 3-12 mentioned as "
    Use internal requisitions to move inventory items from one inventory organization
    to another, even if that organization belongs to a different operating unit, legal entity, or ledger.In 11i it's possible or not iam not sure but in R12 it's possible.

    ReplyDelete
  13. Hi Charu,
    Employee Supervisor hierarchy is easy to setup ans suitable for relatively small setups (Less number of employees), whereas Position hierarchy needs more time to setup but if the organization is big then I would suggest to go for Employee supervisor hierarchy as it is easy to maintain. As soon as position of employee changes it directly hits it approval abilities.

    Thanks
    Devendra

    ReplyDelete
  14. Hi,
    Could anyone let me know how to handle the inspection required POs in receiving transaction interface. I am trying to receive PO with acceptance or rejection for PO which require inspection

    ReplyDelete
  15. Hi Devendra,

    Suppose I am creating a PO for LCM enabled org. Then I cannot receive the PO in normal way (i.e. without creating the shipment).
    Is it the thing if we are creating PO for LCM enabled org, each and every time we have to create LCM shipment and then only we will be able to receive the material???

    If this is the case, is there any workaround for which we can receive the material for few POs without creating LCm shipment in LCM enabled org...

    Regards.

    ReplyDelete
  16. Hi Dev,

    I have one business specific query, Business wants PO can be revised but with all changes except(Qty). Whereas STD functionality say in Revision Qty can be changed.

    Can you give your comments on this.

    Thanks,
    Dhiraj

    ReplyDelete
  17. Hey..

    notes are helpful but need a small info. receiving transaction processor updating all records to error. dnt know the issue.
    could you please help me in this case

    ReplyDelete
  18. hi dev can you please send the data regarding p2p setups, seurity,accesslevel,rfq's etc.,

    ReplyDelete
  19. Hai Dev,
    Could you please share the documents required for the define Hierarchy's and auto sourcing how it's help full in purchase module please explain briefly.

    ReplyDelete
  20. HI, ME CREATE THE RECEIPT BUT NOT DELIVERY. ME INSERT DATA IN (RCV_TRANSACTIONS_INTERFACE, RCV_HEADERS_INTERFACE, MTL_TRANSACTION_LOTS_INTERFACE) WITH VALUES:
    'INVENTORY', --SOURCE_DOCUMENT_CODE
    'INVENTORY', --DESTINATION_TYPE_CODE
    'DELIVER', --AUTO_TRANSACT_CODE
    'RCV', --INTERFACE_SOURCE_CODE
    'RECEIVE', --TRANSACTION_TYPE
    SYSDATE, --TRANSACTION_DATE
    'PENDING', --PROCESSING_STATUS_CODE
    'BATCH', --PROCESSING_MODE_CODE
    'PENDING', --TRANSACTION_STATUS_CODE
    ,'Direct Delivery' --,inspection_status_code
    ,2 --,routing_header_id
    ,1 --,routing_step_id
    THERE IR ANY OPTION FOR DELIVERY AND THE SHIPING NOT SHOW IN WINDOW OF RECEIPT

    ReplyDelete

Please add your valuable feedback / comments

Declaimer:

This blog is purely personal and the thoughts expressed here represent only me. The purpose of this blog is to share information and knowledge about Oracle's product which I have come across with my exposure to the product, practice and observations. The blog has been created keeping only one intention of sharing knowledge and for learning purpose. The blog has been created solely as a educational, for storing portions of the vast Oracle knowledge world. Oracle EBS is an Oracle Corp. product and you should contact Oracle directly for any specific fact or issue.

*NOTE: Few articles on this blog are not completely prepared by me, content is edited and complied after referring various sites to make visitor's job easy