0% found this document useful (0 votes)
35 views

Item Import Interface Documentation

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Item Import Interface Documentation

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

ITEM IMPORT INTERFACE WITH WEB-ADI

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

GOTO CREATE INTEGRATOR

5
CLICK NEXT

CLICK APPLY AND NEXT

SELECT INTERFACE AND CLICK NEXT

c. CREATING LOV

6
CREATE THE LOV FOR ORGANIZATION_ID

CREATE THE LOV FOR PRIMARY_UOM_CODE


CLICK NEXT

7
SELECT UPLOADER AS NONE AND CLICK NEXT

d. CREATING IMPORTER

SELECT IMPORTER TYPE AS PL/SQL API

DEFINE PL/SQL API CALL

8
CLICK APPLY

NOW CLICK TO SUBMIT

NOW THE INTEGRATOR HAS CREATED SUCCESSFULLY


e. CREATING LAYOUT
NAVIGATION : Desktop Integration -> Define Layout

9
SELECT INTEGRATOR

CLICK CREATE

DEFINE LAYOUT NAME AND NO. OF HEADERS

DEFINE THE LAYOUT PLACEMENT AND CLICK APPLY

NOW THE LAYOUT IS CREATED SUCCESSFULLY


f. CREATING DOCUMENT
NAVIGATION : Desktop Integration -> Create Document
10
DEFINE THE LAYOUT CONFIGURATIONS AND CLICK CREATE

OPEN THE FILE

THE DOCUMENT IS ACTIVE

11
g. UPLOADING DATA

ENTER THE DATA AND CLICK UPLOAD

CLICK UPLOAD

12
RECORDS UPLOADED SUCCESSFULLY

QUERY TO VERIFY THE RECORDS UPLOADED


II. WORKING ON IMPORTING PROCEDURE
a. CREATING TRIGGER FOR UPDATING WHO COLUMNS AND VALIDATING
THE ITEM ALREADY EXIST IN BASE TABLE
CREATE OR REPLACE TRIGGER UPDATE_WHO_COLUMNS
BEFORE INSERT ON MTL_SYSTEM_ITEMS_STG
FOR EACH ROW
DECLARE
LN_USER_ID NUMBER;
CHK_SEGMENT1 NUMBER := 0;
BEGIN
SELECT COUNT(*) INTO CHK_SEGMENT1 FROM
MTL_SYSTEM_ITEMS_INTERFACE WHERE SEGMENT1
= :NEW.SEGMENT1;
13
IF CHK_SEGMENT1 <> 0 THEN
RAISE_APPLICATION_ERROR(-20231,'Item already exist in base
table');
ELSE
-- Fetch the current user ID from FND_GLOBAL
LN_USER_ID := FND_GLOBAL.USER_ID;

-- 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

d. CHECKING IN INTERFACE TABLE

THE ITEMS ARE IMPORTED IN INTERFACE

17
III. IMPORTING TO BASE TABLE
NAVIGATION : JMS Inventory Super User -> view -> Requests

CLICK SUBMIT A NEW REQUEST

GIVE CONCURRENT NAME AS IMPORT ITEMS AND CLICK SUBMIT

18
CONCURRENT COMPLETED CHECK BASE TABLE TO CHECK THE ITEMS ARE
IMPORTED

THE DATA ARE IMPORTE ON BASE TABLE SUCCESSFULLY!!!

19

You might also like