Академический Документы
Профессиональный Документы
Культура Документы
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;
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
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;
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;
(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
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
--13186,1734