您好,登錄后才能下訂單哦!
這篇文章主要介紹“Oracle中怎么創建WIP任務單”,在日常操作中,相信很多人在Oracle中怎么創建WIP任務單問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Oracle中怎么創建WIP任務單”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
系統版本:
RDBMS : 9.2.0.6.0
Oracle 應用產品 : 11.5.10.2
1.根據裝配件自動創建任務
Declare l_iface_rec wip.wip_job_schedule_interface%ROWTYPE; --任務單--組件 l_GroupId Number := 123456; l_OrganizationId Number :=122; l_UserId Number:=0;Begin --*****Start任務單裝配件*****---- l_iface_rec.last_update_date := SYSDATE; l_iface_rec.last_updated_by := l_UserId; l_iface_rec.creation_date := SYSDATE; l_iface_rec.created_by := l_UserId; l_iface_rec.last_update_login := fnd_profile.value('LOGIN_ID'); l_iface_rec.group_id := l_GroupId; l_iface_rec.load_type := 1; l_iface_rec.process_phase := 2; l_iface_rec.process_status := 1; --1為未發放(UnReleased),3為創建任務單以后狀態自動已發放(Released) l_iface_rec.status_type := 3; --1 UnReleased/3 Released 需要開會計期 --默認為Y,若為Y時,則無須把組件、工序和資源等等數據插入接口表WIP.WIP_JOB_SCHEDULE_INTERFACE。 --若為N時,則需要往接口表表WIP.WIP_JOB_SCHEDULE_INTERFACE插入組件、工序和資源等等數據 l_iface_rec.allow_explosion := 'Y'; --任務單名稱 l_iface_rec.job_name := 'TEST131112_001'; --組織標識 l_iface_rec.organization_id := l_OrganizationId; --裝配件標識 l_iface_rec.primary_item_id := 463235; --開始數量 l_iface_rec.start_quantity := 435; --開始日期 l_iface_rec.first_unit_start_date := SYSDATE; --任務單來源 自定義 l_iface_rec.source_code := 'WIPPLAN'; --來源標識 自定義 l_iface_rec.source_line_id := 0; --題頭標識 自定義 l_iface_rec.Header_Id := 3452; l_iface_rec.first_unit_start_date := Sysdate; l_iface_rec.First_Unit_Completion_Date := Null; l_iface_rec.last_unit_start_date := Null; l_iface_rec.last_unit_completion_date := Sysdate; INSERT INTO WIP.WIP_JOB_SCHEDULE_INTERFACE VALUES l_iface_rec; --*****End 任務單裝配件*****----End;
2.手工創建任務單(組件、工序和資源)如下:
Declare --任務單 l_iface_rec wip.wip_job_schedule_interface%ROWTYPE; --任務單-組件 l_CompRec wip.wip_job_dtls_interface%ROWTYPE; --任務單-工序 l_OpRec wip.wip_job_dtls_interface%ROWTYPE; --任務單-資源 l_ResRec WIP.WIP_JOB_DTLS_INTERFACE%ROWTYPE; l_GroupId Number := 123456; l_OrganizationId Number := 122; l_UserId Number := 0;Begin --*****Start任務單裝配件*****---- l_iface_rec.last_update_date := SYSDATE; l_iface_rec.last_updated_by := l_UserId; l_iface_rec.creation_date := SYSDATE; l_iface_rec.created_by := l_UserId; l_iface_rec.last_update_login := fnd_profile.value('LOGIN_ID'); l_iface_rec.group_id := l_GroupId; l_iface_rec.load_type := 1; l_iface_rec.process_phase := 2; l_iface_rec.process_status := 1; --1為未發放(UnReleased),3為創建任務單以后狀態自動已發放(Released) l_iface_rec.status_type := 3; --1 UnReleased/3 Released 需要開會計期 --默認為Y,若為Y時,則無須把組件、工序和資源等等數據插入接口表WIP.WIP_JOB_SCHEDULE_INTERFACE。 --若為N時,則需要往接口表表WIP.WIP_JOB_SCHEDULE_INTERFACE插入組件、工序和資源等等數據 l_iface_rec.allow_explosion := 'N'; --任務單名稱 l_iface_rec.job_name := 'TEST131112_001'; --組織標識 l_iface_rec.organization_id := l_OrganizationId; --裝配件標識 l_iface_rec.primary_item_id := 463235; --開始數量 l_iface_rec.start_quantity := 435; --開始日期 l_iface_rec.first_unit_start_date := SYSDATE; --任務單來源 自定義 l_iface_rec.source_code := 'WIPPLAN'; --來源標識 自定義 l_iface_rec.source_line_id := 0; --題頭標識 自定義 l_iface_rec.Header_Id := 3452; l_iface_rec.first_unit_start_date := Sysdate; l_iface_rec.First_Unit_Completion_Date := Null; l_iface_rec.last_unit_start_date := Null; l_iface_rec.last_unit_completion_date := Sysdate; INSERT INTO WIP.WIP_JOB_SCHEDULE_INTERFACE VALUES l_iface_rec; --*****End 任務單裝配件*****---- --*****Start 任務單組件*****--- --可以添加、刪除或修改多個組件 --工序 WIP_REQUIREMENT_OPERATIONS.OPERATION_SEQ_NUM l_CompRec.OPERATION_SEQ_NUM := 10; --舊組件 l_CompRec.INVENTORY_ITEM_ID_OLD := Rs.Inventory_Item_Id_Old; --新組件 新增時必輸項 l_CompRec.INVENTORY_ITEM_ID_NEW := Rs.Inventory_Item_Id_New; --主要 每個裝配件 WIP_REQUIREMENT_OPERATIONS.QUANTITY_PER_ASSEMBLY l_CompRec.QUANTITY_PER_ASSEMBLY := Rs.Quantity_Per_Assembly; --主要 部門 WIP_REQUIREMENT_OPERATIONS.DEPARTMENT_ID l_CompRec.DEPARTMENT_ID := Rs.Department_Id; --供應 類型 WIP_REQUIREMENT_OPERATIONS.WIP_SUPPLY_TYPE l_CompRec.WIP_SUPPLY_TYPE := Rs.Wip_Supply_Type; --主要 需求日期 WIP_REQUIREMENT_OPERATIONS.DATE_REQUIRED l_CompRec.DATE_REQUIRED := Sysdate; --供應 子庫存 WIP_REQUIREMENT_OPERATIONS.SUPPLY_SUBINVENTORY l_CompRec.SUPPLY_SUBINVENTORY := Rs.Supply_Subinventory; --供應 貨位標識 WIP_REQUIREMENT_OPERATIONS.SUPPLY_LOCATOR_ID l_CompRec.SUPPLY_LOCATOR_ID := Rs.Supply_Locator_Id; --是否MRP凈需求,默認值為1 WIP_REQUIREMENT_OPERATIONS.MRP_NET_FLAG l_CompRec.MRP_NET_FLAG := Rs.Mrp_Net_Flag; --主需求計劃數量 WIP_REQUIREMENT_OPERATIONS.Mps_Required_Quantity l_CompRec.MPS_REQUIRED_QUANTITY := Rs.Mps_Required_Quantity; --主需求計劃日期 WIP_REQUIREMENT_OPERATIONS.MPS_DATE_REQUIRED l_CompRec.MPS_DATE_REQUIRED := Rs.Mps_Date_Required; --當是組件接口數據時,其值必須為2 l_CompRec.LOAD_TYPE := 2; --與創建任務單題頭的相同:WIP.WIP_JOB_SCHEDULE_INTERFACE.HEADER_ID l_CompRec.PARENT_HEADER_ID := 3452; --組件-備注 WIP_REQUIREMENT_OPERATIONS.COMMENTS l_CompRec.DESCRIPTION := '測試組件'; l_CompRec.LAST_UPDATE_DATE := Sysdate; l_CompRec.LAST_UPDATED_BY := l_UserId; l_CompRec.CREATION_DATE := Sysdate; l_CompRec.CREATED_BY := l_UserId; l_CompRec.LAST_UPDATE_LOGIN := fnd_profile.value('LOGIN_ID'); l_CompRec.Process_Phase := 2; --默認值 l_CompRec.Process_Status := 1; --默認值 l_CompRec.Group_Id := l_GroupId; /* 刪除:wip_job_details.WIP_DELETE默認為1 新增:wip_job_details.wip_add默認值為2 修改:wip_job_details.WIP_CHANGEl默認值為3*/ l_CompRec.Substitution_Type := wip_job_details.wip_add; Insert Into WIP.WIP_JOB_DTLS_INTERFACE Values l_CompRec; --*****End 任務單組件*****--- --*****Start 任務單工序****-- --工序 WIP_OPERATIONS.Operation_Seq_Num l_OpRec.Operation_Seq_Num := l_CompRec.OPERATION_SEQ_NUM; --部門 WIP_OPERATIONS.Department_Id l_OpRec.Department_Id := l_CompRec.Department_Id; l_OpRec.Load_Type := 3; --供應商類型 l_OpRec.Wip_Supply_Type := l_CompRec.Wip_Supply_Type; l_OpRec.Parent_Header_Id := l_iface_rec.Header_Id; l_OpRec.Description := '測試工序'; --準標工序標識 WIP_OPERATIONS.Standard_Operation_Id l_OpRec.Standard_Operation_Id := 6; --日期 第一個裝配件起始日期 WIP_OPERATIONS.FIRST_UNIT_START_DATE l_OpRec.First_Unit_Start_Date := Sysdate; --日期 第一個裝配件完成日期 WIP_OPERATIONS.First_Unit_Completion_Date l_OpRec.First_Unit_Completion_Date := Sysdate; --日期 最后一個裝配件起始日期 WIP_OPERATIONS.Last_Unit_Start_Date l_OpRec.Last_Unit_Start_Date := Sysdate; --日期 最后一個裝配件起始日期 WIP_OPERATIONS.Last_Unit_Completion_Date l_OpRec.Last_Unit_Completion_Date := Sysdate; --主要 最小傳送量 WIP_OPERATIONS.MINIMUM_TRANSFER_QUANTITY l_OpRec.Minimum_Transfer_Quantity := 0; --主要 倒沖 WIP_OPERATIONS.Backflush_Flag l_OpRec.Backflush_Flag := 1; --主要 計數點 WIP_OPERATIONS.Count_Point_Type l_OpRec.Count_Point_Type := 1; l_OpRec.Last_Update_Date := Sysdate; l_OpRec.Last_Updated_By := l_UserId; l_OpRec.Creation_Date := Sysdate; l_OpRec.Created_By := l_UserId; l_OpRec.Last_Update_Login := fnd_profile.value('LOGIN_ID'); l_OpRec.Process_Phase := 2; --默認值 l_OpRec.Process_Status := 1; --默認值 l_OpRec.Group_Id := l_GroupId; /* 刪除:wip_job_details.WIP_DELETE默認為1 新增:wip_job_details.wip_add默認值為2 修改:wip_job_details.WIP_CHANGEl默認值為3*/ l_OpRec.Substitution_Type := wip_job_details.wip_add; Insert Into WIP.WIP_JOB_DTLS_INTERFACE Values l_OpRec; --*****End 任務單工序****-- --*****Start 任務單資源***--- --可以添加、刪除或修改多個資源 --工序 WIP_OPERATION_RESOURCES.Operation_Seq_Num l_ResRec.OPERATION_SEQ_NUM := l_CompRec.OPERATION_SEQ_NUM; --資源序號 WIP_OPERATION_RESOURCES.RESOURCE_SEQ_NUM l_ResRec.RESOURCE_SEQ_NUM := 10; --新資源標識 新增時必輸項 l_ResRec.RESOURCE_ID_NEW := 501899; --主要 單位用量或數量值 WIP_OPERATION_RESOURCES.Usage_Rate_Or_Amount l_ResRec.USAGE_RATE_OR_AMOUNT := .86; --計劃 已計劃 默認值為2(否) WIP_OPERATION_RESOURCES.Scheduled_Flag l_ResRec.SCHEDULED_FLAG := 2; --計劃 分配數量 默認值為1 WIP_OPERATION_RESOURCES.Assigned_Units l_ResRec.ASSIGNED_UNITS := 1; l_ResRec.APPLIED_RESOURCE_UNITS := Null; l_ResRec.APPLIED_RESOURCE_VALUE := Null; --主要 單位 WIP_OPERATION_RESOURCES.UOM_CODE l_ResRec.UOM_CODE := 'CNY'; --主要 基準 默認值1(物料) WIP_OPERATION_RESOURCES.BASIS_TYPE l_ResRec.BASIS_TYPE := 1; --成本計算 活動標識 WIP_OPERATION_RESOURCES.ACTIVITY_ID l_ResRec.ACTIVITY_ID := Null; --成本計算 計費類型 WIP_OPERATION_RESOURCES.AUTOCHARGE_TYPE l_ResRec.AUTOCHARGE_TYPE := 1; --成本計算 標準費率 默認值為2 l_ResRec.STANDARD_RATE_FLAG := 2; --計劃 起始日期 WIP_OPERATION_RESOURCES.START_DATE l_ResRec.START_DATE := Sysdate; --計劃 完成日期 WIP_OPERATION_RESOURCES.COMPLETION_DATE l_ResRec.COMPLETION_DATE := Sysdate; --計劃 替代組 WIP_OPERATION_RESOURCES.SUBSTITUTE_GROUP_NUM l_ResRec.SUBSTITUTE_GROUP_NUM := Null; --計劃 替換組 WIP_JOB_DTLS_INTERFACE.REPLACEMENT_GROUP_NUM l_ResRec.REPLACEMENT_GROUP_NUM := Null; --計劃 批WIP_JOB_DTLS_INTERFACE.BATCH_ID --計劃 計劃序號 WIP_JOB_DTLS_INTERFACE.SCHEDULE_SEQ_NUM l_ResRec.SCHEDULE_SEQ_NUM := Null; l_ResRec.BATCH_ID := Null; l_ResRec.LOAD_TYPE := 1; --默認值 l_ResRec.PARENT_HEADER_ID := l_iface_rec.Header_Id; l_ResRec.DESCRIPTION := Null; l_ResRec.LAST_UPDATE_DATE := Sysdate; l_ResRec.LAST_UPDATED_BY := l_UserId; l_ResRec.CREATION_DATE := Sysdate; l_ResRec.CREATED_BY := l_UserId; l_ResRec.LAST_UPDATE_LOGIN := fnd_profile.value('LOGIN_ID'); l_ResRec.Process_Phase := 2; --默認值 l_ResRec.Process_Status := 1; --默認值 l_ResRec.Group_Id := l_GroupId; /* 刪除:wip_job_details.WIP_DELETE默認為1 新增:wip_job_details.wip_add默認值為2 修改:wip_job_details.WIP_CHANGEl默認值為3*/ l_ResRec.Substitution_Type := wip_job_details.wip_add; Insert Into WIP.WIP_JOB_DTLS_INTERFACE. Values l_ResRec; --*****End 任務單工序***--- --API接口 wip_massload_pub.massloadjobs(p_groupid => l_iface_rec.group_id, -- Group ID p_validationlevel => 2, -- Validation Level p_commitflag => 0, -- Commit 1 =Yes , 0 ='No' x_returnstatus => x_error_status, x_errormsg => x_error_message);End;
3.或者用SQL提交“WIP 成批裝入”請求創建任務單
Declare l_GroupId Number := 123456; v_ReqID Number; l_phase Varchar(200); l_status Varchar(200); l_dev_phase Varchar(200); l_dev_status Varchar(200); l_message Varchar(2000); l_request_status boolean; l_UserId Number := 0;Begin fnd_global.apps_initialize(user_id => l_UserId, resp_id => 50276, resp_appl_id => 706, security_group_id => 0); v_ReqID := fnd_request.submit_request(application => 'WIP', program => 'WICMLP', description => '', start_time => '', sub_request => FALSE, argument1 => to_char(l_GroupId), --組標識 argument2 => '0', --驗證類型 argument3 => '1', --報表是否打印,1:YES,2.NO argument4 => CHR(0)); If (v_ReqID > 0) Then l_request_status := Fnd_Concurrent.Wait_For_Request(v_ReqID, 5, 0, l_phase, l_status, l_dev_phase, l_dev_status, l_message); IF l_request_status THEN IF l_dev_status = 'NORMAL' Or l_dev_status = 'WARNING' THEN dbms_output.put_line('[WIP 成批裝入]運行成功'); ELSE dbms_output.put_line('[WIP 成批裝入]運行失敗:' || l_dev_status); END IF; ELSE dbms_output.put_line('請求未完成,無法查看報表內容!'); END IF; End If;End;
到此,關于“Oracle中怎么創建WIP任務單”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。