Sunteți pe pagina 1din 29

VALIDATIONS

AP Invoice Interface
This interface helps us to import vendor invoices into Oracle applications from
external systems into Oracle Applications.
Interface tables:
1] AP_INVOICES_INTERFACE
This is the open interface table for importing AP Invoices from external sources and
stores header information about invoices. Invoice data comes from sources
including:
EDI invoices from suppliers that are loaded through Oracle e-Commerce Gateway
Supplier invoices that are transferred through the Oracle XML Gateway
Invoices that are loaded using Oracle SQL*Loader
Lease invoices from Oracle Property Manager
Lease payments from Oracle Assets
Credit card transaction data that are loaded using the Credit Card Invoice Interface
Summary
Expense Report invoices from Oracle Internet Expenses
Payment Requests from Receivables
Invoices that are entered through the Invoice Gateway.
There is one row for each invoice you import. Oracle Payables application uses this
information to create invoice header information when Payables Open Interface
program is submitted.
Data in the AP_INVOICES_INTERFACE table used in conjunction with
AP_INVOICE_LINES_INTERFACE table to create Payables Invoice, Invoice lines,
Distributions and Schedule payments. Data in this table can be viewed and edited
using Open Interface Invoices window. The Payables Open Interface program
validates each record in this interface table selected for import, and if the record
contains valid data then the program creates a Payables Invoice.
Important columns:

INVOICE_ID (Required) : Unique identifier for this invoice within this batch. Same
value should be populated in invoices lines in the AP_INVOICE_LINES_INTERFACE
table to identify the data as belonging to the same invoice.
INVOICE_NUM (Required) : Enter the invoice number that needs to be assigned to
the invoice created in Payables from this record.
INVOICE_TYPE_LOOKUP_CODE (Optional) : Type of invoice: Credit or Standard.
INVOICE DATE (Optional) : Date of the invoice. If you do not enter a value, the
system uses the date you submit Payables Open Interface Import as the invoice
date.
PO_NUMBER (Optional) : Purchase order number from PO_HEADERS.SEGMENT1.
This column needs to be populated if invoice to be matched with an purchase order.
VENDOR_ID & VENDOR_SITE_ID (Required) : VENDOR_ID is unique identifier for a
supplier and VENDOR_SITE_ID is Internal supplier site identifier. Supplier of the
invoice to be derived by value in one of the following columns in this table:
VENDOR_ID, VENDOR_NUM, VENDOR_NAME, VENDOR_SITE_ID or PO_NUMBER.
VENDOR_NUM & VENDOR_NAME (Optional) : Supplier number and name. You must
identify the supplier by entering a value for one of the following columns in this
table: VENDOR_ID, VENDOR_NUM, VENDOR_SITE_ID, VENDOR_SITE CODE, or
PO_NUMBER.
INVOICE_AMOUNT (Required) : Amount of the invoice.
INVOICE_CURRENCY_CODE (Optional) : Currency code for the invoice. If you want to
create foreign currency invoices, enter a currency code that is different from your
functional currency.
EXCHANGE_RATE (Optional) : This column is required if you enter a foreign currency
code in the INVOICE_CURRENCY_CODE column and you enter User as the
EXCHANGE_RATE_TYPE.
TERMS_ID (Optional) : Internal identifier for the payment terms.
DESCRIPTION (Optional) : Enter the description that you want to assign to the
invoice created from this record.
SOURCE (Required) : Source of the invoice data. If you import EDI invoices from the
Oracle EDI Gateway, the source is EDI Gateway. For invoices you import using
SQL*Loader, use a QuickCode with the type Source that you have defined in the
QuickCodes window in Payables.
2] AP_INVOICE_LINES_INTERFACE

This is the lines interface table for the AP Invoice Open Interface and it is used in
conjunction with AP_INVOICE_INTERFACE table. AP_INVOICE_LINES_INTERFACE stores
information used to create one or more invoice distributions. Note that one row in
this table may create, during the import process, more than one invoice distribution.
Important columns:
INVOICE_ID (Required) :Enter the INVOICE_ID of the corresponding invoice in the
AP_INVOICES_INTERFACE table.
INVOICE_LINE_ID : This value is not required. You can enter a unique number for
each invoice line of an invoice.
LINE_NUMBER (Optional) : You can enter a unique number to identify the line.
LINE_TYPE_LOOKUP_CODE (Required) : Enter the lookup code for the type of invoice
distribution that you want Payables Open Interface Import to create from this
record. The code you enter must be ITEM, TAX, MISCELLANEOUS, or FREIGHT. These
lookup codes are stored in the AP_LOOKUP_CODES table.
AMOUNT (Required) : The invoice distribution amount. If you are matching to a
purchase order, the AMOUNT = QUANTITY_INVOICED x UNIT PRICE. If the total
amount of all the invoice distributions does not equal the amount of the invoice that
has the same INVOICE_ID, then Payables Open Interface Import will reject the
invoice.
Concurrent program:
Payables Open Interface Import
Parameters:
Source: Choose the source of the invoices from the list of values. Use EDI Gateway,
Credit Card, or a Source type QuickCode you defined in the Payables QuickCodes
window.
Group: To limit the import to invoices with a particular Group ID, enter the Group ID.
The Group must exactly match the GROUP_ID in the Payables Open Interface tables.
Batch Name: Payables groups the invoices created from the invoices you import and
creates an invoice batch with the batch name you enter. You can enter a batch
name only if you have enabled the Use Batch Control Payables option, and if you
have enabled the Use Batch Control Payables option, you must enter a batch name.
If you use a batch name and some invoices are rejected during the import process,
you can import the corrected invoices into the same batch if you enter the exact
batch name during the subsequent import.

Hold Name: If you want to place all invoices on hold at the time of import, enter an
Invoice Hold Reason. You can define your own hold reasons in the Invoice Approvals
window.
Hold Reason: Payables displays the Invoice Hold Reason Description.
GL Date: If you want to assign a specific GL Date to all invoices, enter a GL Date. If
you do not enter a value here, the system will assign a GL Date based on the GL
Date Payables option.
Purge: Enter Yes if you want Payables to delete all successfully imported invoice
records that match the Source and Group ID of this import. Payables does not delete
any invoice data for which it has not yet created invoices. If you want to purge later,
you can use the Payables Open Interface Purge Program.
Steps:
1] Firstly, lets get a unique number to be used as INVOICE_ID to the invoice to be
imported. This method ensures that each invoice has a unique INVOICE_ID
assignment.
1

select ap_invoices_interface_s.nextval from dual;

NEXTVAL

-------------

132277

2] Then, create records in the Invoice Open Interface tables through SQL queries.
1

insert into AP_INVOICES_INTERFACE (

invoice_id,

invoice_num,

vendor_id,

vendor_site_id,

invoice_amount,

INVOICE_CURRENCY_CODE,

invoice_date,

DESCRIPTION,

10

PAY_GROUP_LOOKUP_CODE,

11

source,

12

org_id

13

14

values (

15

132277,

16

'INV100',

17

'7124',

18

'11792',

19

1200.00,

20

'USD',

21

to_date('01-31-2010','mm-dd-yyyy'),

22

'This Invoice is created for test purpose',

23

'WUFS SUPPLIER',

24

'Manual Invoice Entry',

25

81

26

);

27
28

insert into AP_INVOICE_LINES_INTERFACE (

29

invoice_id,

30

line_number,

31

line_type_lookup_code,

32

amount

33

34

values

35

132277,

36

1,

37

'ITEM',

38

1200.00

39

);

3] You can go to Payables > Invoices > Entry > Open Interface Invoices to check the
details of Invoice and Invoice Lines from the front end. If required you can do any
modifications here. Alternatively you can use these forms to put invoice data in
AP_INVOICES_INTERFACE and AP_INVOICE_LINES_INTERFACE tables.
4] Go to the front end and run the concurrent program Payables Open Interface
Import to submit a request for Invoice Import.

Output:

output of Payables Open Interface Import

5] The imported invoice becomes available for review in Invoices Workbench.

Interface Invoice through Invoice Banch

AR Invoice Interface
The main three steps for AR Invoice Interface are:
1] Put the data into your staging tables.
2] Calls your package to validate the data and load into AR Interface tables
(RA_INTERFACE_LINES_ALL & RA_INTERFACE_DISTRIBUTIONS_ALL).
3] Then submits a concurrent request for AutoInvoice.
If any errors occur it can be found in ra_interface_errors_all table. The concurrent
program has 2 stages. First the Master program fires which intern kicks of the
Import Program. Once this is completed data is inserted into the following tables.
1) ra_customer_trx_all (Invoice Header Info)
2) ra_customer_trx_lines_all (Invoice Line Level Info)
3) ra_cust_trx_line_gl_dist_all (Accounting Info. One record for each Account Type is
inserted into this ex. Receivable Revenue Tax Freight etc)
4) ar_payment_schedules_all (All Payment related info)

Validations:
Validation are generally done on the below columns.
Batch_source_name
Set_of_books_id
Orig_sys_batch_name
orig_system_bill_customer_ref
orig_system_bill_address_ref
Line_Type
Currency_Code
Term_name
Transaction_type
Interface_line_attribute1-7
Account_class
Accounting Flexfields segments
1- AR Transaction Type Validation: Check if the Transaction type provided in data file
is defined in AR transaction types (RA_CUST_TRX_TYPES_ALL)
2- Transaction Batch Source Validation: Check if the source provided in data file is
defined in AR transaction Batch source (RA_BATCH_SOURCES_ALL).
3- Invoice Currency Validation: Check if the currency provided in data file is defined
in AR Currency (FND_CURRENCIES).
4- Customer Validation: Check if the Bill to Customer Number, Ship to Customer
Number, Bill to Custom Location, Ship to Customer Location provided in the data file
is defined in AR Customer (RA_CUSTOMERS).
5- Primary Sales Representative Validation: Sales representative number to be
hardcode to -3 for No Sales Credit.
6- Term Name: Check if the Term name provided in the data file is defined in
Payment terms (RA_TERMS)
7- Inventory Item Validation: Check if the Item provided in data file is defined in
Inventory Items (MTL_SYSTEM_ITEMS).

8- Unit of Measurement validation: Check if the UOM provided is defined in


MTL_UNITS_OF_MEASURE Table
9- Invoice Tax Code Validation: Check if the Tax Code provided in data file is defined
in AR_VAT_TAX_ALL_B Table.
10- Invoice GL Date Validation: Check if the GL Data of provided invoices is in open
period.
For MOAC:
You need to add the below columns and need to do validations if your application
supports MOAC.
conversion_type
conversion_rate
conversion_date
Sample Code to run Autoinvoice Master Program:
1

DECLARE

v_phase

v_dev_phase

v_status

v_dev_status

v_message VARCHAR2(100);

v_reqid

v_pid

v_user_id NUMBER(30);

10

v_batch_source_id NUMBER;

11

v_order

NUMBER;

12

v_org_id

NUMBER;

13

v_resp_id number;

14

v_resp_appl_id number;

VARCHAR2(100);
VARCHAR2(100);

VARCHAR2(100);
VARCHAR2(100);

NUMBER(15);
BOOLEAN;

15

v_appl_short_name fnd_application.application_short_name%TYPE;

16
17

CURSOR c1 IS

18

select fcr.responsibility_id

19

,fr.application_id

20

from fnd_concurrent_requests fcr

21

,fnd_responsibility fr

22

where fcr.request_id = '${4}'

23

and fcr.responsibility_id = fr.responsibility_id;

24
25

CURSOR c2 IS

26

select fa.application_short_name

27

from fnd_concurrent_programs fcp, fnd_application fa

28

where fcp.concurrent_program_name = v_program_short_name

29

and fcp.application_id = fa.application_id;

30
31

CURSOR c_batch_id IS

32

SELECT 1, batch_source_id, name

33

FROM apps.ra_batch_sources_all

34

WHERE name IN (SELECT distinct a.batch_source_name

35

FROM xxfin.xxfin_ar_ol_invoices a

36

WHERE a.batch_source_name like '%DEBIT'

37

AND filename = '${file1}')

38

UNION

39

SELECT 2, batch_source_id, name

40

FROM apps.ra_batch_sources_all

41

WHERE name IN (SELECT distinct a.batch_source_name

42

FROM xxfin.xxfin_ar_ol_invoices a

43

WHERE a.batch_source_name like '%CREDIT'

44

AND filename = '${file1}')

45

order by 1;

46
47

BEGIN

48

open c1;

49

fetch c1 into v_resp_id,v_resp_appl_id;

50

close c1;

51
52

open c2;

53

fetch c2 into v_appl_short_name;

54

close c2;

55
56

FOR v_batch_data IN c_batch_id LOOP

57
58

fnd_global.apps_initialize('${FCP_USERID}',v_resp_id,v_resp_appl_id);

59
60

v_reqid := fnd_request.submit_request('AR',

61

'RAXMTR',

62

NULL,

63

to_char(trunc(sysdate),'YYYY/MM/DD HH24:MI:SS'),

64

FALSE,

65

'1',

66

-99,

67

v_batch_data.batch_source_id,

68

v_batch_data.name,

69

to_char(trunc(sysdate),'YYYY/MM/DD HH24:MI:SS'),

70

NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,

71

NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,NULL ,

72

'Y',

73

NULL);

74

commit;

75

v_pid := fnd_concurrent.wait_for_request(v_reqid,

76

3,

77

0,

78

v_phase,

79

v_status,

80

v_dev_phase,

81

v_dev_status,

82

v_message);

83

END LOOP;

84

END;

7 Votes

Supplier Conversion in R12


Vendor conversion program will load the Supplier Master, Sites and Contacts data
from data files to the staging tables, validate the data and then load the data into
Interface tables, finally Validated data will import into Oracle Supplier Standard
Tables by using Oracle Standard Supplier Import Programs.
Pre-requisites setups are: Payment terms, Pay Groups, CCID, Supplier
classifications, Bank Accounts , Employees (if employees have to set up as
vendors).
The Interface Tables are:
AP_SUPPLIERS_INT
AP_SUPPLIER_SITES_INT
AP_SUP_SITE_CONTACT_INT
AP_SUPPLIERS_INT:
This is the open interface table for AP Suppliers. It holds Supplier information which
is loaded by the user for import. The columns in the table map to corresponding
columns in the PO_VENDORS table. The Oracle Payables application uses this
information to create a new Supplier record when the Supplier Open Interface
Import program is submitted. Each row in the table will be identified by a unique
identifier, the VENDOR_INTERFACE_ID.
Mandatory Columns:
VENDOR_INTERFACE_ID (ap_suppliers_int_s.NEXTVAL)- Supplier interface record
unique identifier
VENDOR_NAME Supplier name
Other important columns:
SEGMENT1 Supplier Number
VENDOR_TYPE_LOOKUP_CODE Supplier type
SHIP_TO_LOCATION_CODE Default ship-to-location name
BILL_TO_LOCATION_CODE Default bill-to-location name
TERMS_NAME Payment terms name
TAX_VERIFICATION_DATE Tax verification date(1099)
VAT_REGISTRATION_NUM Tax registration number

ATTRIBUTE1 -15 Descriptive Flexfield Segments


PAY_GROUP_LOOKUP_CODE Payment group type
INVOICE_CURRENCY_CODE Default currency unique identifier
PAYMENT_CURRENCY_CODE Default payment currency unique identifier
NUM_1099 Tax identification number (1099)
VAT_CODE Default invoice tax code
HOLD_FLAG Indicates whether or not the supplier is on purchasing hold
SUMMARY_FLAG Key flexfield summary flag
ENABLED_FLAG Key flexfield enable flag
EMPLOYEE_ID Employee unique identifier if supplier is an employee
AP_SUPPLIER_SITES_INT:
This is the open interface table for AP Supplier Sites. It holds Supplier Site
information which is loaded by the user for import. The columns in the table map to
corresponding columns in PO_VENDOR_SITES_ALL table. The Oracle Payables
application uses this information to create a new Supplier Site record when the
Supplier Sites Open Interface Import program is submitted. Each row in the table
will be joined to the appropriate Supplier using the VENDOR_ID column.
Mandatory Columns:
VENDOR_SITE_INTERFACE_ID (ap_supplier_sites_int_s.NEXTVAL) Supplier Site
interface record unique identifier
VENDOR_SITE_CODE Supplier Site name
Other important columns:
ADDRESS_LINE1 First line of supplier address
ADDRESS_LINE2 Second line of supplier address
ADDRESS_LINE3 Third line of supplier address
CITY City name
STATE State name or abbreviation
ZIP Postal code
COUNTRY Country name

PHONE Phone number


FAX Supplier site facsimile number
SHIP_TO_LOCATION_CODE Default ship-to-location name
BILL_TO_LOCATION_CODE Default bill-to-location name
PAYMENT_METHOD_LOOKUP_CODE Default payment method type
VAT_CODE Invoice default tax code
PAY_GROUP_LOOKUP_CODE Payment group type
TERMS_NAME Payment terms name
INVOICE_CURRENCY_CODE Default currency unique identifier
PAYMENT_CURRENCY_CODE Default payment currency unique identifier
EMAIL_ADDRESS E-mail address of the supplier contact
PURCHASING_SITE_FLAG Indicates whether purchasing is allowed from this site
AUTO_TAX_CALC_FLAG Level of automatic tax calculation for supplier
HOLD_ALL_PAYMENTS_FLAG Indicates if Oracle Payables should place payments
for this supplier on hold
AP_SUP_SITE_CONTACT_INT:
This is the open interface table for AP Supplier Site Contacts. It holds Supplier
contact data. The columns in the table map to corresponding columns in
PO_VENDOR_CONTACTS table. The Oracle Payables application uses this information
to create a new Supplier Contact record when the Supplier Sites Open Interface
Import program is submitted. Each row in the table will be joined to the appropriate
Supplier Site using the VENDOR_SITE_CODE and ORG_ID.
Mandatory Columns:
VENDOR_INTERFACE_ID Supplier interface record unique identifier
VENDOR_CONTACT_INTERFACE_ID (AP_SUP_SITE_CONTACT_INT_S.NEXTVAL)
Vendor Contact Interface Identifier
VENDOR_SITE_CODE Supplier Site name
Other important columns:
FIRST_NAME Contact First name

LAST_NAME Contact last name


AREA_CODE Area code of contact phone number
PHONE Contact phone number
FIRST_NAME_ALT Alternate Supplier contact first name
LAST_NAME_ALT Alternate Supplier contact last name
EMAIL_ADDRESS Email address for the Supplier Site contact
FAX Facsimile number for the Supplier Site contact
VENDOR_ID Supplier unique identifier
Validations:
Vendor Number (Check for duplicate records in ap_suppliers table)
Vendor Name (Check for duplicate records in staging as well as in ap_suppliers
table)
Terms Name (Check for proper record in ap_terms_tl table)
Pay Group (Check for proper record in fnd_lookup_values_vl table where lookup_type
= PAY GROUP)
Employee Id (Check for proper employee record in per_all_people_f table)
Vendor Type (Check for proper record in po_lookup_codes table where lookup_type
= VENDOR TYPE)
Vendor Site Code (Check for duplicate records in ap_supplier_sites_all table)
Country Code ( Check for proper country code in fnd_territories_vl table)
Payment Method (Check for proper payment method in iby_payment_methods_vl
table)
Interface programs:
Supplier Open Interface Import
Supplier Sites Open Interface Import
Supplier Site Contacts Open Interface Import
The data inserted via these interfaces are automatically populated into TCA tables.

Note: AP_SUPPLIER_INT_REJECTIONS table contains suppliers, sites, contacts


rejections information.

GL Budget Interface
This program lets you prepare and analyze your budget outside of General Ledger
and then transfer your budget information into General Ledger. This enables you to
perform your budgeting in the environment you choose, and still maintain the
integrity of your database.
Interface Table:
GL_BUDGET_INTERFACE is used to upload budget data into your Oracle General
Ledger application from an external source. Each row includes one fiscal years
worth of budget amounts for an account. When you load this table, you must supply
all NOT NULL columns with data. In addition, you must supply a valid account
combination in the SEGMENT columns appropriate to your chart of accounts. Finally,
you must supply the budget amounts in the appropriate AMOUNT columns.
The mandatory (not null) columns of the Interface table are:
BUDGET_NAME
BUDGET_ENTITY_NAME (the budget organization)
CURRENCY_CODE
FISCAL_YEAR
UPDATE_LOGIC_TYPE (A for Add, R for Replace)
Other important columns are:
SET_OF_BOOKS_ID
BUDGET_VERSION_ID
PERIOD1_AMOUNT through PERIOD60_AMOUNT
SEGMENT1 through SEGMENT30
Validations:
Budget Name and Budget Entity Name
Currency Code
Account Segments(Code Combination in GL_CODE_COMBINATIONS Table)

To upload a budget:
Navigate to the Upload Budget window (Budgets > Enter > Upload).
Enter the Budget and Budget Organization.
click Upload.
General Ledger submits a concurrent process to upload budget information from the
GL_BUDGET_INTERFACE table.
Budget Upload Validation:
Budget Upload validates all of your budget information for compatibility with
General Ledger. Budget Upload also checks to make sure that the following
conditions are true:
Your account is assigned to a budget organization
The budget entry type for your account is Entered
Your budget is not Frozen
Your budget organization is not Frozen
Your budget fiscal year is open for your budget
Once updated, General Ledger automatically deletes the rows of budget records in
the Budget Interface table.
Base Tables:
GL_BUDGETS
GL_BUDGET_ASSIGNMENTS
GL_BUDGET_TYPES
For more information see Oracle General Ledger User Guide

Item Interface
Overview:
Oracle provides flexible tools in the form of Interface programs to import the master
and transactional data like Customers, Invoices, and Sales Orders etc from external
systems into Oracle Applications.
Conversion/Interface Strategy:
Data Mapping

During the data mapping process, list of all the data sets and data elements that
will need to be moved into the Oracle tables as part of conversion are identified.
Data mapping tables are prepared as part of this activity that show what are the
data elements that are needed by the target system to meet the business
requirements and from where they will be extracted in the old system.
Download Programs

After the conversion data mapping is complete, download programs are developed
that are used to extract the identified conversion data elements from the current
systems in the form of an ASCII flat file. The structure of the flat file must match the
structure of the Oracle standard interface tables. These flat files generated may be
in text form or a comma or space delimited, variable or fixed format data file.
Upload Program

Once the data has been extracted to a flat file, it is then moved to the target file
system and the data from the file is loaded into user defined staging tables in the
target database using SQL Loader or UTL_FILE utilities. Then programs are written
and run which validate the data in the staging tables and insert the same into the
Oracle provided standard Interface tables.
Interface Program

Once the interface tables are populated, the respective interface program (each
data element interface has a specific interface program to run) is submitted. The
interface programs validate the data, derive and assign the default values and
ultimately populate the production base tables.
The Item import Interface(IOI) reads data from following tables for importing items
and item details. The MTL_SYSTEMS_ITEM_INTERFACE table is used for new item
numbers
and all item attributes. This is the main item interface table, and can be
the only table used to import items.

MTL_ITEM_REVISIONS_INTERFACE is used if Item revisions history is also loaded with


items. Item categories can be imported using MTL_ITEM_CATEGORIES_INTERFACE.

The import error can be tracked using MTL_INTERFACE_ERRORS table. The


transaction_id and request_id populated by the import program can be used to link
interface table and error table.
Required Data:
ITEM_NUMBER or SEGMENT Columns

Every row in the item interface table must identify the item and organization. To
identify the item when importing it, you may specify either the ITEM_NUMBER or
SEGMENTn columnsthe Item Interface generates the INVENTORY_ITEM_ID for you.

ORGANIZATION_ID or ORGANIZATION_CODE

You need to specify either the ORGANIZATION_ID or ORGANIZATION_CODE that


identifies the organization.

DESCRIPTION

When you import a new item, you are also required to specify the DESCRIPTION.
TRANSACTION_TYPE & PROCESS_FLAG

There are two other columns the Item Interface uses to manage processing. They
are TRANSACTION_TYPE, which tells the Item Interface how to handle the row, and
PROCESS_FLAG, which indicates the current status of the row.

Always set the TRANSACTION_TYPE column to CREATE, to create an item record


(true when both importing a new item and assigning an already existing item to
another organization). This is the only value currently supported by the Item
Interface. The Item Interface uses the PROCESS_FLAG to indicate whether
processing of the row succeeded or failed. When a row is ready to be processed,
give the PROCESS_FLAG a value of 1 (Pending), so that the Item Interface can pick
up the row and process it into the production tables.
Meaning of PROCESS_FLAG Values:
Code

Code Meaning

Pending

Assign complete

Assign/validation failed

Validation succeeded; import failed

Import in process

Import succeeded

Note:

When more than one of these columns has been entered and they conflict,
ITEM_NUMBER overrides SEGMENTn and ORGANIZATION_ID overrides
ORGANIZATION_CODE. It is strongly recommended that you use SEGMENT column
instead of ITEM_NUMBER.
For performance purpose, it is advised to batch set of records using set_process_id
column and then run import program for that set_process_id. The item import (IOI)
program can be run in parallel if separate set_process_ids are passed while
submitting.

Derived Data:

Many columns have defaults that the Item Interface uses when you leave that
column null in the item interface table
Validations:
1] Validation for organization code (standard table:
ORG_ORGANIZATION_DEFINITIONS)

2] Validation for Item_number (standard table: mtl_system_items_b)

3] Validation for Description

4] Validation for Primary Unit of Measure (standard table:


MTL_UNITS_OF_MEASURE)

5] Validation for Template Name (standard table: mtl_item_templates)

6] Validation for Item Type (standard table: FND_COMMON_LOOKUPS)

7] Validation for ENCUMBRANCE_ACCOUNT (standard table:


gl_code_combinations)

8] Validation for EXPENSE_ACCOUNT (standard table: gl_code_combinations)

Note: You can add more validation as per your business requirement.

Record Insertion:

Through your custom program you can insert the below columns in the interface
table. Again the list is a sample one; you can add additional columns as your
business requirement.
Columns inserted:
ORGANIZATION_ID
table

>Taken from ORG_ORGANIZATION_DEFINITIONS

ORGANIZATION_CODE

>Taken from Staging table

LAST_UPDATE_DATE

>sysdate

LAST_UPDATED_BY

>fnd_global.user_id

CREATION_DATE
CREATED_BY
LAST_UPDATE_LOGIN
DESCRIPTION
SEGMENT1
PRIMARY_UOM_CODE
PRIMARY_UNIT_OF_MEASURE
ITEM_TYPE
TEMPLATE_NAME
TEMPLATE_ID

>sysdate
>fnd_global.user_id
>fnd_global.login_id
>Taken from Staging table
>Taken from Staging table
>Taken from Staging table
>Taken from MTL_UNITS_OF_MEASURE
>NULL
>Taken from Staging table
>Taken from mtl_item_templates

MIN_MINMAX_QUANTITY

>Taken from Staging table

MAX_MINMAX_QUANTITY

>Taken from Staging table

LIST_PRICE_PER_UNIT
ITEM_CATALOG_GROUP_ID

>Taken from Staging table


>Taken from Staging table

SET_PROCESS_ID

>1

PROCESS_FLAG

>1

TRANSACTION_TYPE

>CREATE

Standard Concurrent Program:


After you insert valid data into Interface table, you can go to Items > Import >
Import Items and run the standard concurrent program. Here is the parameter form.

1] All Organizations:
Yes: Run the interface for all organization codes in the item interface table.
No: Run the interface only for the organization you are currently in. Item interface
rows for organizations other than your current organization are ignored.
2] Validate Items:
Yes: Validate all items and their data residing in the interface table that have not yet
been validated. If items are not validated, they will not be processed into Oracle
Inventory.
No: Do not validate items in the interface table.
3] Process Items:
Yes: All qualifying items in the interface table are inserted into Oracle Inventory.
No: Do not insert items into Oracle Inventory.
4] Delete Processed Rows:
Yes: Delete successfully processed items from the item interface tables.
No: Leave all rows in the item interface tables.

5] Process Set:
Enter a number for the set id for the set of rows you want to process. The program
picks up the rows marked with that id in the SET_PROCESS_ID column. If you leave
this field blank, all rows are picked up for processing regardless of the
SET_PROCESS_ID column value.
Working with failed interface rows:
If a row fails validation, the Item Interface sets the PROCESS_FLAG to 3
(Assign/validation failed) and inserts a row in the interface errors
table, MTL_INTERFACE_ERRORS. To identify the error message for the failed row, the
program automatically populates the TRANSACTION_ID column in this table with the
TRANSACTION_ID value from the corresponding item interface table.

The UNIQUE_ID column in MTL_INTERFACE_ERRORS is populated from the sequence


MTL_SYSTEM_ITEMS_INTERFACE_S. Thus, for a given row, the sequence of errors can
be determined by examining UNIQUE_ID for a given TRANSACTION_ID.

You should resolve errors in the sequence that they were found by the interface,
that is, in increasing order of UNIQUE_ID for any TRANSACTION_ID.
Resubmitting an Errored Row:
During Item Interface processing, rows can error out either due to validation
(indicated by PROCESS_FLAG = 3 in MTL_SYSTEM_ITEMS_INTERFACE and the
corresponding error in MTL_INTERFACE_ERRORS) or due to an Oracle Error.

When an Oracle Error is encountered, the processing is stopped and everything is


rolled back to the previous save point. This could be at PROCESS_FLAG = 1, 2, 3, or
4.

When you encounter rows errored out due to validations, you must first fix the row
corresponding to the error with the appropriate value. Then reset PROCESS_FLAG =
1, INVENTORY_ITEM_ID = null, and TRANSACTION_ID = null. Then resubmit the row
for reprocessing.
Useful Query:
01

Select

02

SEGMENT1,

03

DESCRIPTION,

04

PROCESS_FLAG,

05

SET_PROCESS_ID,

06

INVENTORY_ITEM_ID,

07

ORGANIZATION_ID,

08

ORGANIZATION_CODE,

09

CREATION_DATE,

10

ITEM_TYPE,

11

UNIT_OF_ISSUE,

12

TEMPLATE_ID,

13

TEMPLATE_NAME,

14

EXPENSE_ACCOUNT,

15

ENCUMBRANCE_ACCOUNT,

16

PRIMARY_UOM_CODE,

17

PRIMARY_UNIT_OF_MEASURE,

18

MIN_MINMAX_QUANTITY,

19

MAX_MINMAX_QUANTITY,

20

TAX_CODE,

21

REQUEST_ID

22

23
24

from

MTL_SYSTEM_ITEMS_INTERFACE
order by CREATION_DATE;

25

----------------------------

26

Select

27

ORGANIZATION_ID,

28

UNIQUE_ID,

29

REQUEST_ID ,

30

TABLE_NAME ,

31

COLUMN_NAME,

32

ERROR_MESSAGE

33

CREATION_DATE,

34

MESSAGE_TYPE

35
36

from
MTL_INTERFACE_ERRORS

37

order by CREATION_DATE;

Base tables that would be affected by MTL_SYSTEM_ITEMS_INTERFACE


MTL_SYSTEM_ITEMS_B
MTL_ITEM_REVISIONS_B
MTL_CATEGORIES_B
MTL_CATEGORY_SETS_B
MTL_ITEM_STATUS
MTL_ITEM_TEMPLATES
Required columns in MTL_ITEM_REVISIONS_INTERFACE table.
The table is only used if Item revision is to be loaded in the same run with IOI. If this
table is not used then items are created with the default revision setup for an
organization.
PROCESS_FLAG = 1
TRANSACTION_TYPE = 'CREATE'
SET_PROCESS_ID = any numeric value(Should be same for the item in
MTL_SYSTEM_ITEMS_INTERFACE table)
ORGANIZATION_ID/ORGANIZATION_CODE = Master/Child Org.
REVISION
EFFECTIVITY_DATE
IMPLEMENTATION_DATE
ITEM_NUMBER = Same as item_number in mtl_system_items_interface table.
Each row in the mtl_item_revisions_interface table must have the REVISION and
EFFECTIVITY_DATE in alphabetical (ASCII sort) and chronological order.
Required columns for MTL_ITEM_CATEGORIES_INTERFACE table
TRANSACTION_TYPE = 'CREATE'

SET_PROCESS_ID = any numeric value(Should be same for the item in

MTL_SYSTEM_ITEMS_INTERFACE table)
ORGANIZATION_ID/ORGANIZATION_CODE = Master/Child Org
ITEM_NUMBER/INVENTORY_ITEM_ID or both
CATEGORY_SET_NAME or CATEGORY_SET_NAME or both
CATEGORY_ID or CATEGORY_NAME or both
For performance purpose, it is advised to batch set of records using set_process_id
column and then run import program for that set_process_id. The item import(IOI)
program can be run in parallel if seperate set_process_ids are passed while
submitting. The IOI automatically separates Master records from Child, and
processes Master records first. However, as one IOI process is not aware of other
IOI processes running in parallel, do not split a given item's separate Organization
records into two different SET_PROCESS_IDs that are being run in parallel.
Item import program can be run in 2 modes INSERT & UPDATE.
The method to update Item attribute columns to NULL is to use the following values:
for Numeric fields: insert -999999
for Character fields: insert '!'

S-ar putea să vă placă și