1.應用環境:12.0.6
2.業務需求:部分產品在生產過程根據特殊訂單需要增加一項指標(測試),導致與實際工時變差比較大, 決定啟用替代工藝。具體操作替代工序就是把標準工藝路線第一工序產能和人數不同,其他工序 不變。
3.測試過程:
由於之前在11i,曾經進行過類似的匯入,所以就想測試已經一路PASS, 先把Routing,Operations,Resource分別匯入介面表,然後運行《清單和工藝路線介面》程式, 總是提示如下:Entity: RES. Row Identifier: 1577786. Entity index: 1. Table Name: BOM_OP_RESOURCES_INTERFACE.
在工序序號 10 不存在時,您不能更新或刪除工序資源。
Resource為預設標準工序裡面資源,手動進行刪除,在把Resource進行insert 到介面表,
還是報同樣錯誤,資源也沒有匯入。推測可能是標準工序代碼原因,儘管把參考沒有勾選。
從oracle網站下載兩個文檔進行參考,感覺這樣操作,沒有什麼問題呀?
於是換一種思路是先匯入Routing&Opertion,運行介面程式,在對要修改Resource進行update,
再運行介面程式,沒有問題了。 4.後台匯入程式Script:----Routing
INSERT INTO BOM_OP_ROUTINGS_INTERFACE
(
ORGANIZATION_ID,
--BOR.ORGANIZATION_CODE,
ASSEMBLY_ITEM_ID,
--BOR.ASSEMBLY_ITEM_NUMBER,
ALTERNATE_ROUTING_DESIGNATOR,
PROCESS_FLAG,
TRANSACTION_TYPE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
)
SELECT BOR.ORGANIZATION_ID,
--BOR.ORGANIZATION_CODE,
BOR.ASSEMBLY_ITEM_ID,
--BOR.ASSEMBLY_ITEM_NUMBER,
'SXH',--BOR.ALTERNATE_ROUTING_DESIGNATOR,
1,--BOR.PROCESS_FLAG,
'CREATE',--BOR.TRANSACTION_TYPE,
SYSDATE,--BOR.CREATION_DATE,
0,--BOR.CREATED_BY,
SYSDATE,--BOR.LAST_UPDATE_DATE,
0,--BOR.LAST_UPDATED_BY,
-1--BOR.LAST_UPDATE_LOGIN
FROM BOM_OPERATIONAL_ROUTINGS BOR
WHERE BOR.ASSEMBLY_ITEM_ID=5843;--- Operations--
INSERT INTO BOM_OP_SEQUENCES_INTERFACE
(
ORGANIZATION_ID,
--ORGANIZATION_CODE,
ASSEMBLY_ITEM_ID,
-- ASSEMBLY_ITEM_NUMBER,
ALTERNATE_ROUTING_DESIGNATOR,
OPERATION_SEQ_NUM,
STANDARD_OPERATION_ID,
--OPERATION_CODE,
REFERENCE_FLAG,
--DEPARTMENT_CODE,
EFFECTIVITY_DATE,
PROCESS_FLAG,
TRANSACTION_TYPE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
)
SELECT
BOR.ORGANIZATION_ID,
--BOS.ORGANIZATION_CODE,
BOR.ASSEMBLY_ITEM_ID,
-- BOS.ASSEMBLY_ITEM_NUMBER,
'SXH',--BOS.ALTERNATE_ROUTING_DESIGNATOR,
BOS.OPERATION_SEQ_NUM,
BOS.STANDARD_OPERATION_ID,
--BOS.OPERATION_CODE,
BOS.REFERENCE_FLAG,
--BOS.DEPARTMENT_CODE,
SYSDATE,--BOS.EFFECTIVITY_DATE,
1,--BOS.PROCESS_FLAG,
'CREATE',--BOS.TRANSACTION_TYPE,
SYSDATE,--BOS.CREATION_DATE,
0,--BOS.CREATED_BY,
SYSDATE,--BOS.LAST_UPDATE_DATE,
0,--BOS.LAST_UPDATED_BY,
-1--BOS.LAST_UPDATE_LOGIN
FROM BOM_OPERATION_SEQUENCES BOS,
BOM_OPERATIONAL_ROUTINGS BOR
WHERE 1=1
AND BOR.ALTERNATE_ROUTING_DESIGNATOR IS NULL
AND BOR.ROUTING_SEQUENCE_ID =BOS.ROUTING_SEQUENCE_ID
AND ((TO_CHAR(BOS.EFFECTIVITY_DATE,'yyyy-mm-dd')<=TO_CHAR(SYSDATE,'yyyy-mm-dd')
AND (BOS.DISABLE_DATE IS NULL OR TO_CHAR(BOS.DISABLE_DATE,'yyyy-mm-dd')>=TO_CHAR(SYSDATE,'yyyy-mm-dd'))
) OR (TO_CHAR(BOS.EFFECTIVITY_DATE,'yyyy-mm-dd')>=TO_CHAR(SYSDATE,'yyyy-mm-dd')))
AND BOR.ASSEMBLY_ITEM_ID=5843;------Resources--INSERT INTO BOM_OP_RESOURCES_INTERFACE
(
ORGANIZATION_ID,
--ORGANIZATION_CODE,
ASSEMBLY_ITEM_ID,
--BORE.ASSEMBLY_ITEM_NUMBER,
ALTERNATE_ROUTING_DESIGNATOR,
--ROUTING_SEQUENCE_ID,
OPERATION_SEQUENCE_ID,
OPERATION_SEQ_NUM,
RESOURCE_SEQ_NUM,
RESOURCE_ID,
RESOURCE_CODE,
BASIS_TYPE,
USAGE_RATE_OR_AMOUNT,
ASSIGNED_UNITS,
/*SCHEDULE_FLAG,
AUTOCHARGE_TYPE, */
EFFECTIVITY_DATE,
PROCESS_FLAG,
TRANSACTION_TYPE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
)
SELECT
BOR.ORGANIZATION_ID,
--BORE.ORGANIZATION_CODE,
BOR.ASSEMBLY_ITEM_ID,
--BORE.ASSEMBLY_ITEM_NUMBER,
BOR.ALTERNATE_ROUTING_DESIGNATOR,
--BOS.ROUTING_SEQUENCE_ID,
BOS.OPERATION_SEQUENCE_ID,
BOS.OPERATION_SEQ_NUM,
BORE.RESOURCE_SEQ_NUM,
BORE.RESOURCE_ID,
BORE.RESOURCE_CODE,
BORE.BASIS_TYPE,
0.21645,--BORE.USAGE_RATE_OR_AMOUNT,
13,--BORE.ASSIGNED_UNITS,
/*BORE.SCHEDULE_FLAG,
BORE.AUTOCHARGE_TYPE, */
SYSDATE,--BORE.EFFECTIVITY_DATE,
1,--BORE.PROCESS_FLAG,
'UPDATE',--BORE.TRANSACTION_TYPE,
SYSDATE,--BORE.CREATION_DATE,
0,--BORE.CREATED_BY,
SYSDATE,--BORE.LAST_UPDATE_DATE,
0,--BORE.LAST_UPDATED_BY,
-1--BORE.LAST_UPDATE_LOGIN
FROM BOM_OPERATION_RESOURCES_V BORE,
BOM_OPERATION_SEQUENCES BOS,
BOM_OPERATIONAL_ROUTINGS BOR
WHERE 1=1
AND BOS.OPERATION_SEQUENCE_ID=BORE.OPERATION_SEQUENCE_ID
AND BOR.ALTERNATE_ROUTING_DESIGNATOR IS NOT NULL
AND BOR.ROUTING_SEQUENCE_ID =BOS.ROUTING_SEQUENCE_ID
AND ((TO_CHAR(BOS.EFFECTIVITY_DATE,'yyyy-mm-dd')<=TO_CHAR(SYSDATE,'yyyy-mm-dd')
AND (BOS.DISABLE_DATE IS NULL OR TO_CHAR(BOS.DISABLE_DATE,'yyyy-mm-dd')>=TO_CHAR(SYSDATE,'yyyy-mm-dd'))
) OR (TO_CHAR(BOS.EFFECTIVITY_DATE,'yyyy-mm-dd')>=TO_CHAR(SYSDATE,'yyyy-mm-dd')))
AND BOR.ASSEMBLY_ITEM_ID=5843