Item Import Dibajyothi
Item Import Dibajyothi
Item Import Dibajyothi
18 Votes
This conversion is done for import items from any source into Oracle Inventory and Oracle Engineering.
Description:
When you import items through the Item Interface, you create new items in your item master organization or assign
existing items to additional organizations. You can specify values for all the item attributes, or you can specify just a
few attributes and let the remainder default or remain null. Here we are importing items with template.
Interface Table:
The interface table for Item Import is MTL_SYSTEM_ITEMS_INTERFACE and it contains every column in
the Inventory item master table, MTL_SYSTEM_ITEMS.
The columns in the item interface correspond directly to those in the item master table.
If you are importing revision details for your new items, you can use the
MTL_ITEM_REVISIONS_INTERFACE table. This table is used only for revision information, and is not
mandatory.
Required Data:
ITEM_NUMBER or SEGMENTn 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
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.
Please refer Oracle Manufacturing APIs and Open Interfaces Manual for more details.
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
ORGANIZATION_CODE
LAST_UPDATE_DATE
>sysdate
LAST_UPDATED_BY
>fnd_global.user_id
CREATION_DATE
>sysdate
CREATED_BY
>fnd_global.user_id
LAST_UPDATE_LOGIN
DESCRIPTION
SEGMENT1
PRIMARY_UOM_CODE
PRIMARY_UNIT_OF_MEASURE
ITEM_TYPE
>NULL
TEMPLATE_NAME
TEMPLATE_ID
MIN_MINMAX_QUANTITY
MAX_MINMAX_QUANTITY
LIST_PRICE_PER_UNIT
ITEM_CATALOG_GROUP_ID
SET_PROCESS_ID
>1
PROCESS_FLAG
>1
TRANSACTION_TYPE
>CREATE
>fnd_global.login_id
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.
3] Process Items:
Yes: All qualifying items in the interface table are inserted into Oracle Inventory.
Yes: Delete successfully processed items from 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.
Useful Query:
1
2
3
4
5
6
7
8
9
Select
SEGMENT1,
DESCRIPTION,
PROCESS_FLAG,
SET_PROCESS_ID,
INVENTORY_ITEM_ID,
ORGANIZATION_ID,
ORGANIZATION_CODE,
CREATION_DATE,
ITEM_TYPE,
UNIT_OF_ISSUE,
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
TEMPLATE_ID,
TEMPLATE_NAME,
EXPENSE_ACCOUNT,
ENCUMBRANCE_ACCOUNT,
PRIMARY_UOM_CODE,
PRIMARY_UNIT_OF_MEASURE,
MIN_MINMAX_QUANTITY,
MAX_MINMAX_QUANTITY,
TAX_CODE,
REQUEST_ID
from
MTL_SYSTEM_ITEMS_INTERFACE
order by CREATION_DATE;
---------------------------Select
ORGANIZATION_ID,
UNIQUE_ID,
REQUEST_ID ,
TABLE_NAME ,
COLUMN_NAME,
ERROR_MESSAGE
CREATION_DATE,
MESSAGE_TYPE
from
MTL_INTERFACE_ERRORS
order by CREATION_DATE;
2.
3.
4.
How to Import Item Costs Using the Item Open Interface (IOI) [ID 191376.1]
5.
6.
INCOIN: Basic Steps for Researching Failed Item Imports [ID 552683.1]
7.
8.
How To Prepare to Run Parallel Runs of the Item Import Interface INCOIN [ID 842767.1]
9.
Item Import Gives Error: The Default Primary Unit of Measure Is Invalid [ID 789927.1]
10.
Understanding Item Import and Debugging Problems with Item Import [ID 268968.1]
11.
How to create a Category Set and Assign Items to Categories [ID 423551.1]
12.
Item API Or Concurrent Manager, Which One Is Best For Item Creation? [ID 760498.1]
passed as 'Yes', and remain for diagnostic purposes if the parameter is passed as 'No'. When
the defining attribute for a Functional area is enabled, the proper default category set and
category is assigned to the Item.
Master Items were loaded before child records in MTL_SYSTEM_ITEMS.
Not Supported Issues
=========================================
Item Costs cannot be UPDATED (using "UPDATE" transaction_type) through the interface.
New Item revisions cannot be added to existing Items.
Current functionality does not support updates to a PTO MODEL ITEM through
the IOI update feature. See notes: 1076412.6 and 2121870.6 Updating Item Attributes to
NULL The method to update these columns to NULL is to use the following values:
1. for Numeric fields: insert -999999
2. for Character fields: insert '!'
3. for Date fields: the above list does not include any updateable date fields.
Importing Master and Child Records
==================================
The user procedures are as follows :
1. Populate the item interface tables (mtl_system_items_interface). This step is necessary if
you are creating items and categories in the same run. For importing item category
assignments for already existing items, you do not need to populate item interface table.
2. Populate the item categories interface table (mtl_item_categories_interface).
The user needs to populate the following mandatory columns in item categories interface
table:
A. Either inventory_item_id or item_number. When item and category are being imported
together, then user can only specify the item_number, since item id will be generated by the
import process.
B. Either organization_id or organization_code or both.
C. The transaction_type column should be 'CREATE'. We do not support 'UPDATE' or 'DELETE'
for item category assignment.
D. Either category_set_id or category_set_name or both.
E. Either category_id or category_name or both.
F. Process_flag column as 1.
G. Populate the set_process_id column. The item and category interface records should have
the same set_process_id, if you are importing item and category assignment together.
3. After populating the item and category interface tables, launch the Item Import process
from the applications. In the item import parameters form, for the parameter 'set process id',
specify the 'set process id' value given in the mtl_item_categories_interface table. The
parameter 'Create or Update' can have have any value. Through the import process, we can
only create item category assignment(s).
Updation or Deletion of item category assignment is not supported.
4. Once the concurrent process completes, check the mtl_interface_errors table for any
error(s) during the item and category import. Correct those error conditions in the interface
tables and run the item import again. If the process_flag is 7, that means the item category
interface records were successfully imported.
Revisions
==============================
Note: Using the ITEM_NUMBER column in the mtl_system_items_interface table is required if
you are populating revision data into the mtl_item_revisions_interface table. The value of the
ITEM_NUMBER must equal the concatenated segments(n) of the item being imported, plus
the segment separator. If you are not importing revision history you can populate either
ITEM_NUMBER or the SEGMENT(n) column(s) or both. For historical item revision data, do
NOT populate the REVISION column in the mtl_system_items_interface table. This column is
used only if the current revision of the item is being imported.
Populate these columns in the mtl_item_revisions_interface table:
PROCESS_FLAG = 1
TRANSACTION_TYPE = 'CREATE'
SET_PROCESS_ID = 1
ORGANIZATION_ID = Master Org ID.
REVISION
EFFECTIVITY_DATE
IMPLEMENTATION_DATE
ITEM_NUMBER = (Must match the 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.
Run the IOI process. Navigate --> Inventory: Items: Import Items
There are 6 parameters to enter to begin the process:
1. Specify one or all organizations.
2. Validate items, yes or no.
3. Process items, yes or no.
4. Delete processed rows, yes or no.
5. Process set (null for all)
6. Create or update items (1 for create, 2 for update)
Note: If you are importing Master and Child records, insert them into the
mtl_system_items_interface and mtl_item_revisions_interface tables, and run them at the
same time by setting the 'All organizations' parameter to 'Yes'. If you do not do this, then the
Child revision records will not be imported.
Error Checking:
======================================
When importing multiple revisions, if one record for an item fails validation, all revisions for
that item fail. Resolve failed rows by checking the mtl_interface_errors table.
SELECT table_name, column_name, error_message, message_name
FROM mtl_interface_errors;
Base tables:
MTL_SYSTEM_ITEMS_B
MTL_ITEM_REVISIONS_B
MTL_CATEGORIES_B
MTL_CATEGORY_SETS_B
MTL_ITEM_STATUS
MTL_ITEM_TEMPLATES
Concurrent program: Item Import
Validations: check for valid item type.
Check for valid part_id/segment of the source table.
Validate part_id/segment1 for master org.
Validate and translate template id of the source table.
Check for valid template id. (attributes are already set for items, default attributes for
that template, i.e., purchasable, stockable, etc)
Check for valid item status.
Validate primary uom of the source table.
Validate attribute values.
Validate other UOMs of the source table.
Check for unique item type. Discard the item, if part has non-unique item type.
Check for description, inv_um uniqueness
Validate organization id.
Load master records and category records only if all validations are passed.
Load child record if no error found.
Interface Tables Base Tables
MTL_SYSTEM_ITEMS_INTERFACE MTL_SYSTEM_ITEMS
MTL_TRANSACTIONS_INTERFACE
MTL_ITEM_REVISION_INTERFACE MTL_ITEM_REVISIONS
MTL_DEMAND_INTERFACE
MTL_ITEM_CATEGORIES_INTERFACE MTL_ITEM_CATEGORIES
MTL_CROSS_REFERENCES_INTERFACE MTL_CROSS_REFERENCES
On-hand quantity
Interface tables: MTL_TRANSACTIONS_INTERFACE
MTL_TRANSACTION_LOTS_INTERFACE
MTL_SERIAL_NUMBERS_INTERFACE
The Transaction Manager picks up the rows to process based on the LOCK_FLAG,
TRANSACTION_MODE, PROCESS_FLAG to manipulate the records in the table. Only records
with TRANSACTION_MODE of 3, LOCK_FLAG of '2', and PROCESS_FLAG of '1' will be picked up
by the Transaction Manager and assigned to a Transaction Worker. If a record fails to process
completely, then PROCESS_FLAG will be set to '3' and ERROR_CODE and
ERROR_EXPLANATION will be populated with the cause for the error.
Base tables: MTL_ON_HAND_QUANTITIES
MTL_LOT_NUMBERS MTL_SERIAL_NUMBERS
Concurrent program:
Validations: validate organization_id, organization_code.
4. Create a party site using party_id you get from step 2 and location_id from step 3.
HZ_PARTY_SITE_V2PUB.CREATE_PARTY_SITE()
HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE
5. Create an account site using account_id you get from step 2 and party_site_id from step 4.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_ACCT_SITE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_ACCT_SITE_REC_TYPE
6. Create an account site use using cust_acct_site_id you get from step 5 ans site_use_code
= BILL_TO.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE
Base table:
HZ_PARTIES
HZ_PARTY_SITES
HZ_LOCATIONS
HZ_CUST_ACCOUNTS
HZ_CUST_SITE_USES_ALL
HZ_CUST_ACCT_SITES_ALL
HZ_PARTY_SITE_USES
Validations: Check if legacy values fetched are valid.
Check if customer address site is already created.
Check if customer site use is already created.
Check is customer header is already created.
Check whether the ship_to_site has associated bill_to_site
Check whether associated bill_to_site is created or not.
Profile amounts validation: validate cust_account_id, validate customer status.
Check if the location already exists in HZ_LOCATIONS. If does not exist, create new location.
Auto Invoice interface
Interface tables: RA_INTERFACE_LINES_ALL
Base tables:
RA_CUSTOMER_TRX_ALL
RA_BATCHES
RA_CUSTOMER_TRX_LINES_ALL
AR_PAYMENT_SCHEDULES_ALL
RA_CUSTOMER_TRX_LINE_SALESREPS
RA_CUST_TRX_GL_DIST_ALL
AR_RECEIVABLES_APPLICATIONS
AR_ADJUSTMENTS
AR_CASH_RECEIPTS
RA_CUSTOMER_TRX_TYPES_ALL
Concurrent Program: Auto invoice master program
Validations: check for amount, batch source name, conversion rate, conversion type.
Validate orig_system_bill_customer_id, orig_system_bill_address_id, quantity.
Validate if the amount includes tax flag.
Receipt API
AR_RECEIPT_API_PUB.CREATE_CASH
AR_RECEIPT_API_PUB.CREATE_AND_APPLY
To bring in Unapplied Receipts and Conversion Receipts for Open Debit items to reduce the
balance to the original amount due.
Base tables: AR_CASH_RECEIPTS
Validations: check the currency and the exchange rate type to assign the exchange rate.
Validate bill to the customer.
Get bill to site use id.
Get the customer trx id for this particular transaction number.
Get payment schedule date for the customer trx id.
Lockbox interface
Interface tables: AR_PAYMENTS_INTERFACE_ALL (Import data from bank file )
Base tables: AR_INTERIM_CASH_RECEIPTS_ALL AR_INTERIM_CASH_RCPT_LINES_ALL (Validate
data in interface table and place in quick cash tables)
Related Tables: AR_BANK_ACCOUNTS_ALL AR_RECEIPT_METHODS
AR_TRANSMISSIONS_ALL HZ_CUST_ACCOUNTS HZ_CUST_SITE_USES_ALL AR_CASH_RECEIPTS
(POST QUICK CASH -- applies the receipts and updates customer balances)
Concurrent program: nav-> receivables->interfaces->lockbox
Validations: check for valid record type, transmission record id.
Validate sum of the payments within the transmission.
Identify the lockbox number (no given by a bank to identify a lockbox).
AP invoice interface
Interface tables: AP_INVOICES_INTERFACE AP_INVOICE_LINES_INTERFACE
Base tables: AP_INVOICES_ALL header information
AP_INVOICE_DISTRIBUTIONS_ALL lines info
Concurrent program: Payables Open Interface Import
Validations: check for valid vendor
Check for valid vendor site code.
Check if record already exists in payables interface table.
Vendor conversion/interface
No interface tables
Base tables: PO_VENDORS PO_VENDOR_SITES_ALL
No concurrent program as data is directly populated into base tables.
Validations: check if a vendor already exists with the same name as the TIMSS customer
mail name.
Check if the proper site code and id exists based on the site code from TIMSS.
Check for uppercase value of the vendor name existed in Oracle and in TIMSS, vendor name
is mixed case, a new Oracle vendor will not be created.
Purchasing:
Interface Tables Base Tables
PO_HEADERS_INTERFACE PO_HEADERS_ALL
PO_LINES_INTERFACE PO_LINES_ALL
PO_REQUISITIONS_INTERFACE_ALL PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
PO_REQ_DIST_INTERFACE_ALL PO_REQ_DISTRIBUTIONS_ALL
PO_DISTRIBUTIONS_INTERFACE PO_DISTRIBUTIONS_ALL
PO_RESCHEDULE_INTERFACE PO_REQUISITION_LINES_ALL
Requisition import
Interface tables: PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL
Basetables: PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
Concurrent program: REQUISITION IMPORT
Validations: check for interface transaction source code, requisition destination type.
Check for quantity ordered, authorization status type.
PO Receipts Interface
Interface tables:
RCV_HEADERS_INTERFACE
RCV_TRANSACTIONS_INTERFACE
Base tables:
RCV_SHIPMENT_HEADERS
RCV_SHIPMENT_LINES
RCV_TRANSACTIONS
Concurrent program: RECEIVING OPEN INTERFACE
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: