千家信息网

Oracle中怎么创建WIP任务单

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍"Oracle中怎么创建WIP任务单",在日常操作中,相信很多人在Oracle中怎么创建WIP任务单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Ora
千家信息网最后更新 2024年11月17日Oracle中怎么创建WIP任务单

这篇文章主要介绍"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任务单"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0