SELECT E.WIP_ENTITY_ID, E.WIP_ENTITY_NAME Job, M.SEGMENT1 ITEM, --M.INVENTORY_ITEM_ID, M.DESCRIPTION Item_Desc, D.DESCRIPTION JOB_DESCRIPTION, M.PRIMARY_UOM_CODE UOM, D.START_QUANTITY Start_Quantity, D.JOB_TYPE Job_Type, D.COMPLETION_SUBINVENTORY Subinventory, D.COMPLETION_LOCATOR_ID Compl_Loc_Id, D.BOM_REVISION BOM_Revision, D.BOM_REVISION_DATE BOM_REVISION_DATE, SUBSTR(TO_CHAR(D.BOM_REVISION_DATE,'HH24:MI'),1,5) BOM_TIME, D.SCHEDULED_START_DATE Scheduled_Start, SUBSTR(TO_CHAR(D.SCHEDULED_START_DATE,'HH24:MI'),1,5) START_TIME, LU.MEANING Status, D.ROUTING_REVISION Routing_Revision, D.ROUTING_REVISION_DATE ROUTING_REVISION_DATE, SUBSTR(TO_CHAR(D.ROUTING_REVISION_DATE,'HH24:MI'),1,5) ROUTING_TIME, D.SCHEDULED_COMPLETION_DATE Scheduled_Complete, SI2.DESCRIPTION Bill_Ref_Description, SI3.DESCRIPTION Rout_Ref_Description, SUBSTR(TO_CHAR(D.SCHEDULED_COMPLETION_DATE,'HH24:MI'),1,5) COMPLETION_TIME, SG.SCHEDULE_GROUP_NAME, D.BUILD_SEQUENCE, WL.LINE_CODE FROM MTL_SYSTEM_ITEMS_VL M, MTL_SYSTEM_ITEMS SI2, MTL_SYSTEM_ITEMS SI3, MFG_LOOKUPS LU, MTL_ITEM_LOCATIONS L, WIP_LINES WL, WIP_SCHEDULE_GROUPS SG, WIP_ENTITIES E, WIP_DISCRETE_JOBS D WHERE E.WIP_ENTITY_NAME='17303' AND E.ORGANIZATION_ID = 207 AND SG.SCHEDULE_GROUP_ID (+) = D.SCHEDULE_GROUP_ID AND SG.ORGANIZATION_ID(+) = D.ORGANIZATION_ID AND WL.LINE_ID (+) = D.LINE_ID AND WL.ORGANIZATION_ID (+) = D.ORGANIZATION_ID AND L.INVENTORY_LOCATION_ID(+) = NVL(D.COMPLETION_LOCATOR_ID,'-1') AND L.ORGANIZATION_ID (+) = D.ORGANIZATION_ID AND D.WIP_ENTITY_ID = E.WIP_ENTITY_ID AND M.INVENTORY_ITEM_ID(+) = E.PRIMARY_ITEM_ID AND LU.LOOKUP_TYPE = 'WIP_JOB_STATUS' AND LU.LOOKUP_CODE = D.STATUS_TYPE --AND D.STATUS_TYPE IN (1,3,4,6) AND E.ENTITY_TYPE in (1,5) AND D.ORGANIZATION_ID = 207 AND M.ORGANIZATION_ID(+) = 207 AND SI2.ORGANIZATION_ID (+) = 207 AND SI3.ORGANIZATION_ID (+) = 207 AND SI2.INVENTORY_ITEM_ID (+) = D.BOM_REFERENCE_ID AND SI3.INVENTORY_ITEM_ID (+) = D.ROUTING_REFERENCE_ID ORDER BY 1 /
SELECT WRO.WIP_ENTITY_ID WIP_Entity_ID, SI.SEGMENT1 ITEM, SI.DESCRIPTION CI_Description, WRO.OPERATION_SEQ_NUM CI_Op_Seq, SI.PRIMARY_UOM_CODE CI_UOM, WRO.REQUIRED_QUANTITY Required_Quantity, WRO.QUANTITY_ISSUED Quantity_Issued, ( SELECT NVL(SUM(OHQD.PRIMARY_TRANSACTION_QUANTITY),0) FROM MTL_ONHAND_QUANTITIES_DETAIL OHQD WHERE OHQD.ORGANIZATION_ID = WRO.ORGANIZATION_ID AND OHQD.INVENTORY_ITEM_ID = WRO.INVENTORY_ITEM_ID ) Quantity_On_Hand, WRO.DATE_REQUIRED Date_Required, ( SELECT ML1.MEANING FROM MFG_LOOKUPS ML1 WHERE ML1.LOOKUP_TYPE = 'SYS_YES_NO' AND ML1.LOOKUP_CODE = WRO.MRP_NET_FLAG ) MRP_Net, ( SELECT ML2.MEANING FROM MFG_LOOKUPS ML2 WHERE ML2.LOOKUP_TYPE = 'WIP_SUPPLY_SHORT' AND ML2.LOOKUP_CODE = WRO.WIP_SUPPLY_TYPE ) CI_Supply_Type, WRO.SUPPLY_SUBINVENTORY Subinv, ( SELECT WRO.SUPPLY_LOCATOR_ID FROM MTL_ITEM_LOCATIONS IL WHERE IL.INVENTORY_LOCATION_ID = WRO.SUPPLY_LOCATOR_ID AND IL.ORGANIZATION_ID = WRO.ORGANIZATION_ID ) C_Supply_Loc_Data FROM MTL_SYSTEM_ITEMS_VL SI, WIP_REQUIREMENT_OPERATIONS WRO WHERE WRO.WIP_ENTITY_ID = 31649 AND WRO.ORGANIZATION_ID = 207 AND SI.ORGANIZATION_ID = 207 AND SI.INVENTORY_ITEM_ID = WRO.INVENTORY_ITEM_ID AND WRO.WIP_SUPPLY_TYPE <> 6 ORDER BY 1,2 /
Query to find WIP Job operations
SELECT DJ.WIP_ENTITY_ID WIP_Entity_ID, WO.OPERATION_SEQ_NUM Op_Seq, BD.DEPARTMENT_CODE Department, ML1.MEANING Count_Point_Type, ML2.MEANING Backflush, TO_CHAR(WO.LAST_UNIT_COMPLETION_DATE) Op_Cmpl_Date, TO_CHAR(WO.LAST_UNIT_COMPLETION_DATE, 'HH24:MI') Op_Cmpl_Time, WO.SCHEDULED_QUANTITY Op_Scheduled_Qty, (WO.QUANTITY_IN_QUEUE + WO.QUANTITY_RUNNING + WO.QUANTITY_WAITING_TO_MOVE + WO.QUANTITY_REJECTED + WO.QUANTITY_SCRAPPED) Qty_In_Operation, WO.QUANTITY_COMPLETED Op_Qty_Completed, WO.DESCRIPTION Description FROM MFG_LOOKUPS ML1, MFG_LOOKUPS ML2, BOM_DEPARTMENTS BD, WIP_DISCRETE_JOBS DJ, WIP_OPERATIONS WO, WIP_ENTITIES WE WHERE WO.WIP_ENTITY_ID = 31649 AND WO.ORGANIZATION_ID = 207 AND DJ.ORGANIZATION_ID = 207 AND BD.ORGANIZATION_ID = 207 AND DJ.WIP_ENTITY_ID = WO.WIP_ENTITY_ID AND DJ.WIP_ENTITY_ID = WE.WIP_ENTITY_ID AND WO.DEPARTMENT_ID = BD.DEPARTMENT_ID AND ML1.LOOKUP_TYPE = 'BOM_COUNT_POINT_TYPE' AND ML1.LOOKUP_CODE = WO.COUNT_POINT_TYPE AND ML2.LOOKUP_TYPE = 'SYS_YES_NO' AND ML2.LOOKUP_CODE = WO.BACKFLUSH_FLAG ORDER BY WO.OPERATION_SEQ_NUM /
SELECT DJ.WIP_ENTITY_ID WIP_Entity_ID, WOR.OPERATION_SEQ_NUM R_Op_Seq, WOR.RESOURCE_SEQ_NUM Res_Seq, WOR.SCHEDULE_SEQ_NUM Sched_Seq, BR.RESOURCE_CODE Res_Name, WOR.UOM_CODE Res_Uom, ML1.MEANING Basis_Type, WOR.USAGE_RATE_OR_AMOUNT Usage_Rate, NVL(WOR.ASSIGNED_UNITS,0) Assigned_Units, ML2.MEANING Scheduled, CA.ACTIVITY Activity, ML3.MEANING Autocharge, ML4.MEANING Standard_Rate, DECODE(WOR.BASIS_TYPE,1,WOR.USAGE_RATE_OR_AMOUNT * DJ.START_QUANTITY,2,WOR.USAGE_RATE_OR_AMOUNT) Standard_Units, WOR.APPLIED_RESOURCE_UNITS Units_Applied FROM MFG_LOOKUPS ML1, MFG_LOOKUPS ML2, MFG_LOOKUPS ML3, MFG_LOOKUPS ML4, BOM_RESOURCES BR, CST_ACTIVITIES CA, WIP_OPERATION_RESOURCES WOR, WIP_DISCRETE_JOBS DJ, WIP_ENTITIES WE WHERE WOR.WIP_ENTITY_ID = 31649 AND WOR.ORGANIZATION_ID = 207 AND DJ.ORGANIZATION_ID = 207 AND BR.ORGANIZATION_ID = 207 AND DJ.WIP_ENTITY_ID = WOR.WIP_ENTITY_ID AND DJ.WIP_ENTITY_ID = WE.WIP_ENTITY_ID AND WOR.RESOURCE_ID = BR.RESOURCE_ID AND WOR.ACTIVITY_ID = CA.ACTIVITY_ID (+) AND ML1.LOOKUP_TYPE = 'CST_BASIS' AND ML1.LOOKUP_CODE = WOR.BASIS_TYPE AND ML2.LOOKUP_TYPE = 'BOM_RESOURCE_SCHEDULE_TYPE' AND ML2.LOOKUP_CODE = WOR.SCHEDULED_FLAG AND ML3.LOOKUP_TYPE = 'BOM_AUTOCHARGE_TYPE' AND ML3.LOOKUP_CODE = WOR.AUTOCHARGE_TYPE AND ML4.LOOKUP_TYPE = 'SYS_YES_NO' AND ML4.LOOKUP_CODE = WOR.STANDARD_RATE_FLAG ORDER BY WOR.OPERATION_SEQ_NUM, WOR.RESOURCE_SEQ_NUM /
SELECT DJ.WIP_ENTITY_ID WIP_Entity_ID, WRV.DEMAND_SOURCE_LINE_NUMBER CR_Line, WRV.DEMAND_CLASS_CODE Reservation_Demand_Class, WRV.PRIMARY_QUANTITY Reserved_Primary_Qty, WRV.PRIMARY_UOM_CODE Reserved_Primary_UOM, WRV.RESERVED_LINE_UOM_QUANTITY Reserved_Line_Qty, WRV.ORDER_LINE_UOM_CODE Reserved_Line_UOM FROM MTL_SALES_ORDERS MS, WIP_DISCRETE_JOBS DJ, WIP_RESERVATIONS_V WRV, WIP_ENTITIES WE WHERE WRV.WIP_ENTITY_ID = 31649 AND WRV.ORGANIZATION_ID = 207 AND DJ.ORGANIZATION_ID = 207 AND DJ.WIP_ENTITY_ID = WRV.WIP_ENTITY_ID AND DJ.WIP_ENTITY_ID = WE.WIP_ENTITY_ID AND MS.SALES_ORDER_ID = WRV.DEMAND_SOURCE_HEADER_ID ORDER BY WRV.DEMAND_SOURCE_LINE_NUMBER
Some Basic WIP Related Queries
1.BOM
SELECT * FROM BOM_STRUCTURES_B WHERE ASSEMBLY_ITEM_ID = 242956;
SELECT * FROM BOM_COMPONENTS_B
WHERE BILL_SEQUENCE_ID in (SELECT BILL_SEQUENCE_ID FROM bom_structures_b WHERE ASSEMBLY_ITEM_ID = 242956);
SQL Scripts to print BOM Hierarchy
refer: http://blog.csdn.net/pan_tian/article/details/8003586
2.Routing
SELECT * FROM BOM_OPERATIONAL_ROUTINGS WHERE ASSEMBLY_ITEM_ID = 242956;
SELECT * FROM BOM_OPERATION_SEQUENCES
WHERE ROUTING_SEQUENCE_ID IN (SELECT ROUTING_SEQUENCE_ID FROM BOM_OPERATIONAL_ROUTINGS WHERE ASSEMBLY_ITEM_ID = 242956);
3.WIP
SELECT * FROM WIP_ENTITIES WHERE WIP_ENTITY_NAME = 'pt_job01';
SELECT * FROM WIP_DISCRETE_JOBS WHERE WIP_ENTITY_ID = (SELECT WIP_ENTITY_ID FROM WIP_ENTITIES WHERE WIP_ENTITY_NAME = 'pt_job01') ;
SELECT * FROM WIP_REQUIREMENT_OPERATIONS WHERE WIP_ENTITY_ID = (SELECT WIP_ENTITY_ID FROM WIP_ENTITIES WHERE WIP_ENTITY_NAME = 'pt_job01');
SELECT * FROM WIP_TRANSACTIONS WHERE WIP_ENTITY_ID = 751074
SELECT * FROM WIP_OPERATIONS WHERE WIP_ENTITY_ID = 751074
SELECT * FROM WIP_OPERATION_RESOURCES WHERE WIP_ENTITY_ID = 751074
Oracle官方提供一个wipjob11i.sql脚本,这个脚本基本可以把一个Discrete Job相关的所有数据都抓出来。
Discrete Job/EAM Work Order Diagnostic script wipjob11i.sql [ID 316142.1]
部分脚本摘自:http://snroracle.blogspot.jp/2012/09/wip-job-related-scripts.html