Item Import Interface Documentation
Item Import Interface Documentation
OBJECTIVE:
To import inventory item to the respective organization through Staging
table (custom table).
The data in the staging table are to be created in excel style sheet and
uploaded to staging table with the help of web-adi.
Some of the validations are need to be done in terms of pushing values into
interface tables
After that the respective concurrent program are need to be executed in
order to move the data in interface table to base tables.
FLOW DIAGRAM:
STAGING TABLE
WEB-ADI INTERFACE TABLE BASE TABLE
(CUSTOM TABLE)
REQUIREMENTS:
INTERFACE TABLES
o MTL_SYSTEM_ITEMS_INTERFACE
BASE TABLES
o MTL_SYSTEM_ITEMS
PROCESS FLOW:
Creating Web-adi for data uploading.
Creating Package for pushing staging table data to interface table.
Running concurrent program to executing migration to base table.
1
I. WORKING ON WEB-ADI
a. CREATING STAGING TABLE AND PACKAGE TO INSERT VALUES
i. TABLE
CREATE TABLE MTL_ITEMS_STG (
ORGANIZATION_ID NUMBER
, CREATION_DATE DATE DEFAULT SYSDATE
, CREATED_BY NUMBER
, DESCRIPTION VARCHAR2(100)
, SEGMENT1 VARCHAR2(100)
, PRIMARY_UOM_CODE VARCHAR2(10)
, PRIMARY_UNIT_OF_MEASURE VARCHAR2(10)
, INVENTORY_ITEM_STATUS_CODE VARCHAR2(10) DEFAULT ‘Active’
, ITEM_TYPE VARCHAR2(10)
, PROCESS_FLAG VARCHAR2(1) DEFAULT ‘R’
, PROCESS_MESSAGE VARCHAR2(100) DEFAULT ‘Ready to import’
);
ii. PACKAGE
-- PACKAGE HEADER
CREATE OR REPLACE PACKAGE MTL_SYSTEM_ITEMS_PKG AS
PROCEDURE MTL_ITEM_DEF_PROC (
P_ORGANIZATION_ID NUMBER,
P_DESCRIPTION VARCHAR2,
P_SEGMENT1 VARCHAR2,
P_PRIMARY_UOM_CODE VARCHAR2,
P_PRIMARY_UNIT_OF_MEASURE VARCHAR2,
P_INVENTORY_ITEM_STATUS_CODE VARCHAR2,
P_ITEM_TYPE VARCHAR2
);
END MTL_SYSTEM_ITEMS_PKG;
/
2
--PACKAGE BODY
CREATE OR REPLACE PACKAGE BODY MTL_SYSTEM_ITEMS_PKG AS
PROCEDURE MTL_ITEM_DEF_PROC (
P_ORGANIZATION_ID NUMBER,
P_DESCRIPTION VARCHAR2,
P_SEGMENT1 VARCHAR2,
P_PRIMARY_UOM_CODE VARCHAR2,
P_PRIMARY_UNIT_OF_MEASURE VARCHAR2,
P_INVENTORY_ITEM_STATUS_CODE VARCHAR2,
P_ITEM_TYPE VARCHAR2
) IS
BEGIN
INSERT INTO MTL_SYSTEM_ITEMS_STG (
ORGANIZATION_ID,
DESCRIPTION,
SEGMENT1,
PRIMARY_UOM_CODE,
PRIMARY_UNIT_OF_MEASURE,
INVENTORY_ITEM_STATUS_CODE,
ITEM_TYPE
) VALUES (
P_ORGANIZATION_ID,
P_DESCRIPTION,
P_SEGMENT1,
P_PRIMARY_UOM_CODE,
P_PRIMARY_UNIT_OF_MEASURE,
P_INVENTORY_ITEM_STATUS_CODE,
P_ITEM_TYPE
);
END MTL_ITEM_DEF_PROC;
END MTL_SYSTEM_ITEMS_PKG;
3
OUTPUT:
b. CREATING INTEGRATOR
PREREQUISITE: Must know the application for that particular
responsibility
RESPONSIBILITY: System administrator
NAVIGATION: Security -> Responsibility -> Define
APPLICATION: Inventory
4
RESPONSIBILITY: Desktop Integration Manager
5
CLICK NEXT
c. CREATING LOV
6
CREATE THE LOV FOR ORGANIZATION_ID
7
SELECT UPLOADER AS NONE AND CLICK NEXT
d. CREATING IMPORTER
8
CLICK APPLY
9
SELECT INTEGRATOR
CLICK CREATE
11
g. UPLOADING DATA
CLICK UPLOAD
12
RECORDS UPLOADED SUCCESSFULLY
-- Set the CREATION_DATE and CREATED_BY fields for the new row
:NEW.CREATION_DATE := SYSDATE;
:NEW.CREATED_BY := LN_USER_ID;
END IF;
END;
/
b. CREATING IMPORTING PROCEDURE
DECLARE
chk_org NUMBER := 0;
CURSOR c1 IS
SELECT
*
FROM
mtl_system_items_stg b
WHERE
b.process_flag = 'R';
BEGIN
FOR I IN c1 LOOP
SELECT
COUNT(*)
INTO
14
chk_org
FROM
mtl_parameters
WHERE
organization_id = I.organization_id;
IF
chk_org = 0
THEN
UPDATE mtl_system_items_stg
SET
process_flag = 'E',
process_message = 'Invalid organization id'
WHERE
segment1 = i.segment1
and process_flag = 'R';
COMMIT;
ELSE
dbms_output.put_line('ORG ID VALIDATED');
INSERT INTO mtl_system_items_interface (
organization_id,
last_update_date,
creation_date,
created_by,
DESCRIPTION,
segment1,
primary_uom_code,
primary_unit_of_measure,
15
inventory_item_status_code,
item_type,
set_process_id,
transaction_type,
process_flag
) VALUES (
I.organization_id,
sysdate,
I.creation_date,
I.created_by,
I.DESCRIPTION,
I.segment1,
I.primary_uom_code,
I.primary_unit_of_measure,
I.inventory_item_status_code,
I.item_type,
1,
'CREATE',
1
);
COMMIT;
UPDATE mtl_system_items_stg
SET
process_flag = 'S',
process_message = 'Success'
WHERE
process_flag = 'R';
16
COMMIT;
END IF;
COMMIT;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
UPDATE mtl_system_items_stg
SET
process_flag = 'E',
process_message = 'SQLERRM'
WHERE
process_flag = 'R'
AND
TRUNC(creation_date) = sysdate;
END;
/
c. EXECUTING AND VERIFYING ITEM IMPORTED OR RESULT ERROR
17
III. IMPORTING TO BASE TABLE
NAVIGATION : JMS Inventory Super User -> view -> Requests
18
CONCURRENT COMPLETED CHECK BASE TABLE TO CHECK THE ITEMS ARE
IMPORTED
19