You are on page 1of 77

© 2009 Oracle Corporation – Proprietary and Confidential

1
AGENDA

• Presentation – approximately 45 minutes


• Q&A Session – approximately 15 minutes

• Web attendees can ask questions via Q&A panel


• Phone attendees can ask questions via Q&A panel or
phone (operator assisted)

2
ATTENTION – AUDIO Options

You can
• either listen the audio broadcast on your computer
• or join teleconference (dial in)

3
Voice Streaming – Audio Broadcast

• Listen only mode


• Advantage: no need to dial in
• What about Questions?
Type your questions into WebEx Q&A panel
• If you prefer full audio access in order to
ask questions directly, please connect to
our teleconference
• Connect details you will find at next slide

4
ATTENTION – AUDIO INFORMATION
VOICESTREAMING IS AVAILABLE
Teleconference Connect details:
1. Conference ID: <11768816>
2. US / Canada Toll-Free : 1866 230 1938
3. International Dial In - +44 (0) 1452 562 665 (UK Dial In)
4. List with national toll free numbers is available in
note <1361242.1>

You can view this info anytime during the conference using
Communicate > Teleconference > Join Teleconference
from your WebEx menu

5
<Insert Picture Here>

Overview of Oracle Purchasing Open Interface


Mohammed Emara
Senior Technical Support Engineer

6
AGENDA

• Presentation – approximately 45 minutes


• Q&A Session – approximately 15 minutes

 Web attendees can ask questions via Q&A panel only


 Phone attendees can ask questions via Q&A panel or phone
(operator assisted)

7
AUDIO INFO - Teleconference

VOICESTREAMING IS AVAILABLE
Teleconference Connect details:
1. Conference ID: <11768816>
2. US / Canada Toll-Free : 1866 230 1938
3. International Dial In - +44 (0) 1452 562 665 (UK Dial In)
4. List with national toll free numbers is available in
note <1361242.1>

You can view this info anytime during the conference using
Communicate > Teleconference > Join Teleconference
from your WebEx menu

8
3
Send your question

2
Who to ask?

Q&A panel

1
type your question here

9
your question pop-up here

10
Safe Harbor Statement

The following is intended to outline our general


product direction. It is intended for information
purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decision. The
development, release, and timing of any features
or functionality described for Oracle‟s products
remains at the sole discretion of Oracle.

© 2010 Oracle Corporation – Proprietary and Confidential


11
<Insert Picture Here>

Overview of Oracle Purchasing Open Interfaces


Mohamed Emara
Senior Support Engineer

12
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

13
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

14
Purchasing Document Open Interface
What are the basic steps for the import process :
• Insert data into interface table
• Run import program to insert data into base tables <Insert Picture Here>

• Review imported data from the front end.

Database

Data to be imported User Interface

15
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• How to find successfully created POs from front end
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

16
Requisition import

• This interface lets you integrate Oracle Purchasing quickly with new or existing
applications such as material requirements planning, inventory management, and
production control systems and also helps to enter requisitions from external sources.

The diagram above shows the inputs and outputs that comprise the interface process.

17
Requisition import

• Flow

Requisition Import program


Raw PO_REQUISITIONS_INTERFACE_ALL
Insert
and/or Process
Data
PO_REQ_DIST_INTERFACE_ALL

import

Error

Success

Query PO_REQUISITION_HEADERS_ALL

User Interface PO_REQUISITION_LINES_ALL


PO_REQ_DISTRIBUTIONS_ALL

18
Requisition import

Inserting into the Requisitions Interface Tables


• You can 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.

• You identify the set of rows you want to import with each other by setting the
INTERFACE_SOURCE_CODE and BATCH_ID columns appropriately in the
PO_REQUISITIONS_INTERFACE_ALL table. You then pass these values as
parameters to the Requisition Import program. If you do not specify any values for these
parameters, the program imports all the requisition lines in the
PO_REQUISITIONS_INTERFACE_ALL table.

• We have three types of columns to have values in interface tables


• Required Data :
• Required : You must provide values for all columns that are required.
• Conditionally required :You may also have to provide values for columns that are conditionally required
Example : If you provide a CURRENCY_CODE, the RATE, RATE_DATE, and RATE_TYPE must be
provided and accordingly, Rate fields are conditionally required.
• Derived Data : System will default those columns using logic similar to that used by the Requisitions form.
• Optional Data : These are optional to be filled and will not stop the import process.

19
Requisition import

• Example script to insert data into Requisition Interface :

SQL> Insert into PO_REQUISITIONS_INTERFACE_ALL


(INTERFACE_SOURCE_CODE,ORG_ID,DESTINATION_TYPE_CODE, AUTHORIZATION_STATUS,
PREPARER_ID, CHARGE_ACCOUNT_ID, SOURCE_TYPE_CODE, UNIT_OF_MEASURE,
LINE_TYPE_ID, QUANTITY, DESTINATION_ORGANIZATION_ID, DELIVER_TO_LOCATION_ID,
DELIVER_TO_REQUESTOR_ID, ITEM_ID,NEED_BY_DATE)
values ('IMPORT_INV', --Interface Source
204, --Operating Unit
'INVENTORY', --Destination Type
'INCOMPLETE', --Status
29, --This comes from per_people_f.person_id
13185, --Code Combination ID from V1 Inv Org Parameters
'VENDOR', --Source Type
'Each', --UOM
1, --Line Type of Goods
25, --quantity
204, --Represents Vision Operations Inv Org.
204, --Represents V1-New York City
29, --This is the Deliver to Requestor
149, --Item AS5488
sysdate+2 --Need By Date );

20
Requisition import

• Another example but this time for Internal Requisition :

SQL> Insert into PO_REQUISITIONS_INTERFACE_ALL


(INTERFACE_SOURCE_CODE, ORG_ID, DESTINATION_TYPE_CODE,
AUTHORIZATION_STATUS, PREPARER_ID, CHARGE_ACCOUNT_ID,
SOURCE_TYPE_CODE, SOURCE_ORGANIZATION_ID, UNIT_OF_MEASURE, LINE_TYPE_ID,
QUANTITY, DESTINATION_ORGANIZATION_ID, DELIVER_TO_LOCATION_ID,
DELIVER_TO_REQUESTOR_ID, ITEM_ID, NEED_BY_DATE)
values ('IMPORT_INT', --Interface Source
204, --Operating Unit
'INVENTORY', --Destination Type
'INCOMPLETE', --Status
29, --This comes from per_people_f.person_id
13401, --Code Combination ID from M1 Inv Org Parameters
'INVENTORY', --Source Type
208,
'Each', --UOM
1, --Line Type of Goods
25, --quantity
207, --Represents M1 Seattle.
207, --Represents M1-Seattle
29, --This is the Deliver to Requestor
484, --Item CM96713
sysdate+2 --Need By Date );

21
Requisition import

Running Requisition Import concurrent request :


• The Requisition Import program operates in three phases.

Phase 1 :

In the first phase, the program validates your data and derives or defaults
additional information. The program generates an error message for every
validation that fails and accordingly, it will create a row in the
PO_INTERFACE_ERRORS table with detailed information about each error.
Program will check for the column MULTI_DISTRIBUTIONS in the
PO_REQUISITIONS_INTERFACE_ALL table, if it is set to yes ( Y ) , Requisition
Import will then check for corresponding distributions in the
PO_REQ_DIST_INTERFACE_ALL table and if it did not find any corresponding
distribution information, it will loads these as errors in the
PO_INTERFACE_ERRORS table.

22
Requisition import
Running Requisition Import concurrent request : -- Cont.

Phase 2 :

• In the second phase, the program groups and numbers the validated
requisition lines according to the following criteria:

• If you specify a value in the REQ_NUMBER_SEGMENT1 column of the


PO_REQUISITIONS_INTERFACE_ALL table, all lines with the same value for this column are
grouped together under a requisition header.

• If you provide a value in the GROUP_CODE column, all lines with the same value in this column
are grouped together under a requisition header.

• If you do not provide values in either of these columns, the Requisition Import program uses the
Group By parameter to group lines together.
• If you do not provide a value for this parameter, the program uses the default Group By that
you set up to group requisition lines.

23
Requisition import
Running Requisition Import concurrent request : -- Cont.

Phase 3 :

• In the third phase, the program deletes all the successfully processed rows in
the interface tables, and creates an output which lists the following :

• Number of interface records that were successfully imported.


• Number of interface records that were not imported.

This output can be viewed by choosing View Output for the Requisition Import
concurrent Request ID in the Requests window.

24
Requisition import

Running Requisition Import concurrent request : -- Cont.

• You can import approved or unapproved requisitions using the Requisitions


Open Interface.

• If you are using requisition encumbrance, approved requisitions that you import
automatically become pre-approved.

• In case there are some records not imported appears in the output from the
report, then 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.

25
Requisition import
Screen shot for requisition import program

Import Source LOV lets you pick requisition


records that have the same source ( i.e 'INV' ,
'MRP' ..etc ) . Leaving it blank will import all
sources.
Enter Thistheparameter
Import Batch determines how requisition
Identification for the batch lines
that you want to import ( reference BATCH_ID )the
If you
are do not
Purchasing
grouped see a particular
increments
on the this
requisitions import
number
you source
by
create. in
one to
list ofChoose
values,
calculate
Example No
then
the for
next Multiple
there are
requisitionDistributions
currently
number. no Iffor
thebackward
This
and you leftby
if determines item
whether
it blank, it willtoimport
initiatetoapproval automatically for
all batches.
compatibility.
requisitions
calculated from that
number source.
is already in use, Purchasing
Itthe
is arequisitions after they to
kind of identification area imported.
set of records.
Item: Group
selects the requisition
next linesrequisition
available for each item on a Leave
number.
TheYes
Yes:separate isrequisition
no longer
PO Requisition a valid
Approval option
workflow for Multiple
is launched automatically for
it blank to automatically
Distributions.
requisitions imported with a status of get the next or
Pre–Approved available
Incomplete.
requisition number.
No: The PO Requisition Approval workflow is not automatically launched for
Pre–Approved or Incomplete requisitions. You can submit these to the
approval process later, when you select the Approve button on the
requisition.

26
Requisition import

Common Questions

You submit a request to run the Requisition Import and when you try to
select from the list of values in the parameter field for Import Source, you
do not find any value and you receive the error message:
FRM-41830 List of Values contains No Entries

Cause :
The List of Values for the Import Source parameter is dynamically
determined by the INTERFACE_SOURCE_CODE column value in the
PO_REQUISITIONS_INTERFACE_ALL table, So that if there are no
values for the LOV, then there are no records in the table for the
current organization.
• Please ensure that there are records in the interface and that the
field INTERFACE_SOURCE_CODE is already populated.

For more details, please review Note 1052184.6

27
Requisition import
Common Questions
How the Initiate Approval After Requisition Import parameter works ?
and what is the relationship between it and AUTHORIZATION_STATUS field

Answer :
The following table will illustrate how it works and the relationship between it and
AUTHORIZATION_STATUS value in interface table :

Value in table Parameter Result


value

Approved Yes Req is approved, no call to workflow

Incomplete Yes Req is created, workflow is called. Result could be


Incomplete, Approved, or In-Process

Approved No Has no effect, record in the Interface states


Approved, no call to req approval workflow. Req is
created as Approved.
Incomplete No Req is created, and is Incomplete. No call to the
workflow for req approval

28
Requisition import
Successful import will results in an output from the
concurrent request like the following :

29
Requisition import
Unsuccessful import will results in an output similar
to the following one :

30
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

31
Requisition import

Checking Failed Transactions:

• For each row in the requisitions interface or requisition distributions interface


table that fails validation, the Requisition Import program creates one or more
rows with error information in the PO_INTERFACE_ERRORS table.

• You can use the Requisition Import Exceptions report to review all rows that
failed validation as it will list all the columns that failed validation along with
the reason for the failure.

• Alternatively, you can also identify failed transactions in the requisitions


interface tables by selecting rows with a PROCESS_FLAG of 'ERROR‟ for any
previously processed set of rows identified by BATCH_ID and
INTERFACE_SOURCE_CODE. Please note that only rows that failed validation
remain in the interface table, as all the successfully imported rows will be
deleted from interface table in third phase of import as explained earlier.

32
Requisition import
Checking Failed Transactions - directly from tables
• Example :

SQL> Select TRANSACTION_ID


From PO_REQUISITIONS_INTERFACE_ALL
Where PROCESS_FLAG = 'ERROR‟ and BATCH_ID = „&your_batch_id‟ and
INTERFACE_SOURCE_CODE = „&your_specified_source_code;

• Then use the following SQL to query the Interface Errors table and
show the error details similar to what you got from exception report
(using the transaction id obtained from previous SQL statement
as shown above) :

SQL> Select *
From PO_INTERFACE_ERRORS
Where INTERFACE_TRANSACTION_ID =„&Trans_ID_from_previous_SQL';

33
Requisition import
Screen shot for Requisition Import Exceptions Report

34
Requisition import

Checking Failed Transactions – Diagnostic test

• Another way to diagnose issues with requisition interface data will be


the Oracle Purchasing Requisition Import Activity Test

• This Diagnostics will validate the data to be imported by the Requisition


Import program and highlight any missing or incorrect information and
suggest a solution for it to overcome the issue.

• The errors can be very informative when attempting to diagnose problems


with Requisition Import. It is recommended that the output of this
Diagnostics be uploaded whenever a Service Request is logged with
Support for a Requisition Import problem in case you could not solve the
issue using the provided information and the suggested solution resulted
from it. The following are the notes for Diagnostic test in both 11i and R12 :
• Note 221938.1 11i : Oracle Purchasing Requisition Import Activity Test
• Note 732181.1 R12.0.6+ : Purchasing Requisition Import Activity Test

35
Demo for diagnostics <Insert Picture Here>

36
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

37
Standard Purchase Order import

• The Purchase Document Open Interface allows you to quickly import


a large volume of Standard Purchase Orders into Oracle Purchasing.
The Import process involves populating the PO interface tables with
the document information to be imported and then running the Import
Standard Purchase Orders concurrent program which will validate
the data and create the PO in the application (or return an error
message).

Success

Process

Raw Insert Query


Interface Base User Interface
Data import

Tables Tables
Error

38
Standard Purchase Order import

Inserting Data into Purchase Order Interface Tables – Cont,

• Load PO header, lines, shipments and distributions data from your


source system into the following interface tables
• PO_HEADERS_INTERFACE
• PO_LINES_INTERFACE ( This table used for Lines and Shipments as well )
• PO_DISTRIBUTIONS_INTERFACE

• Once the data has been inserted into the interface tables, a queries
like the following can be used to review the information before running
the import program :

a - Select * from PO_HEADERS_INTERFACE where INTERFACE_HEADER_ID=&headerid


b - Select * from PO_LINES_INTERFACE where INTERFACE_HEADER_ID=&headerid
c - Select * from PO_DISTRIBUTIONS_INTERFACE where INTERFACE_HEADER_ID=&headerid

39
Standard Purchase Order import

• Example Script to Insert data into PO interface tables :


• Header information

SQL> INSERT INTO po.po_headers_interface


(interface_header_id,action,org_id,document_type_code,currency_code,agent_id,
vendor_name,vendor_site_code,ship_to_location,bill_to_location, reference_num)
VALUES
(po_headers_interface_s.NEXTVAL,'ORIGINAL„,
204, -- Seattle
'STANDARD',
'USD', -- Your currency code
24, -- Your buyer id stock
'Abbott Laboratories, Inc.', -- Supplier name
'CORP HQ', -- Supplier site
'H1- Retail', -- Your ship to
'V1- New York City', -- Your bill to
„Test') ; -- Any reference num

40
Standard Purchase Order import

• Lines and Shipments information


SQL> INSERT INTO po.po_lines_interface
(interface_line_id,interface_header_id,line_num,shipment_num,line_type,item,
uom_code,quantity,unit_price,promised_date,ship_to_organization_code,
ship_to_location)
VALUES
(po_lines_interface_s.nextval,
po_headers_interface_s.currval,
1, -- Line number
1, -- Shipment number ( You can distribute line into shipments via multiple insert statements into lines )
'Goods', -- Line type
'Golden Tax - AS55333', -- Item
'Ea', --- Unit of measure code
10, -- Quantity
100, -- unit price
'10-DEC-2011', -- promised date
'V1', -- Ship to Organization code
'Addison TX' ); -- Ship to Location

41
Standard Purchase Order import

• Distributions information
SQL> INSERT INTO po.po_distributions_interface
(interface_header_id,
interface_line_id,
interface_distribution_id,
distribution_num,
quantity_ordered,
charge_account_id)
VALUES
(po_headers_interface_s.CURRVAL,
po.po_lines_interface_s.CURRVAL,
po.po_distributions_interface_s.NEXTVAL,
1, -- Distribution number
10, -- Quantity Ordered
13401) ;-- Your Charge Account Id

After making sure that data are ok, please do not forget to issue a commit statement 

42
Standard Purchase Order import

• Once the data has been reviewed and committed, the Import Standard Purchase
Orders program can now be run. The following screenshot shows the concurrent
program being submitted :
Default Buyer (Optional)
Enter the default buyer name to be associated with the
incoming documents that are not assigned to a buyer..
IfCreate
a defaultorbuyerUpdate
is not Item (Required)
specified and the imported
purchase order also does not have buyer information, the
The valid
program response
Approval
will use the is
StatusYes or
normal No.
(Required)
Purchasing defaulting
mechanism to generate buyer
any ofinformation.
in the If
Yes : You
the program will create items themaster
item buyer
must choose the following values :
name
from provided
those buyer in the
partinterface
numbersisin not valid,
the then the
interface datarecord
where
will error out
Approved and the default buyer
there is no corresponding item master entry.name will not be
supplemented.
Batch ID program
(Optional)
Incomplete
No : the will not create new item master entries.
Enter a valid batch
Initiate ID, that(To
Approval is ainitiate
uniqueapproval
identifierworkflow
for the )
group of documents in this submission. If you don‟t enter a
Batch ID, Theoneimpact of this parameter
is generated for you when on the
the import
process logic will be
runs.
explained in next slide

43
Standard Purchase Order import

The impact of Approval Status parameter on the import logic is explained in the below
table :

Document Status in Concurrent Program Resulting Document


Interface Table Approval Status Parameter Status

Incomplete
Null Incomplete

Null Approved Approved

Null Initiate Approval Initiate Approval

Incomplete Incomplete Incomplete

Incomplete Approved Incomplete

Incomplete Initiate Approval Initiate Approval


Approved
Approved Incomplete

Approved
Approved Approved

Approved
Approved Initiate Approval

44
Standard Purchase Order import
Important to know :

• If the records got imported successfully without issues, the records will stay
in the interface tables which is different than what happens for requisition
import and the PROCESS_CODE will show the status “ACCEPTED”

• It is important to check the Purchasing Interface Errors report ( a report of


the errors in the PO_INTERFACE_ERRORS table that we will explain in the
next slides ) after you import the documents. Because the Purchasing
Documents Open Interface saves or errors out line by line, it can accept
partial documents. So that you may find a document has been accepted
although some lines from it has been rejected . Therefore, to see which
document lines were not submitted because of errors, you must check the
Purchasing Interface Errors report.

45
Standard Purchase Order import

• How to find successfully created POs from front end :


You may use “Order date” in “Date Ranges” tab in PO summary form to do that by populating it
with today‟s date then find imported POs

46
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

47
Standard Purchase Order import
How to Diagnose PO import data issues
• Error Processing :

• The Purchasing Documents Open Interface (PDOI) programs first process a


record from the PO_HEADERS_INTERFACE table. Then, the program
processes the child records in the PO_LINES_INTERFACE table then process
the PO_DISTRIBUTIONS_INTERFACE table, before going on to the next PO
represented by a record in PO_HEADERS_INTERFACE

• If the program gets an error while processing a record, the program writes the
error details to the PO_INTERFACE_ERRORS table and increments the
record's error counter.

• The Purchasing Documents Open Interface saves or errors out on a line-by-


line basis. This means that if an error is found in a document line, only that
line is rolled back (not submitted to Purchasing), and we will be able to find
the error in the PO_INTERFACE_ERRORS table. Because the Purchasing
Documents Open Interface can accept partial documents as it saves or errors
out line by line.

48
Standard Purchase Order import
How to Diagnose PO import data issues

• If an error is found in a header, none of its lines are processed. The


Purchasing Documents Open Interface rolls back the header, does not
process its lines, and does the following:
■ Sets the PROCESS_CODE column value to REJECTED in the
PO_HEADERS_INTERFACE table.
■ Writes out the record identification number and the details of the error to the
PO_INTERFACE_ERRORS table.
■ Begins processing the next header record.

• If no processing errors are found during processing, the header record and
all successfully submitted child records are loaded into Purchasing, and
then flagged as processed by setting the PROCESS_CODE column to
ACCEPTED.

Accepted PO header Accepted PO header Rejected PO header


Line 1 Line 1 Line 1
Line 1 Dist Line 1 Dist Line 1 Dist
Line 2 Line 2 Line 2
Line 2 Dist Line 2 Dist Line 2 Dist

Here the PO header has been processedHere the PO header has been processed Heresuccessfully
the PO header
without
did not pass validation
successfully without errors and so are errors but one of its lines ( line 2 ) ended
and with
has got
error.
some
However
errorsthe so that it has been
subsequent lines so that it has been PO has been accepted and moved to rejected
base tables
along
with
with
theallfirst
related lines and
accepted and moved to base table. line that passed validation. Second line distribution
will show without
in errorseventable.processing them.
49
Standard Purchase Order import
How to Diagnose PO import data issues

• To check for records in error, the Purchasing Interface Errors Report can be run to provide
information as to the cause of the error. The following screenshot shows the concurrent program
being submitted :

Purge Data
Source Program (Optional)
Yes : to purge
This the data in the Purchasing Interface Errorswhose
parameter helps us to select the program
table after errors
the report runs. The errors you see in the report
we want to review.
will not reappear the next time you run it. Only the data for
the SourceWe Program youPurchasing
will select chose will beDocuments
deleted. Open Interface ,
that will show us what errors occurred when the Import
No : to keep the errors in the table
Orderand in the ran.
report, listed
Standard Purchase program
along with any new errors.

50
Standard Purchase Order import

Sample output from Purchasing Interface Errors Report output

51
Standard Purchase Order import
How to Diagnose PO import data issues

• Diagnostic test :
• There is also a diagnostic test available for Purchase Order similar to what
we used with requisition.

• Diagnostics tool name is Oracle Purchasing Documents Open Interface


Data Collection Test , This diagnostic test will verify the data in the interface
tables used by the purchasing documents open interface (PDOI) so that it
can be used proactively or reactively to resolve or prevent issues in the
purchasing documents open interface (PDOI).

• The following are the notes for Diagnostic test in both 11i and R12 :
• Note 224887.1 11i : Oracle Purchasing Purchasing Documents Open Interface Data Collection Test
• Note 732177.1 R12.0.6+ : Purchasing Purchasing Documents Open Interface Activity Test

52
Standard Purchase Order import
• Sample output from Purchasing Documents Open Interface Activity Diagnostic Test

53
PDOI general questions

Common Questions

Could not find Manufacturing APIs and Open Interfaces Manual Release
version for R12

Answer :
There is no version of the Manufacturing APIs and Open Interfaces
Manual Release for R12. You should use 11i users guide along with
Note 437587.1 for information on changes made to the import process
in Release 12.

54
PDOI general questions

Common Questions

I filled all the required interface data and run the import program. The import
program completed successfully but did not pick any record from the
interface and PROCESS_FLAG still set to null, neither accepted nor
rejected. Could not able to figure out what is wrong since there is no error
message. What could be the reason for that ?

Answer :
This will happen if you are running the concurrent request from a
responsibility that do not have access to the Organization defined in
the interface. Please double check the ORG_ID you populated and
make sure it is the one you should use.

55
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• How to find successfully created POs from front end
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

56
Purchasing Documents Open Interface Table Descriptions

Table Name Type Description

PO_REQUISITIONS_INTERFACE_ALL Interface table This is the main Requisition Import interface table

The PO_REQ_DIST_INTERFACE_ALL table was used in Release 11, for Self-


Service Purchasing (known then as Web Requisitions). In Release 11i, you should
PO_REQ_DIST_INTERFACE_ALL Interface table use the PO_REQ_DIST_INTERFACE_ALL table to create multiple distributions
only for requisitions created in non-Oracle systems that use multiple
distributions.

PO_REQUISITION_HEADERS_ALL Base table Stores requisition headers

PO_REQUISITION_LINES_ALL Base table Stores requisition lines

PO_REQ_DISTRIBUTIONS_ALL Base table This table stores requisition distributions

Stores all errors resulted from import process.


PO_INTERFACE_ERRORS Errors table

57
Purchasing Documents Open Interface Table Descriptions

Table Name Type Description

PO_HEADERS_INTERFACE Interface table


This is the table where to insert PO headers data in interface table.

This is where we insert PO lines information to be imported ( it is used


Interface table
PO_LINES_INTERFACE also for Shipments details )

PO_DISTRIBUTIONS_INTERFACE Interface table


This is where we insert PO distribution details before import.

Stores document headers for purchase orders, purchase agreements,


PO_HEADERS_ALL Base table
quotations, and RFQs

Stores purchase document lines for purchase orders, purchase


PO_LINES_ALL Base table
agreements, quotations, and RFQs

Stores document shipment schedules for purchase orders, purchase


PO_LINE_LOCATIONS_ALL Base table
agreements, quotations, and RFQs

PO_DISTRIBUTIONS_ALL Base table Stores purchase order distributions

Stores all errors resulted from import process.


PO_INTERFACE_ERRORS Errors table

58
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

59
Diagnosing problems with the import process itself

Some times the import concurrent request ends in error and in this
case, it will not be something related to data but could be something
related to the code. To check this, we will have to trace the code.
There are multiple ways to trace the code like :

• Low level trace along with TKPROF


How To Trace a Concurrent Request And Generate TKPROF File (Doc ID 453527.1)

• FND log
How to enable and retrieve FND debug log messages (Doc ID 433199.1)

In the next slides, we will show the steps to collect the raw trace file
along with TKPROF in another way other than traditional way.

60
Collecting the trace for a concurrent request

How to collect the trace for a concurrent request ?


A. Navigate to Profile/System - and query on the profile name - Concurrent: Allow Debugging
- set this profile to Yes
B. Next, move to the appropriate responsibility from which you are running the concurrent request.
- If using Purchasing Super User - choose Reports/Run - enter the request name
- Enter any parameters required to run the request
- A new button will be shown - entitled 'Debug Options' click this button and a web based form
will open.
- In the new form, choose the SQL Trace option and set this to Trace with Binds and Waits
- Hit the OK button
- A message will appear 'Debug Rule has been created successfully' Choose OK and the web
form will close
- Submit the request **Take note of the concurrent request ID**
C. In sqlplus - execute the following statement -
select name, value from v$parameter where name like 'user_dump_dest';
Take note of the value output - this is the location on the database server where the trace files are
located. The trace filename will have the concurrent request id along with the username for the
user that submitted the request.

61
Collecting the trace for a concurrent request

Setting Allow debugging profile option

62
Collecting the trace for a concurrent request

63
Collecting the trace for a concurrent request

64
Collecting the trace for a concurrent request

65
Collecting the trace for a concurrent request

This is the location on the database server where the trace files are located. The trace
filename will have the concurrent request id along with the username for the user
that submitted the request.

66
How to get the TKPROF from the trace file

TKPROF Function:
TKPROF accepts the raw trace file as input, and produces a formatted output file
that is most readable than raw trace file.

Generate TKPROF report


At the command prompt, change your directory to the directory where the trace files are
located (or, alternatively, copy the trace files to a location of your choice, and change your
command prompt directory to that directory).
Execute command like the following :
tkprof <trace file> <output file> explain=userid/pwd@database
example: tkprof file1234.trc file1234.out explain=<apps/apps>

After collecting the trace file and TKPROF, please send it to Support engineer to help you
identify the problem with the concurrent process.

67
Agenda
• Overview of Purchasing Document Open Interfaces
• What are basic steps to use PDOI

• Requisitions Open Interface.


• Inserting into the Requisitions Interface Tables
<Insert Picture Here>
• Example script to insert data into Requisition Interface.
• Running Requisition Import concurrent request.
• How to Diagnose Requisition import data issues.
• Checking Failed Transactions
• Quick demo for using Oracle diagnostics .

• Standard Purchase Order Open Interface


• Inserting Data into Purchase Order Interface Tables
• Example Script to Insert data into PO interface tables
• How to Diagnose PO import data issues
• Purchasing Interface Errors Report

• Purchasing Documents Open Interface Table Descriptions


• Diagnosing problems with the import process itself.
• How to collect trace file and TKPROF for the concurrent program.

• Demo
• Q&A

68
D E M O N S T R A T I O N

© 2010 Oracle Corporation – Proprietary and Confidential


69
Important Documents Related to PDOI

Note # Title
224025.1 Frequently Asked Questions: Requisition Import
944140.1 Vision Demo - How To Create Requisitions Using Requisition Import?
224031.1 FAQ: Purchasing Documents Open Interface
Vision Demo - How To Import Standard Purchase Orders Using the
1054004.1
Purchase Document Open Interface PDOI
1052184.6 Requisition Import Parameter "Import Source LOV" Contains NO Values.
367983.1 Requisition Import Basic Functionality
453527.1 How To Trace a Concurrent Request And Generate TKPROF File
…. ….

70
71
3
Send your question

2
Who to ask?

Q&A panel

1
type your question here

72
Further Info & Help

• Procurement Advisor Webcast Calendar [DocID 1083713.1])


• Advisor Webcast Current Schedule (Doc ID 740966.1)
• Oracle Purchasing Product Information Center (Doc ID 1327703.1)
• Purchasing Approvals - Product Information Center (PIC) (Doc ID 1322396.1)
• Procurement Newsletter (Doc ID 111111.1. )
• MOS Community <Procurement Community>
• MOS Community <Process Manufacturing - EBS Community>

73
Upcoming Webcasts

Tuesday, Nov 22, 2011 Creating a New XML Document 1361241.1


at 9:00 am EST, 2:00 Publisher Report
pm London Using an Existing EBS
Purchasing Report
Tuesday, Nov 29, 2011 Troubleshooting
at 9:00 am EST, 2:00 Approval Hierarchy
pm London Issues
Tuesday, Dec 06, 2011 ASL Sourcing and Document 1367584.1
at 9:00 am EST, 07:00 Advanced Pricing in
am, MT, 2:00 pm Procurement
London

© 2010 Oracle Corporation – Proprietary and Confidential


74
Have you started to use the Procurement Community?

© 2010 Oracle Corporation – Proprietary and Confidential


75
Please start sharing your experience with the community

© 2010 Oracle Corporation – Proprietary and Confidential


76
THANK YOU

© 2010 Oracle Corporation – Proprietary and Confidential


77

You might also like