Вы находитесь на странице: 1из 14

CREATE OR REPLACE PROCEDURE Y_ITEM_INTERFACE AS

CURSOR C_ITEM IS SELECT * FROM YUVA_ITEM_STG WHERE PROCESSED_FLAG='N';


CURSOR C_MASTER IS SELECT * FROM YUAV_ITEM_STG WHERE ORGANIZATION_CODE=MASTER_OR
GANIZATION_CODE WHERE PROCESSED_FLAG='Y'
V_MASTER_ORG VARCHAR2(30);
BEGIN
FOR C_ITEM_REC IN C_ITEM
LOOP
SELECT MP1.ORGANIZATION_CODE INTO V_MASTER_ORG
FROM MTL_PARAMETERS MP1,MTL_PARAMETERS MP2
WHERE MP1.ORGANIZATION_ID=MP2.MASTER_ORGANIZATION_ID
AND MP2.ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE;
UPDATE YUVA_ITEM_STG
SET MASTER_ORGANIZATION_CODE =V_MASTER_ORG
WHERE ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE
AND
SEGMENT1=C_ITEM_REC.SEGMENT1;
END LOOP;
END;
FOR CURSOR C_ITEM_REC IN C_ITEM
LOOP
IF ()
CREATE OR REPLACE FUNCTION Y_ITEM_CHECK (Y_ORG VARCHAR,Y_ITEM VARCHAR) RETURN VA
RCHAR AS
V_MASTER_ID NUMBER ;
V_COUNT NUMBER;
BEGIN
SELECT MASTER_ORGANIZATION_ID INTO V_MASTER_ID FROM MTL_PARAMETERS WHERE ORGANIZ
ATION_CODE=Y_ORG;
SELECT COUNT(*) INTO V_COUNT FROM MTL_SYSTEM_ITEMS_B WHERE ORGANIZATION_ID=V_MAS
TER_ID AND SEGMENT1=Y_ITEM;
IF V_COUNT>0 THEN
DBMS_OUTPUT.PUT_LINE('ITEM EXIST');
RETURN 'Y';
ELSE

DBMS_OUTPUT.PUT_LINE('ITEM NOT EXIST');


RETURN 'N';
END IF;
END;
CREATE TABLE salary(e_no NUMBER,e_name VARCHAR2(30),e_salary NUMBER)
SELECT * FROM salary
INSERT INTO salary VALUES (4,'jhon',10000)
SELECT * FROM bom_system
SELECT REPLACE(ATTRIBUTE_NAME,'MTL_SYSTEM_ITEMS.','') "YY"
FROM MTL_ITEM_ATTRIBUTES
WHERE ATTRIBUTE_NAME LIKE 'MTL_SYSTEM_ITEMS.DESCRIPTION%'
MTL_SYSTEM_ITEMS.DESCRIPTION
REPLACE ()
SELECT * FROM REN_ITEM_STAGING
SELECT * FROM YUVA_ITEM_STG
SELECT * FROM YUVA_ITEM_STG
UPDATE YUVA_ITEM_STG SET PROCESSED_FLAG='N', ERROR_MESSAGE=''
UPDATE YUVA_ITEM_STG SET MASTER_ORGANIZATION_CODE =''

CREATE OR REPLACE PROCEDURE Y_ITEM_INTERFACE AS


CURSOR C_ITEM IS SELECT * FROM YUVA_ITEM_STG WHERE PROCESSED_FLAG='N';
CURSOR C_MAS IS SELECT * FROM YUVA_ITEM_STG WHERE ORGANIZATION_CODE=MASTER_ORGAN
IZATION_CODE AND PROCESSED_FLAG='Y';
CURSOR C_CHILD IS SELECT * FROM REN_ITEM_STAGING WHERE ORGANIZATION_CODE <> MAST
ER_ORGANIZATION_CODE AND PROCESSED_FLAG='Y';
V_MASTER_ORG VARCHAR2(30);
V_PROCESS_FLAG VARCHAR2(10);
V_ERROR_MSG VARCHAR2(200);
V_MASTER_COUNT NUMBER;
V_TXN_TYPE VARCHAR2(50);
V_C_TXN_TYPE VARCHAR2(50);

BEGIN
FOR C_ITEM_REC IN C_ITEM
LOOP
SELECT MP1.ORGANIZATION_CODE INTO V_MASTER_ORG
FROM MTL_PARAMETERS MP1,MTL_PARAMETERS MP2
WHERE MP1.ORGANIZATION_ID=MP2.MASTER_ORGANIZATION_ID
AND MP2.ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE;
UPDATE YUVA_ITEM_STG
SET MASTER_ORGANIZATION_CODE =V_MASTER_ORG
WHERE ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE
AND
SEGMENT1=C_ITEM_REC.SEGMENT1;
END LOOP;

FOR C_ITEM_REC IN C_ITEM


LOOP
IF (C_ITEM_REC.ORGANIZATION_CODE=C_ITEM_REC.MASTER_ORGANIZATION_CODE)
AND
Y_ITEM_CHECK(C_ITEM_REC.ORGANIZATION_CODE,C_ITEM_REC.SEGMENT1)='N'
AND
C_ITEM_REC.TEMPLATE_NAME IS NULL
THEN
V_PROCESS_FLAG:='E';
V_ERROR_MSG:='ITEM NOT CREATE POSSIBLE WITH OUT TEMPLATE';
ELSIF
(C_ITEM_REC.ORGANIZATION_CODE<>C_ITEM_REC.MASTER_ORGANIZATION_CODE)AND
Y_ITEM_CHECK
(C_ITEM_REC.ORGANIZATION_CODE,C_ITEM_REC.SEGMENT1)='N'
AND
Y_ITEM_CHECK
(V_MASTER_ORG,C_ITEM_REC.SEGMENT1)='N'
THEN
SELECT COUNT(*) INTO V_MASTER_COUNT FROM YUVA_ITEM_STG
WHERE
SEGMENT1=C_ITEM_REC.SEGMENT1
AND
ORGANIZATION_CODE=C_ITEM_REC.MASTER_ORGANIZATION_CODE;
IF V_MASTER_COUNT = 0
THEN
V_PROCESS_FLAG := 'E';
V_ERROR_MSG := 'MASTER ITEM DATA NOT FOUND IN DATA FILE';
ELSIF

V_MASTER_COUNT >0
AND
C_ITEM_REC.TEMPLATE_NAME IS NULL
THEN
V_PROCESS_FLAG:= 'E';
V_ERROR_MSG := 'MASTER ITEM FOUND WITHOUT TEMPLATE IN DATA FILE';
ELSE
V_PROCESS_FLAG := 'Y';
V_ERROR_MSG := '';
END IF;
ELSE
V_PROCESS_FLAG := 'Y';
V_ERROR_MSG := '';
END IF;
UPDATE YUVA_ITEM_STG
SET PROCESSED_FLAG = V_PROCESS_FLAG,
ERROR_MESSAGE = V_ERROR_MSG
WHERE SEGMENT1=C_ITEM_REC.SEGMENT1
AND ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE;
END LOOP;
FOR C_MAS_REC IN C_MAS
LOOP
----TXN=CREATE, IF MASTERM,NOT IN BASE TBL
IF

(C_MAS_REC.ORGANIZ

ATION_CODE= C_MAS_REC.ORGANIZATION_CODE ) AND


REN_ITEM
_CHK(C_MAS_REC.ORGANIZATION_CODE,C_MAS_REC.SEGMENT1)='N' AND
C_MAS_RE
C.TEMPLATE_NAME IS NOT NULL
THEN
V_TXN_TY
PE :='CREATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_TXN_TYPE);
ELSIF (C_MAS_REC.ORGANIZATION_CODE=C_MAS_REC.MAST
ER_ORGANIZATION_CODE) AND
REN_ITEM_CHK(C_MAS_REC.O
RGANIZATION_CODE,C_MAS_REC.SEGMENT1)='Y'
THEN

V_TXN_TYPE :='
UPDATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_TXN_TYPE);
END IF;
---DBMS_OUTPUT.PUT_LINE('INSERT----MASTER--'||C_MAS_REC.SEGMENT1||'-------'||C_MAS_
REC.ORGANIZATION_CODE||'-------'||V_TXN_TYPE);
END LOOP;
FOR C_CHILD_REC IN C_CHILD
LOOP
IF ( C_CHILD_REC.ORGANIZATION_
<> C_CHILD_REC.MASTER_ORGANIZATION_CODE ) AND
REN_ITEM_CHK(C_CHILD_REC.ORGAN
IZATION_CODE , C_CHILD_REC.SEGMENT1)='Y'
THEN
V_C_TXN_TYPE:='UPDATE';
CODE

ELSIF ( C_CHILD_REC.ORGANIZATI
<> C_CHILD_REC.MASTER_ORGANIZATION_CODE ) AND
REN_ITEM_CHK(C_CHILD_REC.ORGAN
IZATION_CODE , C_CHILD_REC.SEGMENT1)='N'
THEN
ON_CODE

V_C_TXN_TYPE:='CREATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_R
EC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_CODE||'-------'||V_C_TXN_TYPE);
END IF;
DBMS_OUTPUT.PUT_LINE('INSERT----CHILD--'||C_CHILD_REC.SEGMENT1||'-------'|| C_CH
ILD_REC.ORGANIZATION_CODE||'-------'||V_TXN_TYPE);
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_C_TXN_TYPE);

END LOOP;
END;

CREATE OR REPLACE PROCEDURE Y_ITEM_INTERFACE AS

CURSOR C_ITEM IS SELECT * FROM YUVA_ITEM_STG WHERE PROCESSED_FLAG='N';


CURSOR C_MAS IS SELECT * FROM YUVA_ITEM_STG WHERE ORGANIZATION_CODE=MASTER_ORGAN
IZATION_CODE AND PROCESSED_FLAG='Y';
CURSOR C_CHILD IS SELECT * FROM YUVA_ITEM_STG WHERE ORGANIZATION_CODE <> MASTER_
ORGANIZATION_CODE AND PROCESSED_FLAG='Y';
V_MASTER_ORG VARCHAR2(30);
V_PROCESS_FLAG VARCHAR2(10);
V_ERROR_MSG VARCHAR2(200);
V_MASTER_COUNT NUMBER;
V_TXN_TYPE VARCHAR2(50);
V_C_TXN_TYPE VARCHAR2(50);

BEGIN
FOR C_ITEM_REC IN C_ITEM
LOOP
SELECT MP1.ORGANIZATION_CODE INTO V_MASTER_ORG
FROM MTL_PARAMETERS MP1,MTL_PARAMETERS MP2
WHERE MP1.ORGANIZATION_ID=MP2.MASTER_ORGANIZATION_ID
AND MP2.ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE;
UPDATE YUVA_ITEM_STG
SET MASTER_ORGANIZATION_CODE =V_MASTER_ORG
WHERE ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE
AND
SEGMENT1=C_ITEM_REC.SEGMENT1;
END LOOP;

FOR C_ITEM_REC IN C_ITEM


LOOP
IF (C_ITEM_REC.ORGANIZATION_CODE=C_ITEM_REC.MASTER_ORGANIZATION_CODE)
AND
Y_ITEM_CHECK(C_ITEM_REC.ORGANIZATION_CODE,C_ITEM_REC.SEGMENT1)='N'
AND
C_ITEM_REC.TEMPLATE_NAME IS NULL
THEN
V_PROCESS_FLAG:='E';
V_ERROR_MSG:='ITEM NOT CREATE POSSIBLE WITH OUT TEMPLATE';
ELSIF
(C_ITEM_REC.ORGANIZATION_CODE<>C_ITEM_REC.MASTER_ORGANIZATION_CODE)AND
Y_ITEM_CHECK
(C_ITEM_REC.ORGANIZATION_CODE,C_ITEM_REC.SEGMENT1)='N'
AND
Y_ITEM_CHECK

(V_MASTER_ORG,C_ITEM_REC.SEGMENT1)='N'
THEN
SELECT COUNT(*) INTO V_MASTER_COUNT FROM YUVA_ITEM_STG
WHERE
SEGMENT1=C_ITEM_REC.SEGMENT1
AND
ORGANIZATION_CODE=C_ITEM_REC.MASTER_ORGANIZATION_CODE;
IF V_MASTER_COUNT = 0
THEN
V_PROCESS_FLAG := 'E';
V_ERROR_MSG := 'MASTER ITEM DATA NOT FOUND IN DATA FILE';
ELSIF
V_MASTER_COUNT >0
AND
C_ITEM_REC.TEMPLATE_NAME IS NULL
THEN
V_PROCESS_FLAG:= 'E';
V_ERROR_MSG := 'MASTER ITEM FOUND WITHOUT TEMPLATE IN DATA FILE';
ELSE
V_PROCESS_FLAG := 'Y';
V_ERROR_MSG := '';
END IF;
ELSE
V_PROCESS_FLAG := 'Y';
V_ERROR_MSG := '';
END IF;
UPDATE YUVA_ITEM_STG
SET PROCESSED_FLAG = V_PROCESS_FLAG,
ERROR_MESSAGE = V_ERROR_MSG
WHERE SEGMENT1=C_ITEM_REC.SEGMENT1
AND ORGANIZATION_CODE=C_ITEM_REC.ORGANIZATION_CODE;
END LOOP;
FOR C_MAS_REC IN C_MAS
LOOP
----TXN=CREATE, IF MASTERM,NOT IN BASE TBL
IF

(C_MAS_REC.ORGANIZ

ATION_CODE= C_MAS_REC.ORGANIZATION_CODE ) AND


REN_ITEM
_CHK(C_MAS_REC.ORGANIZATION_CODE,C_MAS_REC.SEGMENT1)='N' AND
C_MAS_RE

C.TEMPLATE_NAME IS NOT NULL


THEN
V_TXN_TY
PE :='CREATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_TXN_TYPE);
ELSIF (C_MAS_REC.ORGANIZATION_CODE=C_MAS_REC.MAST
ER_ORGANIZATION_CODE) AND
REN_ITEM_CHK(C_MAS_REC.O
RGANIZATION_CODE,C_MAS_REC.SEGMENT1)='Y'
THEN
V_TXN_TYPE :='
UPDATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_TXN_TYPE);
END IF;
---DBMS_OUTPUT.PUT_LINE('INSERT----MASTER--'||C_MAS_REC.SEGMENT1||'-------'||C_MAS_
REC.ORGANIZATION_CODE||'-------'||V_TXN_TYPE);
INSERT INTO MTL_SYSTEM_ITEMS_INTERFACE(SEGMENT1,
ORGANIZATION_CODE,
TEMPLATE_NAME,
STOCK_ENABLED_FLAG,
UNIT_WEIGHT,
WEIGHT_UOM_CODE,
COMMS_NL_TRACKABLE_FLAG,
INTERNAL_ORDER_FLAG,
INVOICEABLE_ITEM_FLAG,
MATERIAL_BILLABLE_FLAG,
REPLENISH_TO_ORDER_FLAG,
SERIAL_NUMBER_CONTROL_CODE,
DEFAULT_SO_SOURCE_TYPE,
CUSTOMER_ORDER_FLAG,
CUSTOMER_ORDER_ENABLED_FLAG,
BUILD_IN_WIP_FLAG,
BOM_ITEM_TYPE,
BOM_ENABLED_FLAG,
BASE_ITEM_ID,
ATP_RULE_ID,
ACCOUNTING_RULE_ID,
SO_TRANSACTIONS_FLAG,
SHIPPABLE_ITEM_FLAG,
SERV_BILLING_ENABLED_FLAG,
RETURNABLE_FLAG,
RETURN_INSPECTION_REQUIREMENT,
PURCHASING_ITEM_FLAG,
PURCHASING_ENABLED_FLAG,
ITEM_TYPE,
DOWNLOADABLE_FLAG,
DESCRIPTION,
INVENTORY_ITEM_STATUS_CODE,
SERVICEABLE_PRODUCT_FLAG,

INVOICING_RULE_ID,
INVOICE_ENABLED_FLAG,
INTERNAL_ORDER_ENABLED_FLAG,
IB_ITEM_INSTANCE_CLASS,
SOURCE_SUBINVENTORY,
WIP_SUPPLY_SUBINVENTORY,
SOURCE_ORGANIZATION_ID,
PLANNER_CODE,
MTL_TRANSACTIONS_ENABLED_FLAG,
MRP_SAFETY_STOCK_PERCENT,
MRP_SAFETY_STOCK_CODE,
MRP_CALCULATE_ATP_FLAG,
MIN_MINMAX_QUANTITY,
MAX_MINMAX_QUANTITY,
LOT_CONTROL_CODE,
LIST_PRICE_PER_UNIT,
SALES_ACCOUNT,
SAFETY_STOCK_BUCKET_DAYS,
RESERVABLE_TYPE,
RECEIVING_ROUTING_ID,
RECEIPT_REQUIRED_FLAG,
PREPROCESSING_LEAD_TIME,
POSTPROCESSING_LEAD_TIME,
PLANNING_MAKE_BUY_CODE,
LEAD_TIME_LOT_SIZE,
FIXED_LEAD_TIME,
EXPENSE_ACCOUNT,
DEFAULT_SHIPPING_ORG,
CYCLE_COUNT_ENABLED_FLAG,
CUMULATIVE_TOTAL_LEAD_TIME,
CUM_MANUFACTURING_LEAD_TIME,
COSTING_ENABLED_FLAG,
COST_OF_SALES_ACCOUNT,
ATP_FLAG,
ATO_FORECAST_CONTROL,
ALLOW_ITEM_DESC_UPDATE_FLAG,
REVISION_QTY_CONTROL_CODE,
PRIMARY_UOM_CODE,
INVENTORY_PLANNING_CODE,
INVENTORY_ASSET_FLAG,
INSPECTION_REQUIRED_FLAG,
FULL_LEAD_TIME,
DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
WIP_SUPPLY_TYPE,
VARIABLE_LEAD_TIME,
UN_NUMBER_ID,
SOURCE_TYPE,
PRIMARY_UNIT_OF_MEASURE,
TRANSACTION_TYPE,
SET_PROCESS_ID)
VALUES
(C_MAS_REC.SEGMENT1,
C_MAS_REC.ORGANIZATION_CODE,
C_MAS_REC.TEMPLATE_NAME,
C_MAS_REC.STOCK_ENABLED_FLAG,
C_MAS_REC.UNIT_WEIGHT,
C_MAS_REC.WEIGHT_UOM_CODE,
C_MAS_REC.COMMS_NL_TRACKABLE_FLAG,
C_MAS_REC.INTERNAL_ORDER_FLAG,
C_MAS_REC.INVOICEABLE_ITEM_FLAG,

C_MAS_REC.MATERIAL_BILLABLE_FLAG,
C_MAS_REC.REPLENISH_TO_ORDER_FLAG,
C_MAS_REC.SERIAL_NUMBER_CONTROL_CODE,
C_MAS_REC.DEFAULT_SO_SOURCE_TYPE,
C_MAS_REC.CUSTOMER_ORDER_FLAG,
C_MAS_REC.CUSTOMER_ORDER_ENABLED_FLAG,
C_MAS_REC.BUILD_IN_WIP_FLAG,
C_MAS_REC.BOM_ITEM_TYPE,
C_MAS_REC.BOM_ENABLED_FLAG,
C_MAS_REC.BASE_ITEM_ID,
C_MAS_REC.ATP_RULE_ID,
C_MAS_REC.ACCOUNTING_RULE_ID,
C_MAS_REC.SO_TRANSACTIONS_FLAG,
C_MAS_REC.SHIPPABLE_ITEM_FLAG,
C_MAS_REC.SERV_BILLING_ENABLED_FLAG,
C_MAS_REC.RETURNABLE_FLAG,
C_MAS_REC.RETURN_INSPECTION_REQUIREMENT,
C_MAS_REC.PURCHASING_ITEM_FLAG,
C_MAS_REC.PURCHASING_ENABLED_FLAG,
C_MAS_REC.ITEM_TYPE,
C_MAS_REC.DOWNLOADABLE_FLAG,
C_MAS_REC.DESCRIPTION,
C_MAS_REC.INVENTORY_ITEM_STATUS_CODE,
C_MAS_REC.SERVICEABLE_PRODUCT_FLAG,
C_MAS_REC.INVOICING_RULE_ID,
C_MAS_REC.INVOICE_ENABLED_FLAG,
C_MAS_REC.INTERNAL_ORDER_ENABLED_FLAG,
C_MAS_REC.IB_ITEM_INSTANCE_CLASS,
C_MAS_REC.SOURCE_SUBINVENTORY,
C_MAS_REC.WIP_SUPPLY_SUBINVENTORY,
C_MAS_REC.SOURCE_ORGANIZATION_ID,
C_MAS_REC.PLANNER_CODE,
C_MAS_REC.MTL_TRANSACTIONS_ENABLED_FLAG,
C_MAS_REC.MRP_SAFETY_STOCK_PERCENT,
C_MAS_REC.MRP_SAFETY_STOCK_CODE,
C_MAS_REC.MRP_CALCULATE_ATP_FLAG,
C_MAS_REC.MIN_MINMAX_QUANTITY,
C_MAS_REC.MAX_MINMAX_QUANTITY,
C_MAS_REC.LOT_CONTROL_CODE,
C_MAS_REC.LIST_PRICE_PER_UNIT,
C_MAS_REC.SALES_ACCOUNT,
C_MAS_REC.SAFETY_STOCK_BUCKET_DAYS,
C_MAS_REC.RESERVABLE_TYPE,
C_MAS_REC.RECEIVING_ROUTING_ID,
C_MAS_REC.RECEIPT_REQUIRED_FLAG,
C_MAS_REC.PREPROCESSING_LEAD_TIME,
C_MAS_REC.POSTPROCESSING_LEAD_TIME,
C_MAS_REC.PLANNING_MAKE_BUY_CODE,
C_MAS_REC.LEAD_TIME_LOT_SIZE,
C_MAS_REC.FIXED_LEAD_TIME,
C_MAS_REC.EXPENSE_ACCOUNT,
C_MAS_REC.DEFAULT_SHIPPING_ORG,
C_MAS_REC.CYCLE_COUNT_ENABLED_FLAG,
C_MAS_REC.CUMULATIVE_TOTAL_LEAD_TIME,
C_MAS_REC.CUM_MANUFACTURING_LEAD_TIME,
C_MAS_REC.COSTING_ENABLED_FLAG,
C_MAS_REC.COST_OF_SALES_ACCOUNT,
C_MAS_REC.ATP_FLAG,
C_MAS_REC.ATO_FORECAST_CONTROL,
C_MAS_REC.ALLOW_ITEM_DESC_UPDATE_FLAG,

C_MAS_REC.REVISION_QTY_CONTROL_CODE,
C_MAS_REC.PRIMARY_UOM_CODE,
C_MAS_REC.INVENTORY_PLANNING_CODE,
C_MAS_REC.INVENTORY_ASSET_FLAG,
C_MAS_REC.INSPECTION_REQUIRED_FLAG,
C_MAS_REC.FULL_LEAD_TIME,
C_MAS_REC.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
C_MAS_REC.WIP_SUPPLY_TYPE,
C_MAS_REC.VARIABLE_LEAD_TIME,
C_MAS_REC.UN_NUMBER_ID,
C_MAS_REC.SOURCE_TYPE,
C_MAS_REC.PRIMARY_UNIT_OF_MEASURE,
V_TXN_TYPE,
555);
END LOOP;
FOR C_CHILD_REC IN C_CHILD
LOOP
IF ( C_CHILD_REC.ORGANIZATION_
<> C_CHILD_REC.MASTER_ORGANIZATION_CODE ) AND
REN_ITEM_CHK(C_CHILD_REC.ORGAN
IZATION_CODE , C_CHILD_REC.SEGMENT1)='Y'
THEN
V_C_TXN_TYPE:='UPDATE';
CODE

ELSIF ( C_CHILD_REC.ORGANIZATI
<> C_CHILD_REC.MASTER_ORGANIZATION_CODE ) AND
REN_ITEM_CHK(C_CHILD_REC.ORGAN
IZATION_CODE , C_CHILD_REC.SEGMENT1)='N'
THEN
ON_CODE

V_C_TXN_TYPE:='CREATE';
--DBMS_OUTPUT.PUT_LINE(C_ITEM_R
EC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_CODE||'-------'||V_C_TXN_TYPE);
END IF;
DBMS_OUTPUT.PUT_LINE('INSERT----CHILD--'||C_CHILD_REC.SEGMENT1||'-------'|| C_CH
ILD_REC.ORGANIZATION_CODE||'-------'||V_TXN_TYPE);
--DBMS_OUTPUT.PUT_LINE(C_ITEM_REC.SEGMENT1||'-------'||C_ITEM_REC.ORGANIZATION_C
ODE||'-------'||V_C_TXN_TYPE);
INSERT INTO MTL_SYSTEM_ITEMS_INTERFACE(SEGMENT1,
ORGANIZATION_CODE,
TEMPLATE_NAME,
SOURCE_SUBINVENTORY,
WIP_SUPPLY_SUBINVENTORY,
SOURCE_ORGANIZATION_ID,
PLANNER_CODE,
MTL_TRANSACTIONS_ENABLED_FLAG,
MRP_SAFETY_STOCK_PERCENT,
MRP_SAFETY_STOCK_CODE,

MRP_CALCULATE_ATP_FLAG,
MIN_MINMAX_QUANTITY,
MAX_MINMAX_QUANTITY,
LOT_CONTROL_CODE,
LIST_PRICE_PER_UNIT,
SALES_ACCOUNT,
SAFETY_STOCK_BUCKET_DAYS,
RESERVABLE_TYPE,
RECEIVING_ROUTING_ID,
RECEIPT_REQUIRED_FLAG,
PREPROCESSING_LEAD_TIME,
POSTPROCESSING_LEAD_TIME,
PLANNING_MAKE_BUY_CODE,
LEAD_TIME_LOT_SIZE,
FIXED_LEAD_TIME,
EXPENSE_ACCOUNT,
DEFAULT_SHIPPING_ORG,
CYCLE_COUNT_ENABLED_FLAG,
CUMULATIVE_TOTAL_LEAD_TIME,
CUM_MANUFACTURING_LEAD_TIME,
COSTING_ENABLED_FLAG,
COST_OF_SALES_ACCOUNT,
ATP_FLAG,
ATO_FORECAST_CONTROL,
ALLOW_ITEM_DESC_UPDATE_FLAG,
REVISION_QTY_CONTROL_CODE,
PRIMARY_UOM_CODE,
INVENTORY_PLANNING_CODE,
INVENTORY_ASSET_FLAG,
INSPECTION_REQUIRED_FLAG,
FULL_LEAD_TIME,
DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
WIP_SUPPLY_TYPE,
VARIABLE_LEAD_TIME,
UN_NUMBER_ID,
SOURCE_TYPE,
PRIMARY_UNIT_OF_MEASURE,
TRANSACTION_TYPE,
SET_PROCESS_ID)
VALUES
(C_CHILD_REC.SEGMENT1,
C_CHILD_REC.ORGANIZATION_CODE,
C_CHILD_REC.TEMPLATE_NAME,
C_CHILD_REC.SOURCE_SUBINVENTORY,
C_CHILD_REC.WIP_SUPPLY_SUBINVENTORY,
C_CHILD_REC.SOURCE_ORGANIZATION_ID,
C_CHILD_REC.PLANNER_CODE,
C_CHILD_REC.MTL_TRANSACTIONS_ENABLED_FLAG,
C_CHILD_REC.MRP_SAFETY_STOCK_PERCENT,
C_CHILD_REC.MRP_SAFETY_STOCK_CODE,
C_CHILD_REC.MRP_CALCULATE_ATP_FLAG,
C_CHILD_REC.MIN_MINMAX_QUANTITY,
C_CHILD_REC.MAX_MINMAX_QUANTITY,
C_CHILD_REC.LOT_CONTROL_CODE,
C_CHILD_REC.LIST_PRICE_PER_UNIT,
C_CHILD_REC.SALES_ACCOUNT,
C_CHILD_REC.SAFETY_STOCK_BUCKET_DAYS,
C_CHILD_REC.RESERVABLE_TYPE,
C_CHILD_REC.RECEIVING_ROUTING_ID,
C_CHILD_REC.RECEIPT_REQUIRED_FLAG,

C_CHILD_REC.PREPROCESSING_LEAD_TIME,
C_CHILD_REC.POSTPROCESSING_LEAD_TIME,
C_CHILD_REC.PLANNING_MAKE_BUY_CODE,
C_CHILD_REC.LEAD_TIME_LOT_SIZE,
C_CHILD_REC.FIXED_LEAD_TIME,
C_CHILD_REC.EXPENSE_ACCOUNT,
C_CHILD_REC.DEFAULT_SHIPPING_ORG,
C_CHILD_REC.CYCLE_COUNT_ENABLED_FLAG,
C_CHILD_REC.CUMULATIVE_TOTAL_LEAD_TIME,
C_CHILD_REC.CUM_MANUFACTURING_LEAD_TIME,
C_CHILD_REC.COSTING_ENABLED_FLAG,
C_CHILD_REC.COST_OF_SALES_ACCOUNT,
C_CHILD_REC.ATP_FLAG,
C_CHILD_REC.ATO_FORECAST_CONTROL,
C_CHILD_REC.ALLOW_ITEM_DESC_UPDATE_FLAG,
C_CHILD_REC.REVISION_QTY_CONTROL_CODE,
C_CHILD_REC.PRIMARY_UOM_CODE,
C_CHILD_REC.INVENTORY_PLANNING_CODE,
C_CHILD_REC.INVENTORY_ASSET_FLAG,
C_CHILD_REC.INSPECTION_REQUIRED_FLAG,
C_CHILD_REC.FULL_LEAD_TIME,
C_CHILD_REC.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
C_CHILD_REC.WIP_SUPPLY_TYPE,
C_CHILD_REC.VARIABLE_LEAD_TIME,
C_CHILD_REC.UN_NUMBER_ID,
C_CHILD_REC.SOURCE_TYPE,
C_CHILD_REC.PRIMARY_UNIT_OF_MEASURE,
V_C_TXN_TYPE,
555);
END LOOP;
END;
SELECT REPLACE(ATTRIBUTE_NAME,'MTL_SYSTEM_ITEMS.','') "ATTRIBUTE_NAME",
CONTROL_LEVEL
FROM
MTL_ITEM_ATTRIBUTES
WHERE
REPLACE(ATTRIBUTE_NAME,'MTL_SYSTEM_ITEMS.','')
IN
(SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE
TABLE_NAME='YUVA_
ITEM_STG') ORDER BY 2
SELECT * FROM YUVA_ITEM_STG
UPDATE YUVA_ITEM_STG SET SEGMENT1='YUV_'||SEGMENT1
ROLLBACK
SELECT * FROM MTL_SYSTEM_ITEMS_INTERFACE WHERE SET_PROCESS_ID=555
7

--13186,1734

SELECT EXPENSE_ACCOUNT FROM MTL_SYSTEM_ITEMS WHERE ORGANIZATION_ID=5432


UPDATE YUVA_ITEM_STG SET SALES_ACCOUNT='17347'
DELETE MTL_SYSTEM_ITEMS_INTERFACE WHERE SET_PROCESS_ID=555

SELECT * FROM YUVA_ITEM_STG


ROLLBACK
UPDATE YUVA_ITEM_STG SET ITEM_TYPE=''
ROLLBACK
SELECT * FROM MTL_SYSTEM_ITEMS_INTERFACE WHERE SET_PROCESS_ID=555
7

--13186,1734

SELECT EXPENSE_ACCOUNT FROM MTL_SYSTEM_ITEMS WHERE ORGANIZATION_ID=5432

UPDATE MTL_SYSTEM_ITEMS_INTERFACE SET PROCESS_FLAG=1 WHERE SET_PROCESS_ID=555


ROLLBACK
DELETE MTL_SYSTEM_ITEMS_INTERFACE WHERE SET_PROCESS_ID=555
ROLLBACK
UPDATE YUVA_ITEM_STG SET PROCESSED_FLAG='N',ERROR_MESSAGE='' , MASTER_ORGANIZATI
ON_CODE=''
COMMIT
SELECT SEGMENT1,ORGANIZATION_CODE,TEMPLATE_NAME,PROCESSED_FLAG,ERROR_MESSAGE FRO
M YUVA_ITEM_STG

Вам также может понравиться